# Applied Symbolic Computation (CS 567)

Announcments  Lectures  Programs  Course Resources   Assignments and Solutions  Grading Policy
Course Description
For users of symbolic computation (maple, mathematica, derive, macsyma) who wish to gain an understanding of fundamental symbolic mathematical methods. Includes introduction to a symbolic mathematical computation systems and application to problems from mathematics, science and engineering. Also included programming and problems specific to symbolic computation.
Course Goals
To provide students with the skills, judgement, and spirit necessary to effectively use a symbolic mathematics system such as Maple. To learn the features and limitations of Maple and related systems. To see how Maple can be used to solve a wide range of computational and mathematical problems. To see how computational tools can be applied to various application domains such as cryptography, signal processing, robotics, algorithm design and analysis, code generation, algebra and number theory, and scientific computing.

This particular version of the course will focus on exact integer and polynomial arithmetic and the exact solution of systems of linear and polynomial equations.

Course Objectives
• To be able to use Maple (or similar system) to solve computational and mathematical problems.
• To use Maple to explore a mathematical theorem, example, or concept or other scientific or engineering problems.
• To be able to derive, implement, analyze, and apply algorithms for exact arithmetic.
• To be able to determine when the use of exact computation is appropriate.
• To use, derive, and analyze some fundamental algebraic computations and algorithms (e.g. Euclidean algorithm, modular arithmetic and the Chinese Remainder theorem, fast Fourier transform, Groebner bases).
Audience
Graduate computer science, mathematics, engineering, and science students interested in learning about and applying computer algebra systems, such as MAPLE, to various application areas. The course is appropriate for students interested in scientific programming and an introduction to the algorithms underlying systems like MAPLE.
Prerequisites
Graduate standing in related field and undergraduate course in data structures and algorithms, calculus, linear algebra, and discrete mathematics.
Instructor
Jeremy Johnson
Office: 100 University Crossings
phone: (215) 895-2669
e-mail: jjohnson@cs.drexel.edu
office hours: TR 10-11, (online office TAB). Additional hours by appointment.
Meeting Time
There will be online lectures (initially [Sept. 22] on Wed from 7-9).
Course Announcements and Discussion
BbVista
Textbook

Students must download and install Maple version 14, which is available from Drexel's site license through IRT. Lecture notes will be provided as Maple worksheets that can not be read without Maple. Additional resources are listed below.
1. Maplesoft
3. Maplesoft Student Help Center
4. Maplesoft Application Center
5. Maple 14 Quick Reference
6. Maple 14 User Manual
7. Maple 14 Introductory Programming Guide
8. Maple 14 Advanced Programming Guide
9. The text will be supplemented by several journal articles and readings from texts available in the library.

### Topics

1. Introduction to symbolic mathematics systems in general and Maple in particular.
2. Scientific programming in Maple.
3. Integer and polynomial arithmetic.
4. Exact linear algebra.
5. Solution of systems of polynomial equations (introduction to Groebner Bases).
6. Applications to (cryptography, DSP - digital signal processing, robotics)
7. Code generation (e.g. DSP algorithms, automatic differentiation)

1. Homework assignments (60% - 3 X 20%)
2. Online Quizes (40%)
Assignments and exams will be returned on a regular basis to provide feedback to students. All students must do their own work. Any violation of this will result in a zero grade for the assignment. A second violation may lead to an F for the course.

### Resources

Reference Books
1. Maple Introductory Programming Guide.
3. Cox, D., Little, J., and O'Shea, D. Ideals, Varieties, and Algorithms, Second Edition. Springer-Verlag, 1997.
Web Pages
1. TBA.

### Lectures

This list is subject to change.
1. The Euclidean Algorithm
2. Karatsuba's Algorithm for Integer Multiplication
3. Modular Arithmetic
4. Continued Fractions and the Euclidean Algorithm
5. Fast Fourier Transform and FFT Based Polynomial and Integer Arithmetic
6. Newton's Method and Fast Division
7. Applications to cryptography.
8. Exact linear algebra and applications.
9. Wiedmann's algorithm.
10. Polynomial system solving and applications.
11. Grobner bases and linear algebra.
12. Numeric/symbolic algorithms for polynomial systems.

• TBA.

• TBA.

### Solutions

• TBA.

Created: 9/5/10 (revised ) by jjohnson AT cs DOT drexel DOT edu