polyr
http://www.openmath.org/cd/polyd.ocd
2003-04-01
1999-11-19
experimental
2
0
setname1
This CD contains operators to deal with polynomials and more precisely
Recursive Polynomials.
Note that polynomials are regarded as univariates in their most
significant variable (as defined by the order in PolynomialRingR:
the first variable to appear is the most significant),
with monomials in decreasing order of exponent, and coefficients
being polynomials in the rest of the variables. This means that
polynomials have a unique representation, except for the fact that
yz \in Z[x,y,z] could also be represented as x^0yz. This latter is
discouraged, but currently not expressly forbidden.
Original OpenMath v1.1 Poly 1997
Update to Current Format 1999-07-07 DPC
Move the names of rings to setname1.ocd 1999-11-09 JHD
Delete those items moved to the new poly.ocd 1999-11-14 JHD
Convert to recursive polynomials 1999-11-20 JHD
Definition of data-structure constructors
The polynomial x^2*y^6 + 3*y^5 can be conceptually encoded as
poly_r_rep(x,
term(2,poly_r_rep(y,
term(6,1))),
term(0,poly_r_rep(y,
term(5,3))))
It lies in polynomial_ring_r(Z,x,y) (and other rings, of course)
The polynomial 2*y^3*z^5 + x + 1 can be conceptually encoded as
poly_r_rep(x,
term(1,1),
term(0,poly_r_rep(y,
term(3,poly_r_rep(z,
term(5,2))),
term(0,1))))
term
A constructor for monomials, that is products of powers and
elements of the base ring.
First argument is from N (the exponent of the variable
implied by an outer poly_r_rep)
second argument is a coefficient (from the ground field, or a
polynomial in lesser variables).
poly_r_rep
A constructor for the representation of polynomials.
The first argument is the polynomial variable, the rest are
monomials (in decreasing order of exponent).
The polynomial x^2*y^6 + 3*x^0*y^5 = x^2*y^6 + 3*y^5 may be
encoded as:
2
6
1
0
5
3
polynomial_r
The constructor of Recursive Polynomials. The first argument
is the polynomial ring containing the polynomial and the second
is a "poly_r_rep".
The polynomial x^2*y^6 + 3*x^0*y^5 = x^2*y^6 + 3*y^5 in the
polynomial ring with the integers as the coefficient ring and
variables x,y in that order may be encoded as:
2
6
1
0
5
3
Polynomial ring constructor
polynomial_ring_r
The constructor of a recursive polynomial ring. The first argument
is a ring (the ring of the coefficients), the rest are the
variables (in order).