MA-522 Computer Algebra
Fall 2021
Online on Zoom live or in Dabney 331, Tue&Thur 11:45am-1:00pm

Current Announcements

  • NEW Subjects of presentations:
    – Polynomial summation, GG §23.1, Shane N.
    – FFT, GG §8.2, Alex H.
    – Continued fractions and musical scales, GG §4.6 and 4.8, Yiling W.
    – Newton iteration, GG §9.1, 9.2 and 9.3, Zack B.
    – Primality testing, GG §18.1-18.4., John G.
    Perfect Hashing and bitcoin mining, Abraham K.
  • I will deliver the lectures live from home using the Zoom client (click Download client at bottom of page) on your device (cell phone, laptop, computer).
  • In addition, I will record the lectures and post links to the recordings on Moodle. Once you are logged in to see your courses, click on the orange "m" to go to the Moodle boiler plate. (Clicking on the title takes you to this page).
  • Individually, you can email me. Submission of your written assignments is by moodle. If you hand-write your homeworks, you can upload cell phone photos of your pages.
  • The lectures will start on August 17, 11:45am. I will email a Zoom ID to you at the beginning of the lecture, so that you can join the live meeting via this ID. I will also post the ID in the Moodle Lecture 1 title. The website<ID> where <ID> is the ID may work.
  • My virtual office hours, to be held via Zoom, are listed on my schedule.
  • There are no examinations, and the homeworks, end-of-semester presentation, term paper or Maple project substituting for term paper are the sole parameter used to determine the course grade.
  • The course web sites for Fall 2018, Fall 2016, Fall 2012, Fall 2009.
Old Announcements see below.

Peoples' home pages: Erich Kaltofen,

Maple programs for the course.


  • Homework 1 due Sep 7, 11:55pm, on moodle or by email.
  • Homework 2 due Sep 21, 11:59pm, on moodle or by email.
  • Homework 3 due Sep 28, 11:59pm, on moodle or by email.
  • Homework 4 due Oct 21, 11:59pm, on moodle or by email.
  • Homework 5 due Nov 11, 11:59pm, on moodle or by email.
  • Homework 6 due Nov 23, 11:59pm, on moodle or by email.


Computer Help Resources


Course Outline*

Lecture Topic(s) Notes Book(s)
1. Aug 17 Administrative meeting. Algorithm Defined. Undecidability of the Halting Problem.

Robert McNaughton, Elementary Computability, Formal Languages, and Automata, Section 1.1.
2. Aug 19 First algorithms: Karatsuba's Algorithm; big-Oh notation

GG §4.3, GG §20
3. Aug 24 Algebraic Random Access Machine (RAM) model of computation; analysis of Karatsuba's Algorithm; bit complexity
Ka88_jacm.pdf, Section 2.
GG §4.3, GG §20
4. Aug 26 Repeated squaring, RSA
GG §2; §3; §5.4
5. Aug 31 Extended Euclidean algorithm; Hermite elimination
hermite.mws, lagrange.mws
GG §3.3; §4.5; §5.2
6. Sep 2 Analysis of Euclid; Chinese remaindering

Mon, Sep 6 Labor Day, no class
7. Sep 7 Newton and Lagrange interpolation; Reed-Solomon code and decoding
ISSAC 21 talk, welch_berlekamp.mws
GG §5.10, §5.11
8. Sep 9 use of interpolation/CRA; rational number recovery; continued fraction approximations of a rational number
[Kaltofen and Rolletschek 1989, Theorem 5.1], KR_ratrec.mpl, KR_ratrec.mws, cont_frac.pdf, cont_frac.mws

9. Sep 14 Reed-Solomon decoding by rational function recovery
BW_rat_fun.mws, notes.pdf
GG §5.8
10. Sep 16 Pollard rho; birthday paradox
Pollard rho code: new_pollard_rho.mpl, new_pollard_rho.mws, new_pollard_rho.pdf
GG §19.4
11. Sep 21 Primitive elements modulo p; computing discrete logs via Shanks's baby-steps/giant steps method and Pollard rho
Discrete log Pollard rho code: new_discrete_log.mpl
Teske's paper
12. Sep 23 Diffie/Hellman/Merkle key exchange; el Gamal crypto system

GG §20.3, 20.4
13. Sep 28 Distribution of primes
[Kaltofen and Villard 2004, Lemma 4.3, p. 112]
14. Sep 30 Randomized PIT (polynomial identity testing): Freivald's matrix product test, Jack Edmond's singularity test of a matrix with linear forms as entries; DeMillo-Lipton/Schwartz/Zippel Lemma

GG §6.9
Mon-Tue, Oct 4-5 Fall Break, no class
15. Oct 7 Definition of intergral domain, field of quotients; prime and irreducible elements; GCDs and LCMs; UFDs

GG §25.2, §25.3
16. Oct 12 Euclidean algorithm for polynomials over a field; Sylvester resultants
sylvester.mws, sylvester.txt.
Wed, Oct 13, 23h59 Last day to drop the course
17. Oct 14 Sylvester Resultants in roots; The fundamental theorem on symmetric functions., sylvester.pdf.

18. Oct 19 Fraction-free Gaussian elimination; Fundamental Theorem of Subresultants, sylvester.pdf.
GG §6.10 and §11.2
19. Oct 21 Algebraic extension fields; construction of a splitting field., small_tower_of_fields.pdf

20. Oct 26 Isomorphism of splitting fields; Galois group; separable and inseparable extensions, small_tower_of_fields.pdf

21. Oct 28 Norms and traces; the ring of algebraic integers, small_tower_of_fields.pdf,, tower_of_fields.pdf.

22. Nov 2 Cyclotomic extensions; the infrastructure of finite fields, finite_fields_as_splitting_fields.pdf.

23. Nov 4 Factoring polynomials over finite fields: the distinct degree and Cantor-Zassenhaus algorithm

GG §14
Fri, Nov 5 Topic for class presentation must be declared at 17h
24. Nov 9 Factoring polynomials over finite fields cont.: the Berlekamp polynomial factoring algorithm; Camion's large primes method
GG §14.8
Wed Nov 10 Approvals of topics for term papers by me are posted
25. Nov 11 Polynomial ideals; Hilbert Nullstellensatz

GG §21.1
26. Nov 16 Algebraic closure of the rational numbers; Effective Hilbert Nullstellensatz; properties of Gröbner Bases

27. Nov 18 Proof of Hilbert Basis Theorem; definition of Gröbner Basis via leading term ideals; Buchberger's Algorithm, groebner.pdf
GG §21.5
28. Nov 23 Critical pair/completion paradigm: GCD-free basis construction
[Kaltofen 85, Section 3]

Wednesday-Friday, Nov 24-26 🦃 Thanksgiving, no class
Thur., Dec 2, noon-3:30pm Presentations
Friday, December 10, 11:59am Fall grades due
* This is a previous list and may be re-arrangend; new topics and replace listed ones by request.

Textbook and Notes

I will be closely following whose sections are marked in the above syllabus by GG.

On-line information: All information on courses that I teach (except individual grades) is now accessible via html browsers, which includes this syllabus. Click on my courses' page of my resume. You can also find information on courses that I have taught in the past.

Grading and General Information

Grading will be done with plus/minus refinement.

There will be six homework assignments of approximately equal weight and a choice of a Maple programming project or a term paper. At the end of the course, each student will give a 30 minute presentation on material from the book not covered by me. A choice of topics will be provided by me. Class attendance will not be monitored in any way. If you need assistance in any way, please let me know (see also the University's policy).

Academic Standards

Late submissions: All homeworks and projects must be submitted on time. The following penalties are given for (unexcused) late submissions:

If you need assistance in any way, please let me know (see also the University's policy).

Old Announcements

©2009, 2012, 2016, 2018, 2021 Erich Kaltofen. Permission to use provided that copyright notice is not removed.