OpenMath Content Dictionary: polynomial1
Canonical URL:
http://www.openmath.org/cd/polynomial1.ocd
CD Base:
http://www.openmath.org/cd
CD File:
polynomial1.ocd
CD as XML Encoded OpenMath:
polynomial1.omcd
Defines:
coefficient , coefficient_ring , degree , expand , leading_coefficient , leading_monomial , leading_term
Date:
2004-07-12
Version:
0
Review Date:
2006-07-12
Status:
experimental
This CD holds a collection of basic constructs for univariate polynomials over rings.
The data structures for polynomials can be arithmetic expressions, for
instance using the ring1.expression symbol, or DMP as
in the CD polyd1.
Role:
application
Description:
This symbol is a unary function whose argument should be a polynomial.
It represents the coefficient ring of the polynomial.
Example:
The coefficient ring is often explicitly given as part of the polynomial:
OpenMath XML (source)
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0" cdbase="http://www.openmath.org/cd">
<OMA><OMS cd="relation1" name="eq"/>
<OMA><OMS cd="polynomial1" name="coefficient_ring"/>
<OMA><OMS cd="ring1" name="expression"/>
<OMA><OMS cd="ring1" name="expression"/>
<OMA><OMS cd="ring3" name="poly_ring"/>
<OMA><OMS cd="ringname1" name="Zm"/>
<OMI>7</OMI>
</OMA>
<OMV name="X"/>
</OMA>
<OMA><OMS cd="arith1" name="power"/>
<OMA><OMS cd="arith1" name="plus"/>
<OMV name="X"/><OMI>1</OMI>
</OMA>
<OMI>2</OMI>
</OMA>
</OMA>
</OMA>
</OMA>
<OMA><OMS cd="ringname1" name="Zm"/>
<OMI>7</OMI>
</OMA>
</OMA>
</OMOBJ>
Strict Content MathML
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply><csymbol cd="relation1">eq</csymbol>
<apply><csymbol cd="polynomial1">coefficient_ring</csymbol>
<apply><csymbol cd="ring1">expression</csymbol>
<apply><csymbol cd="ring1">expression</csymbol>
<apply><csymbol cd="ring3">poly_ring</csymbol>
<apply><csymbol cd="ringname1">Zm</csymbol><cn type="integer">7</cn></apply>
<ci>X</ci>
</apply>
<apply><csymbol cd="arith1">power</csymbol>
<apply><csymbol cd="arith1">plus</csymbol><ci>X</ci><cn type="integer">1</cn></apply>
<cn type="integer">2</cn>
</apply>
</apply>
</apply>
</apply>
<apply><csymbol cd="ringname1">Zm</csymbol><cn type="integer">7</cn></apply>
</apply>
</math>
Prefix
Popcorn
polynomial1.coefficient_ring(ring1.expression(ring1.expression(ring3.poly_ring(ringname1.Zm(7), $X), ($X + 1) ^ 2))) = ringname1.Zm(7)
Rendered Presentation MathML
coefficient_ring
(
expression
(
expression
(
poly_ring
(
Zm
(
7
)
,
X
)
,
(
X
+
1
)
2
)
)
)
=
Zm
(
7
)
Signatures:
sts
Role:
application
Description:
This symbol is a binary function whose first argument should be a polynomial
f and whose second argument should be a non-negative integer n.
It represents the coefficient of the i-th power of the variable in the
polynomial f.
Example:
The coefficient of the first power of X in the polynomial (X+1)^2 in (Z/7Z)[X]
is equal to 2.
OpenMath XML (source)
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0" cdbase="http://www.openmath.org/cd">
<OMA><OMS cd="relation1" name="eq"/>
<OMA><OMS cd="polynomial1" name="coefficient"/>
<OMA><OMS cd="ring1" name="expression"/>
<OMA><OMS cd="ring1" name="expression"/>
<OMA><OMS cd="ring3" name="poly_ring"/>
<OMA><OMS cd="ringname1" name="Zm"/>
<OMI>7</OMI>
</OMA>
<OMV name="X"/>
</OMA>
<OMA><OMS cd="arith1" name="power"/>
<OMA><OMS cd="arith1" name="plus"/>
<OMV name="X"/><OMI>1</OMI>
</OMA>
<OMI>2</OMI>
</OMA>
</OMA>
</OMA>
</OMA>
<OMA><OMS cd="ring1" name="expression"/>
<OMA><OMS cd="ringname1" name="Zm"/>
<OMI>7</OMI>
</OMA>
<OMI>2</OMI>
</OMA>
</OMA>
</OMOBJ>
Strict Content MathML
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply><csymbol cd="relation1">eq</csymbol>
<apply><csymbol cd="polynomial1">coefficient</csymbol>
<apply><csymbol cd="ring1">expression</csymbol>
<apply><csymbol cd="ring1">expression</csymbol>
<apply><csymbol cd="ring3">poly_ring</csymbol>
<apply><csymbol cd="ringname1">Zm</csymbol><cn type="integer">7</cn></apply>
<ci>X</ci>
</apply>
<apply><csymbol cd="arith1">power</csymbol>
<apply><csymbol cd="arith1">plus</csymbol><ci>X</ci><cn type="integer">1</cn></apply>
<cn type="integer">2</cn>
</apply>
</apply>
</apply>
</apply>
<apply><csymbol cd="ring1">expression</csymbol>
<apply><csymbol cd="ringname1">Zm</csymbol><cn type="integer">7</cn></apply>
<cn type="integer">2</cn>
</apply>
</apply>
</math>
Prefix
Popcorn
polynomial1.coefficient(ring1.expression(ring1.expression(ring3.poly_ring(ringname1.Zm(7), $X), ($X + 1) ^ 2))) = ring1.expression(ringname1.Zm(7), 2)
Rendered Presentation MathML
coefficient
(
expression
(
expression
(
poly_ring
(
Zm
(
7
)
,
X
)
,
(
X
+
1
)
2
)
)
)
=
expression
(
Zm
(
7
)
,
2
)
Signatures:
sts
Role:
application
Description:
Expands a polynomial.
Example:
The following expression is equivalent to the arithmetic expression X^2+2X+1 in (Z/7Z)[X].
OpenMath XML (source)
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0" cdbase="http://www.openmath.org/cd">
<OMA><OMS cd="polynomial1" name="expand"/>
<OMA><OMS cd="ring1" name="expression"/>
<OMA><OMS cd="ring1" name="expression"/>
<OMA><OMS cd="ring3" name="poly_ring"/>
<OMA><OMS cd="ringname1" name="Zm"/>
<OMI>7</OMI>
</OMA>
<OMV name="X"/>
</OMA>
<OMA><OMS cd="arith1" name="power"/>
<OMA><OMS cd="arith1" name="plus"/>
<OMV name="X"/><OMI>1</OMI>
</OMA>
<OMI>2</OMI>
</OMA>
</OMA>
</OMA>
</OMA>
</OMOBJ>
Strict Content MathML
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply><csymbol cd="polynomial1">expand</csymbol>
<apply><csymbol cd="ring1">expression</csymbol>
<apply><csymbol cd="ring1">expression</csymbol>
<apply><csymbol cd="ring3">poly_ring</csymbol>
<apply><csymbol cd="ringname1">Zm</csymbol><cn type="integer">7</cn></apply>
<ci>X</ci>
</apply>
<apply><csymbol cd="arith1">power</csymbol>
<apply><csymbol cd="arith1">plus</csymbol><ci>X</ci><cn type="integer">1</cn></apply>
<cn type="integer">2</cn>
</apply>
</apply>
</apply>
</apply>
</math>
Prefix
Popcorn
polynomial1.expand(ring1.expression(ring1.expression(ring3.poly_ring(ringname1.Zm(7), $X), ($X + 1) ^ 2)))
Rendered Presentation MathML
expand
(
expression
(
expression
(
poly_ring
(
Zm
(
7
)
,
X
)
,
(
X
+
1
)
2
)
)
)
Signatures:
sts
Description:
This symbol represents a
unary function, whose argument should be univariate polynomial. When applied
to a polynomial, it represents its degree, that is the highest power of the
variable occurring in a term of the polynomial. If the polynomial has no
terms, it is the zero polynomial, in which case the value represented is -1.
Signatures:
sts
Description:
This symbol represents a
unary function, whose argument should be univariate polynomial. When applied
to a polynomial, it represents its leading term, that is the term that is the
product of
the highest power of the variable and its coefficient.
If the polynomial is zero, the value represented is zero.
Signatures:
sts
Description:
This symbol represents a
unary function, whose argument should be univariate polynomial. When applied
to a polynomial, it represents the coefficient of the monomial of highest degree.
If the polynomial is zero, the value represented is zero.
Signatures:
sts
Description:
This symbol represents a
unary function, whose argument should be a nonzero univariate polynomial. When applied
to such a polynomial, it represents the highest power of the variable
occurring in the polynomial.
Commented Mathematical property (CMP):
The leading term of a nonzero polynomial is the product of the
leading monomial and the leading coefficient of the polynomial.
Formal Mathematical property (FMP):
OpenMath XML (source)
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0" cdbase="http://www.openmath.org/cd">
<OMA><OMS cd="relation1" name="eq"/>
<OMA><OMS cd="polynomial1" name="leading_term"/>
<OMV name="f"/>
</OMA>
<OMA><OMS cd="arith1" name="times"/>
<OMA><OMS cd="polynomial1" name="leading_coefficient"/>
<OMV name="f"/>
</OMA>
<OMA><OMS cd="polynomial1" name="leading_monomial"/>
<OMV name="f"/>
</OMA>
</OMA>
</OMA>
</OMOBJ>
Strict Content MathML
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply><csymbol cd="relation1">eq</csymbol>
<apply><csymbol cd="polynomial1">leading_term</csymbol><ci>f</ci></apply>
<apply><csymbol cd="arith1">times</csymbol>
<apply><csymbol cd="polynomial1">leading_coefficient</csymbol><ci>f</ci></apply>
<apply><csymbol cd="polynomial1">leading_monomial</csymbol><ci>f</ci></apply>
</apply>
</apply>
</math>
Prefix
Popcorn
polynomial1.leading_term($f) = polynomial1.leading_coefficient($f) * polynomial1.leading_monomial($f)
Rendered Presentation MathML
leading_term
(
f
)
=
leading_coefficient
(
f
)
leading_monomial
(
f
)
Signatures:
sts