CM30070 - Computer Algebra

Lectures and classes are Tuesday 09.15 (3W 3.7), Wednesday 09.15 (1WN 3.23) and Friday 10:15 (1E 3.9, computer lab., in weeks 1-3, then 8W2.28). After the first three weeks, I will probably try to use the Friday morning slot as a problem class.

Coursework forms 25% of the course marks. This will be distributed on Friday 12th October 2012: due on Monday 12 November (questions 1-2) and Monday 3 December (3-4).
The coursework is to be done in Maple 16. This is available on the BUCS Windows terminal servers known as `UniDesk'. Note that the default Maple on the 'lcpu' machines is Maple 13, but Maple 16 can be accessed via 'maple16' or 'xmaple16'. I have had trouble with xmaple16 via Xming from Windows machines, but it seems to work fine from the Sunray thin client machines. Probably the best Maple book is Essential Maple 7, by Robert M. Corless (in the library short loan), but most Maple books will do as long as they cover version 6 or later. There are two user interfaces to Maple: `classic worksheet' and `standard'. See Wikipedia for comments. Further advice on Maple can be obtained from myself.

The 2003 exam paper and solutions can be found here, and the 2004 paper here, with solutions. The 2005 paper seems to have gone missing, and in 2006 there was a strike. The 2008, 2009, 2010 and 2011 papers from the Library web site. There was no 2007 paper. Note, however, that there is no guarantee that precisely the same topics are covered each year. The 2007/8 paper with answers can be found here. The answers to the 2008/9 paper can be found here. The 2009/10 paper can be found here, and with answers. The 2010/11 paper with answers and comments is also available: note that question 4 was not covered in 2011-12. 2011/12 paper with answers and comments is also available: note that questions 3(c) and 4 were not covered in 2012-13.

The main text book is Computer Algebra by Davenport, Siret and Tournier (Addison-Wesley). This is unfortunately out of print, but an online version can be found in PostScript and PDF. Like most academics, I am not satisfied with the book, and am writing a better one. The state so far can be found in PDF: it may change, but I will try to announce this, and note changes in the preface.

Each year I cover different material, and 2012/3 may well be different again. In 2010/11 I covered chapters 2 (2.1 to 2.3 in detail, 2.4 sketchily) and 3.1 (but only up to 3.1.6), 3.2 and 3.3 (up to 3.3.8) of the new book. In chapter 4 we covered modular g.c.d. (only the uni/bivariate cases in any detail), the Cantor-Zassenhaus algorithm for factoring polynmials mod p, and the problems faced in scaling this up to factoring over the integers (sections 4.2.4/5/8). I also intend to cover section 4.1.4. In 2010/1 we did not do integration (chapter 5). 2011/2's coverage can be found here. 2012/3's coverage to date can be found here.

Other books that you might want to read/consult are:
"Modern Computer Algebra" by von zur Gathen and Gerhard.
"Algorithms for Computer Algebra" by Geddes, Czapor and Labahn.
"Computer Algebra and Symbolic Computation: Elementary Algorithms" by Joel S. Cohen.
"Computer Algebra Handbook: Foundations, Applications, Systems." ed. Grabmeier, Kaltofen and Weispfenning.
"The Art of Computer Programming, Volume 2 (chapter 4)" by Knuth (for the material on arithmetic and complexity).