Computer Algebra Lecture Log (20182019)
This contains a brief report of each of the lectures that have taken
place. It will be updated soon after each lecture.
Note: Last year's entries are left here so that you can see
what will be covered and when (though there will be minor
differences). As each entry is updated the correct date will be shown
against it and the horizontal rule will be below the latest updated
entry.

Lecture 1 (14/01/2019).
 Handouts: Lecture notes pp. 142. Exercises 1.
 Topics covered: Introduction to the course. Reasons
for creating computer algebra systems and need for sound
foundations. Illustrative examples and features of systems.
Brief forward look at Exercises 2 (finding the common points of
two algebraic curves) as a motivating example.
 Notes: pp. 111 for home study (some of the material
on Axiom is helpful for Exercises 1).

Lecture 2 (17/01/2019).
 Handouts:
None.
 Topics covered: Rings, conventions and simple
properties. Commutative rings, multiplicative identities,
inverses. Various short proofs given, e.g., uniqueness of 0
in a ring, uniqueness of additive inverses, uniqueness of
multiplicative identity and inverses (when they exist,
exercise). Looked at the integers modulo 6 and the fact that
two nonzero elements can give zero when multiplied. Fields,
proof that in a field multiplying nonzero elements yields a
nonzero result.
 Suggested exercise:
4.2.
 Notes:
pp. 1215.

Lecture 3 (21/01/2019).
 Handouts:
None.
 Topics covered: Discussion of suggested exercise
from previous lecture. Integral domains and (briefly)
unique factorisation domains. Greatest common divisors.
Canonical and normal representations. Integers. Karatsuba's
algorithm (quick description, details in the notes).
 Notes:
pp. 1619.

Lecture 4 (24/01/2019).
 Handouts:
None.
 Topics covered: Rationals. Sensible approach to
arithmetic on rationals. Euclid's algorithm for the integers.
Extended version of Euclid's Algorithm, application: proof
that Z_n is a field if and only if n is a prime. Polynomial
rings in one indeterminate and in several
indeterminates. Conventions and definitions: degree
etc. Difference between polynomials and polynomial functions;
significance of this for algorithmic work.
 Suggested exercises:
4.5, 5.8.
 Notes:
pp. 1923, 2629, 3132 (omit sections 4.6.2, 4.7.2,).

Lecture 5 (28/01/2019).
 Handouts:
None.
 Topics covered: Discussion of suggested exercises.
Factorisation and gcd's, fact that a polynomial ring over a
UFD is itself a UFD. Defining the gcd of polynomials by means
of common divisors of highest degree. Relevance of degree for
gcds of univariate polynomials with coefficients from a field
as opposed to a UFD such as the integers. Euclid's algorithm
for univariate polynomials, Division with remainder of
univariate polynomials (exercise). Uniqueness of quotient and
remainder in polynomial division (exercise). Discussion of
efficiency issues for Euclid's algorithm when rational
coefficients are involved.
 Suggested exercise:
Prove that quotient and remainder are
unique for polynomial division.
 Notes:
pp. 3337. Omit section 4.7.4.

Lecture 6 (31/01/2019).
 Handouts:
None.
 Topics covered: Discussion of suggested
exercise. Extended Euclidean algorithm for polynomials.
Rational expressions, discussion of subtleties relating to
defining binary operations. Representations of polynomials.
Representation of rational expressions using sums and
products. Intermediate expressions swell and implications for
CA systems when dividing (detecting division by 0). Computing
gcds for univariate polynomials with integer
coeficients. Gauss' Lemma and its application to the
problem.
 Suggested exercise: Prove that the a monic gcd of
univariate polynomials with coefficients form a field is unique.
 Notes:
pp. 3743. Omit Section 4.7.7

Lecture 7 (04/02/2019).
 Handouts:
Exercises 2. Notes pp. 4357.
 Topics covered: Discussion of suggested exercise.
Notion of doing things modulo a prime. Discussion
on how to generalise the modular method, problems to address.
Started detailed example of a gcd calculation for two
primitive polynomials with integer coefficients.
 Suggested exercises: Let f, g be polynomials in x
with integer coefficients. Let h be their gcd in Z[x].
Prove that h is also a gcd of f, g in Q[x].
 Notes:
pp. 4345.

Lecture 8 (07/02/2019).
 Handouts:
None.
 Topics covered: Discussion of suggested exercises.
 Notes: Completed detailed example of a gcd
calculation for two primitive polynomials with integer
coefficients. Discussed various issues raised and their
significance (e.g., that it would be nonsense to try to compute
a gcd in Z_35[x]). The Chinese remainder Theorem and its use
for recovering integer coefficients in polynomial gcd
calculations. Symmetric representation of remainders. Bounds
on the coefficients of gcd's (outline of result only, no
proof).
 Suggested exercises:
Prove that if m1, m2 and m3 are coprime then m1m2 and m3 are coprime.
Prove the claims of Theorem 5.3.
 Notes:
pp. 4549.

Lecture 9 (11/02/2019).
 Handouts:
None.
 Topics covered: Discussion of suggested
exercises. Choosing good primes; the resultant. Properties of
the resultant; finiteness of number of bad primes. Full
modular gcd algorithm with comments on implementation
heuristics. Final example.
 Notes: pp. 5055. Section 5.3 need not be studied
only the fact that bounds can be found needs to be known.

Lecture 10 (14/02/2019).
 Handouts:
Lecture notes pp. 5889.
 Topics covered: Introduction to varieties and
ideals. Examples of ideals and connection with equations.
Hilbert's Basis Theorem and its significance. Discussion of
ideals and their properties. Going from ideals to varieties
and vice versa. Algebraically closed fields. Hilbert's
Nullstellensatz.
 Suggested exercises: Prove various simple properties
of ideals. Prove that I(V) is an ideal for any set V. Prove
that every algebraically closed field is infinite.
 Notes:
pp. 5863. Proof of HBT is optional.

Lecture 11 (25/02/2019).
 Handouts:
None.
 Topics covered: Discussion of various forms of
Hilbert's Nullstellensatz. Polynomial Ideal Membership
problem. Discussion of how one might solve the Polynomial
Ideal Membership problem: notion of reduction sequences and
the restricted version (also viewed as a form of
division). Discussion of restricted reduction algorithm and
example to show that it is not guaranteed to work. Discussion
of what goes wrong with restricted reductions approach and how
to mend it leading to the definition of Groebner bases for a
nonzero ideal.
 Suggested exercise: Let F be a set of polynomials
and f, g be two polynomials such that f reduces to g w.r.t. F.
Prove that f is in the ideal (F) if and only if g is in the
ideal (F).
 Notes:
pp. 6366.

Lecture 12 (28/02/2019).
 Handouts:
None.
 Topics covered: Discussion of suggested exercises.
Sketch proof of the existence of Groebner bases. Discussion
of how to design an algorithm to compute Groebner bases, notion
of Spolynomial. Formal definition and characterisation of Groebner
bases, admissible orders. Proof that an admissible order cannot have
infinitely decreasing sequences.
 Suggested exercise: Let S be a set of power products
in k[X] and I=(S). Prove that (i) a power product u is in I
if and only if it is divisible by some s from S. (ii) a polynomial
f=c_1s_1+..+c_rs_r where each c_i is a nonzero constant and each s_i
is a power product, belongs to I if and only if each power product belongs to I.
 Notes:
pp. 6670.

Lecture 13 (04/03/2019).
 Handouts:
Exercises 3.
 Topics covered:
Discussion of suggested exercise. Proof that reductions always terminate.
Proof that a set of monomialsis automatically a Groebner basis for the ideal
it generates. Algorithm for Groebner bases, example. Proof that Groebner
basis algorithm terminates. Notions of minimal, reduced and normed bases,
proof of their uniqueness.
 Notes: pp. 7076. (Omit Lemmas 6.4, 6.5, Theorem
6.4.) (Lemma 6.3 and Theorem 6.3 state things that were
covered during the development part).

Lecture 14 (07/03/2019).
 Handouts:
None.
 Topics covered: Applications of
Groebner bases, ideal membership, solution of equations. Deciding if a
system has finitely many solutions; diagonalisation of systems of equations.
Proof of diagonalisation theorem for Groebner bases. Brief (nonexaminable)
discussion of worst case cost of computing Groebner bases (no proofs), setting
it in context for applications.
 Notes:
pp. 7678,

Lecture 15 (11/03/2019).
 Handouts:
Lecture notes pp. 90121.
 Topics covered: Real roots of univariate
polynomials. Notions of isolation and approximation. Importance of square free
polynomials in detecting roots. Computing square free parts of polynomials. Simple
approximation algorithm (given an isolating interval). Isolation algorithm, given a
means of counting roots. Bounds on the roots of a polynomial.
 Notes:
pp. 9095.

Lecture 16 (14/03/2019).
 Handouts:
None.
 Topics covered: Variations of sequences leading to Sturm's method for counting
roots. Sturm sequences and simple properties.Proof of correcness of Sturm's
method. Simple examples. Examples. Method of counting all the real
roots without using bounding intervals. Brief discussion of
efficiency problems with Sturm sequences.
 Notes:
pp. 98100.

Lecture 17 (18/03/2019).
 Handouts:
Guide to revision (on web page).
 Topics covered:
Method by continued fractions. Outline of method using an example.
Completed outline of real root
isolation by continued fractions (nonexaminable). Moebius
transforms. Theorem of Vincent. Proof that every polynomial
whose coefficients have exactly one sign variation has
exactly one strictly positive real root. Experimental results and
some result results on the breadth of the associated tree.
 Notes:
pp. 102108 (all nonexaminable)

Lecture 18 (22/03/2019).
 Handouts:
Guide to revision.
 Topics covered:
Discussed the course aims and objectives, approach to revision and exam.
Question and answer session.
 Notes:
None.
Kyriakos Kalorkoti, IF5.26a