poly
http://www.openmath.org/cd/polyd.ocd
2003-04-01
1999-12-10
experimental
2
0
quant1
logic1
relation1
alg1
polyr
set1
arith1
This CD contains generic operators to deal with various forms
of polynomials. The arithmetic operators from arith1 etc. are valid
on these polynomials: there is also the operator "power" from this
CD, which creates formal powers.
More specific operations for Distributed Multivariate Polynomials
can be found in polyd.ocd, and for Recursive polynomials in polyr.ocd.
Original OpenMath v1.1 Poly 1997
Update to Current Format 1999-07-07 DPC
Move the names of rings to setname.ocd 1999-11-09 JHD
Split into poly{,d,r} 1999-11-14 JHD
Definition of some constructors
power
Takes a polynomial and a (non-negative) integer and produces a
formal power. Although OpenMath does not specify operational
semantics, the idea here is that these powers are not
evaluated. We note that the power from arith1 would suggest
the expanded form.
2
factored
The constructor for a factorization. Its arguments are formal
powers (see previous operator), where the polynomials are supposed
to be irreducible (except possibly for a content from the ground
ring).
Note that "factored" is not a call to factorise something, rather
a statement that we know a factorisation.
2
2
1
2
1
squarefreed
The constructor for a square-free factorization. Its arguments
should have the structure of the above "factored", where the
polynomials should be square-free.
Again, this is a statement that we have a square-free factorisation,
rather than a request to compute one.
2
2
4
1
Definition of operations
expand
Converts a factored or squarefreed form into the expanded
polynomial over the same ring, so that factored(recursive)
-> recursive, etc.
2
2
1
2
1
4
-4
2
degree
The total degree of its argument. The value returned is a
non-negative integer. We note that the degree of 0 is undefined.
degree(x^n)=n
degree_wrt
The degree with respect to a variable (the second
argument). We note that the degree of 0 is undefined.
degreeWrt(x^ny^m,x)=n
factor
The decomposition of its argument into irreducible
factors. A program that can compute the factorization is required
to return a "factored" object - see above.
4
-4
2
2
2
1
2
1
squarefree
The square-free decomposition of its argument. A program that can
compute the factorization is required to return a "squarefreed"
object.
4
-4
2
2
2
4
1
gcd
The greatest common divisor of its polynomial arguments.
lcm
The least common multiple of its polynomial arguments.
for all x,y lcm(x,y) = (x*y)/gcd(x,y)
resultant
Function taking three arguments, it represents the resultant
of two polynomials, which are the first two arguments, with
respect to the given variable which is the third argument.
if for all f,g in R[x] | if there exists an a in R
s.t. f(a) = g(a) = 0 then resultant(f,g,x) = 0
We note that the polynomials utilised in the following FMP are
recursive in nature, however the resultant symbol may be used
also on dense polynomials.
convert
Conversion between polynomial rings. The first argument is a
polynomial and the second is a polynomial ring. This represents the
conversion of the given polynomial as an element of the given ring.
A program that can compute the conversion is required to return
a polynomial in the given ring.