Next: A review of complexity notions
Up: A Second Session
Previous: Algebraic systems
- OBSERVATIONS.
- Computer algebra algorithms perform symbolic computations:
numbers are manipulated by using their mathematical definitions.
- Hence results are exact and complete.
- However they can be huge!
- Moreover intermediate expressions may be much bigger
than the input and output.
- OBJECTIVES.
- Our main interest will be here to study the implementation of algorithms
- that keep the swell of the intermediate expressions under control
- and offer optimal time complexity.
- Sine this is obviously a vast subject we will focus on
univariate polynomials, bivariate polynomials and matrix operations.
- But in fact these algorithms benefit to many other
Computer algebra algorithms.
- TYPICAL (TRIVIAL) EXAMPLE.
- Let p(x) and q(x) be two univariate polynomials
over the integer numbers and with degrees n and m
respectively such that n < m.
- Suppose we want to decide whether
p(x) divides q(x).
- One can show that the division with remainder of q(x) by
p(x) requires at most
(2m + 1)(n - m + 1)
operations in the coefficient ring.
- If p(x) divides q(x) then for a given integer value x0
of x the integer p(x0) divides q(x0).
- Computing p(x0) and q(x0) require
2 n + 2 m + 2
operations in the coefficient ring.
- So trying whether p(x0) divides q(x0)
(before computing the remainder of q(x) by p(x))
will save time (and space) in the average.
Next: A review of complexity notions
Up: A Second Session
Previous: Algebraic systems
Marc Moreno Maza
2004-04-27