OpenMath Content Dictionary: polyd3
Canonical URL:
http://www.openmath.org/cd/polyd3.ocd
CD Base:
http://www.openmath.org/cd
CD File:
polyd3.ocd
CD as XML Encoded OpenMath:
polyd3.omcd
Defines:
collect , list_to_poly_d , poly_d_named_to_arith , poly_d_to_arith
Date:
2004-07-07
Version:
1
Review Date:
2006-04-01
Status:
experimental
This CD contains conversions between different data structures for polynomials.
first attempt
Description:
This a binary function. Its first argument should be a DMP f, its second
argument a list of positive integers L.
When applied to f and L, it represents the DMP with coefficients from the poly_ring_d
whose variables only have indices i for i not occurring in the list L, and
whose monomials are built up from the variables indexed by the entries
of L.
Signatures:
sts
Description:
This symbol is a function with two arguments.
The first argument is a ring R and the second argument is a list L. The
entries of L are elements of R or can be cast canconically onto
elements of R.
When applied to R and L, the symbol denotes the distributed (univariate)
polynomial over R with terms (L[i-1],i) for i running over the indices
of L (i=1, ..., length(L)).
Example:
The polynomial X^2+4X+7 with integers coefficients can be represented,
without recourse to X, by
OpenMath XML (source)
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
<OMA><OMS cd="polyd3" name="list_to_poly_d"/>
<OMS cd="ringname1" name="Z"/>
<OMA><OMS cd="list1" name="list"/>
<OMI>7</OMI><OMI>4</OMI><OMI>1</OMI>
</OMA>
</OMA>
</OMOBJ>
Strict Content MathML
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply><csymbol cd="polyd3">list_to_poly_d</csymbol>
<csymbol cd="ringname1">Z</csymbol>
<apply><csymbol cd="list1">list</csymbol>
<cn type="integer">7</cn>
<cn type="integer">4</cn>
<cn type="integer">1</cn>
</apply>
</apply>
</math>
Prefix
Popcorn
polyd3.list_to_poly_d(ringname1.Z, [7 , 4 , 1])
Rendered Presentation MathML
list_to_poly_d
(
Z
,
(
7
,
4
,
1
)
)
Thus, the above expression is semantically equivalent to
OpenMath XML (source)
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
<OMA><OMS cd="polyd1" name="DMP"/>
<OMS cd="ringname1" name="Z"/>
<OMA><OMS cd="polyd1" name="SDMP"/>
<OMA><OMS cd="polyd1" name="term"/>
<OMI>7</OMI><OMI>0</OMI>
</OMA>
<OMA><OMS cd="polyd1" name="term"/>
<OMI>4</OMI><OMI>1</OMI>
</OMA>
<OMA><OMS cd="polyd1" name="term"/>
<OMI>1</OMI><OMI>2</OMI>
</OMA>
</OMA>
</OMA>
</OMOBJ>
Strict Content MathML
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply><csymbol cd="polyd1">DMP</csymbol>
<csymbol cd="ringname1">Z</csymbol>
<apply><csymbol cd="polyd1">SDMP</csymbol>
<apply><csymbol cd="polyd1">term</csymbol>
<cn type="integer">7</cn>
<cn type="integer">0</cn>
</apply>
<apply><csymbol cd="polyd1">term</csymbol>
<cn type="integer">4</cn>
<cn type="integer">1</cn>
</apply>
<apply><csymbol cd="polyd1">term</csymbol>
<cn type="integer">1</cn>
<cn type="integer">2</cn>
</apply>
</apply>
</apply>
</math>
Prefix
Popcorn
polyd1.DMP(ringname1.Z, polyd1.SDMP(polyd1.term(7, 0), polyd1.term(4, 1), polyd1.term(1, 2)))
Rendered Presentation MathML
DMP
(
Z
,
SDMP
(
term
(
7
,
0
)
,
term
(
4
,
1
)
,
term
(
1
,
2
)
)
)
Signatures:
sts
Description:
This symbol is a binary function.
The first argument is a DMP and the second argument is a list of objects,
typically variables or arithmetic expressions, at least as
many as there are variables in the ring to which the DMP belongs.
When applied to R and L, the symbol denotes the arithmetic expression that is
the sum of the terms
with the i-th variable of the ring of the DMP being substituted by the i-th expression or variable of
the list L.
This expression is very close to a substitute, or an application of the DMP, as
viewed as a function, to
as many arguments as there are variables.
Example:
The polynomial X^2+4X+7 with integer coefficients
has poly_d form
OpenMath XML (source)
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
<OMA><OMS cd="polyd3" name="poly_d_to_arith"/>
<OMA><OMS cd="polyd1" name="DMP"/>
<OMA><OMS cd="polyd1" name="poly_ring_d"/>
<OMS cd="ringname1" name="Z"/>
<OMI>1</OMI>
</OMA>
<OMA><OMS cd="polyd1" name="SDMP"/>
<OMA><OMS cd="polyd1" name="term"/>
<OMI>7</OMI><OMI>0</OMI>
</OMA>
<OMA><OMS cd="polyd1" name="term"/>
<OMI>4</OMI><OMI>1</OMI>
</OMA>
<OMA><OMS cd="polyd1" name="term"/>
<OMI>1</OMI><OMI>2</OMI>
</OMA>
</OMA>
</OMA>
<OMA><OMS cd="list1" name="list"/>
<OMV name="X"/>
</OMA>
</OMA>
</OMOBJ>
Strict Content MathML
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply><csymbol cd="polyd3">poly_d_to_arith</csymbol>
<apply><csymbol cd="polyd1">DMP</csymbol>
<apply><csymbol cd="polyd1">poly_ring_d</csymbol>
<csymbol cd="ringname1">Z</csymbol>
<cn type="integer">1</cn>
</apply>
<apply><csymbol cd="polyd1">SDMP</csymbol>
<apply><csymbol cd="polyd1">term</csymbol>
<cn type="integer">7</cn>
<cn type="integer">0</cn>
</apply>
<apply><csymbol cd="polyd1">term</csymbol>
<cn type="integer">4</cn>
<cn type="integer">1</cn>
</apply>
<apply><csymbol cd="polyd1">term</csymbol>
<cn type="integer">1</cn>
<cn type="integer">2</cn>
</apply>
</apply>
</apply>
<apply><csymbol cd="list1">list</csymbol><ci>X</ci></apply>
</apply>
</math>
Prefix
Popcorn
polyd3.poly_d_to_arith(polyd1.DMP(polyd1.poly_ring_d(ringname1.Z, 1), polyd1.SDMP(polyd1.term(7, 0), polyd1.term(4, 1), polyd1.term(1, 2))), [$X])
Rendered Presentation MathML
poly_d_to_arith
(
DMP
(
poly_ring_d
(
Z
,
1
)
,
SDMP
(
term
(
7
,
0
)
,
term
(
4
,
1
)
,
term
(
1
,
2
)
)
)
,
(
X
)
)
This expression represents
OpenMath XML (source)
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
<OMA><OMS cd="arith1" name="plus"/>
<OMI>7</OMI>
<OMA><OMS cd="arith1" name="times"/>
<OMI>4</OMI> <OMV name="X"/>
</OMA>
<OMA><OMS cd="arith1" name="power"/>
<OMV name="X"/><OMI>2</OMI>
</OMA>
</OMA>
</OMOBJ>
Strict Content MathML
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply><csymbol cd="arith1">plus</csymbol>
<cn type="integer">7</cn>
<apply><csymbol cd="arith1">times</csymbol><cn type="integer">4</cn><ci>X</ci></apply>
<apply><csymbol cd="arith1">power</csymbol><ci>X</ci><cn type="integer">2</cn></apply>
</apply>
</math>
Prefix
Popcorn
7 + 4 * $X + $X ^ 2
Rendered Presentation MathML
Signatures:
sts
Description:
This symbol is a unary function.
Its argument is a DMP with named variables.
When applied to R, the symbol denotes the arithmetic expression that is
the sum of the terms.
Example:
The polynomial X^2+4X+7 with integers coefficients
has poly_d_named form
OpenMath XML (source)
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
<OMA><OMS cd="polyd3" name="poly_d_to_arith"/>
<OMA><OMS cd="polyd1" name="DMP"/>
<OMA><OMS cd="polyd1" name="poly_ring_d_named"/>
<OMS cd="ringname1" name="Z"/>
<OMV name="X"/>
</OMA>
<OMA><OMS cd="polyd1" name="SDMP"/>
<OMA><OMS cd="polyd1" name="term"/>
<OMI>7</OMI><OMI>0</OMI>
</OMA>
<OMA><OMS cd="polyd1" name="term"/>
<OMI>4</OMI><OMI>1</OMI>
</OMA>
<OMA><OMS cd="polyd1" name="term"/>
<OMI>1</OMI><OMI>2</OMI>
</OMA>
</OMA>
</OMA>
</OMA>
</OMOBJ>
Strict Content MathML
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply><csymbol cd="polyd3">poly_d_to_arith</csymbol>
<apply><csymbol cd="polyd1">DMP</csymbol>
<apply><csymbol cd="polyd1">poly_ring_d_named</csymbol><csymbol cd="ringname1">Z</csymbol><ci>X</ci></apply>
<apply><csymbol cd="polyd1">SDMP</csymbol>
<apply><csymbol cd="polyd1">term</csymbol>
<cn type="integer">7</cn>
<cn type="integer">0</cn>
</apply>
<apply><csymbol cd="polyd1">term</csymbol>
<cn type="integer">4</cn>
<cn type="integer">1</cn>
</apply>
<apply><csymbol cd="polyd1">term</csymbol>
<cn type="integer">1</cn>
<cn type="integer">2</cn>
</apply>
</apply>
</apply>
</apply>
</math>
Prefix
Popcorn
polyd3.poly_d_to_arith(polyd1.DMP(polyd1.poly_ring_d_named(ringname1.Z, $X), polyd1.SDMP(polyd1.term(7, 0), polyd1.term(4, 1), polyd1.term(1, 2))))
Rendered Presentation MathML
poly_d_to_arith
(
DMP
(
poly_ring_d_named
(
Z
,
X
)
,
SDMP
(
term
(
7
,
0
)
,
term
(
4
,
1
)
,
term
(
1
,
2
)
)
)
)
This expression represents
OpenMath XML (source)
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
<OMA><OMS cd="arith1" name="plus"/>
<OMI>7</OMI>
<OMA><OMS cd="arith1" name="times"/>
<OMI>4</OMI> <OMV name="X"/>
</OMA>
<OMA><OMS cd="arith1" name="power"/>
<OMV name="X"/><OMI>2</OMI>
</OMA>
</OMA>
</OMOBJ>
Strict Content MathML
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply><csymbol cd="arith1">plus</csymbol>
<cn type="integer">7</cn>
<apply><csymbol cd="arith1">times</csymbol><cn type="integer">4</cn><ci>X</ci></apply>
<apply><csymbol cd="arith1">power</csymbol><ci>X</ci><cn type="integer">2</cn></apply>
</apply>
</math>
Prefix
Popcorn
7 + 4 * $X + $X ^ 2
Rendered Presentation MathML
Signatures:
sts