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.