Computer Algebra (Ma 810a - Cs 810a)

Tuesdays and Thursdays from 05:00PM to 06:15PM



Course Description:


Pre-requisites:


Textbooks:


Instructors:


Grading:


Policies:


Syllabus (prelimenary):

  1. Introduction. Basics of algorithm analysis and complexity theory
    (definition of an algorithm, O(.) notation, polynomial and exponential time complexity)
  2. Representation and addition of numbers and polynomials.
  3. Multiplication, division with reminder.
  4. Euclidean algorithm. The Extended Euclidean algorithm
  5. Modular arithmetic. Repeated squaring.
  6. Linear diophantine equations
  7. Change of representation. Chinese Remainder Algorithm.
  8. Fast Fourier Transform. Fast multiplication.
  9. Newton iteration.
  10. Solving polynomial equations using Newton iteration.
  11. Fast polynomial evaluation and interpolation (maybe omit this one)
  12. Fast Matrix multiplication (maybe omit this one)
  13. Algorithms for polynomial factorization, root finding.
  14. LLL basis reduction algorithm for lattices
  15. Factoring polynomials using using basis reduction
  16. Cryptanalysis of knapsack-type cryptosystems.
  17. Primality testing.
  18. Finding primes.
  19. Integer factorization. Trial division.
  20. Integer factorization algorithms.
  21. Public key cryptography. RSA, Diffie-Hellman key exchange.
  22. Polynomial ideals.
  23. Gröbner bases and S-polynomials
  24. Buchberger's algorithm (not sure if this can be done)
  25. Multivariate cryptography.




Last updated on April 2, 2008.