Computer Algebra, Syllabus, Fall 2006.
Location: 104 LOV.
Time: Monday, Wednesday, Friday 10:10 - 11:00
Instructor: Dr. Mark van Hoeij
What this course is about:
At first sight you might be inclined to believe that algebra
courses with topics like ideals, finite fields, or the Chinese remainder
theorem are far away from any practical application.
But this is not the case: There are algorithms to compute with almost everything you learn in
algebra courses, and these algorithms have many applications.
For example, finding exact solutions of differential equations, or finding an antiderivative
of a function, such algorithms
use the algebraic algorithms from this course in many places.
The topics covered in this course are:
- 1. Introduction to Maple.
- 2. Modular Euclidean algorithm.
- 3. Computing with algebraic numbers.
- 4. Lattice reduction and applications.
- 5. Factorization of polynomials.
Computer algebra is useful for applications, but at the same time it is also
a great way to learn pure math: concepts from pure math become clearer and much
easier to understand once you know how to compute with them.
Two courses computer algebra:
There are two courses computer algebra. The course taught this semester
treats the topics listed above. Some of the previous courses
fall 2000,
fall 2001, spring2002,
treated the integration
algorithm (finding a formula for the antiderivative in terms of elementary
functions whenever it exists).
Implementations:
No prior programming experience is required for this course. We will spend
the first two weeks on learning how to use Maple and how to implement
algorithms in Maple. Most assignments in this course consist of implementing.
This way the algorithms are learned from mathematical concepts all the way
down to an implementation.
You may be surprised to find that the distance between the two is often small,
because the Maple language is quite close to mathematical language.
In fact, programming in Maple much easier than programming in
most other languages: algorithms implemented in Maple are only a fraction of the size
of the same algorithm implemented in C, Java or Pascal.
Help with assignments:
If you need help with an assignment you can come to my office any time (also outside
of office hours). For most assignments I will be generous with help. The reason is the following:
finding the errors (the bugs) is difficult when you start programming.
But once you learn the tricks of the trade you will notice that
it becomes much easier. To help with this, you are welcome in my office any time.
Grading:
There will be three tests during the semester, and one
final test.
Each of these four tests will account for 20% of the grade. The remaining 20% will be
determined by the turn in assignments.
For one or two of these tests, you will be given the option to do an assignment instead
of a test.
Course goals:
The ideas behind the algorithms taught in this course can be used in many
mathematical computations.
To show that you understand these ideas in sufficient detail, you have to
be able to use them on the computer;
you should be able implement short algorithms on your own,
and larger algorithms as group work.
Textbook: A textbook is not needed for this course, the necessary material will
be posted online. However, if you still want a book, then I recommend:
Modern
Computer Algebra.
Software: The course documents are interactive Maple documents which you can download
through the web. These documents can be viewed or printed with Maple.
FSU has a campus wide license for Maple, so you should be
able to use Maple on most FSU computers. If you want to work at home, then you can buy a
copy of Maple from the bookstore, which includes a CD-ROM as well as a book.
Prerequisites: The graduate algebra courses or the consent of the
instructor. If you are not sure, please contact me by e-mail.
honor code:
A copy of the University Academic Honor Code can be found in the current Student Handbook. You are bound by this in all of your
academic work. It is based on the premise that each student has the responsibility 1) to uphold the highest standards of academic
integrity in the student's own work, 2) to refuse to tolerate violations of academic integrity in the University community, and 3)
to foster a
high sense of integrity and social responsibility on the part of the University community. You have successfully completed many
mathematics courses and know that on a "test" you may not give or receive any help from a person or written material except as
specifically designed acceptable. Out of class you are encouraged to work together on assignments but plagiarizing of the work of others
or study manuals is academically dishonest.
ADA:
Students with disabilities needing academic accommodations should: 1) register with and provide documentation to the Student Disability
Resource Center (SDRC); 2) bring a letter to the instructor from SDRC indicating you need academic accommodations. This should be
done within the first week of class. This and other class materials are available in alternative format upon request.