OpenMath Content Dictionary: field3
Canonical URL:
http://www.openmath.org/cd/field3.ocd
CD Base:
http://www.openmath.org/cd
CD File:
field3.ocd
CD as XML Encoded OpenMath:
field3.omcd
Defines:
field_by_poly , fraction_field , free_field
Date:
2004-06-01
Version:
1
(Revision 1)
Review Date:
2006-06-01
Status:
experimental
A CD of
functions for basic constructions in field theory.
Written by Arjeh M. Cohen 2004-02-25
Description:
This symbol represents a binary function. The first argument should be a
natural number p which is zero or a prime number,
the second argument a list or a
set L. When evaluated on such arguments p and L, the function represents the
field of rational functions in L over the rationals if p = 0 and over the
field of integers mod p if p is a prime.
Example:
The rational function field Q(a,b) in the indeterminates a, b is
OpenMath XML (source)
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
<OMA><OMS cd="field3" name="free_field"/>
<OMI>0</OMI>
<OMA><OMS cd="list1" name="list"/>
<OMV name="a"/> <OMV name="b"/>
</OMA>
</OMA>
</OMOBJ>
Strict Content MathML
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply><csymbol cd="field3">free_field</csymbol>
<cn type="integer">0</cn>
<apply><csymbol cd="list1">list</csymbol><ci>a</ci><ci>b</ci></apply>
</apply>
</math>
Prefix
Popcorn
field3.free_field(0, [$a , $b])
Rendered Presentation MathML
free_field
(
0
,
(
a
,
b
)
)
Signatures:
sts
Description:
This is a unary function. Its argument should be a domain (as in CD ring4).
It denotes the fraction field of the domain.
Example:
The rationals equals fraction_field(Integers)
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"/>
<OMS cd="fieldname1" name="Q"/>
<OMA>
<OMS cd="field3" name="fraction_field"/>
<OMS cd="ringname1" name="Z"/>
</OMA>
</OMA>
</OMOBJ>
Strict Content MathML
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply><csymbol cd="relation1">eq</csymbol>
<csymbol cd="fieldname1">Q</csymbol>
<apply><csymbol cd="field3">fraction_field</csymbol><csymbol cd="ringname1">Z</csymbol></apply>
</apply>
</math>
Prefix
Popcorn
fieldname1.Q = field3.fraction_field(ringname1.Z)
Rendered Presentation MathML
Q
=
fraction_field
(
Z
)
Signatures:
sts
Description:
This symbol is a binary function whose first argument is a univariate
polynomial ring R over a field, and whose second argument is an irreducible
polynomial f in this polynomial ring R. So, when applied to R and f, the
function has value the quotient ring R/(f).
Example:
The finite field GF(2)[X]/(X^2+X+1) is represented by
OpenMath XML (source)
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0" cdbase="http://www.openmath.org/cd">
<OMA><OMA><OMS cd="field3" name="field_by_poly"/>
<OMA id="pr"><OMS cd="polyd1" name="poly_ring_d_named"/>
<OMA><OMS cd="setname2" name="GFp"/>
<OMI>2</OMI>
</OMA>
<OMV name="X"/>
</OMA>
<OMA><OMS cd="polyd1" name="DMP"/>
<OMR href="#pr"/>
<OMA><OMS cd="polyd1" name="SDMP"/>
<OMA><OMS cd="polyd1" name="term"/>
<OMI>1</OMI><OMI>0</OMI>
</OMA>
<OMA><OMS cd="polyd1" name="term"/>
<OMI>1</OMI><OMI>1</OMI>
</OMA>
<OMA><OMS cd="polyd1" name="term"/>
<OMI>1</OMI><OMI>2</OMI>
</OMA>
</OMA>
</OMA>
</OMA>
</OMA>
</OMOBJ>
Strict Content MathML
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<apply><csymbol cd="field3">field_by_poly</csymbol>
<apply id="pr"><csymbol cd="polyd1">poly_ring_d_named</csymbol>
<apply><csymbol cd="setname2">GFp</csymbol><cn type="integer">2</cn></apply>
<ci>X</ci>
</apply>
<apply><csymbol cd="polyd1">DMP</csymbol>
<share src="#pr"/>
<apply><csymbol cd="polyd1">SDMP</csymbol>
<apply><csymbol cd="polyd1">term</csymbol>
<cn type="integer">1</cn>
<cn type="integer">0</cn>
</apply>
<apply><csymbol cd="polyd1">term</csymbol>
<cn type="integer">1</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>
</apply>
</math>
Prefix
Popcorn
field3.field_by_poly(polyd1.poly_ring_d_named(setname2.GFp(2), $X):pr, polyd1.DMP(#pr, polyd1.SDMP(polyd1.term(1, 0), polyd1.term(1, 1), polyd1.term(1, 2))))()
Rendered Presentation MathML
(
field_by_poly
(
poly_ring_d_named
(
GF
2
,
X
)
,
DMP
(
poly_ring_d_named
(
GF
2
,
X
)
,
SDMP
(
term
(
1
,
0
)
,
term
(
1
,
1
)
,
term
(
1
,
2
)
)
)
)
)
(
)
or by
OpenMath XML (source)
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0" cdbase="http://www.openmath.org/cd">
<OMA><OMS cd="field3" name="field_by_poly"/>
<OMA id="prn"><OMS cd="polyd1" name="poly_ring_d_named"/>
<OMA><OMS cd="setname2" name="GFp"/>
<OMI>2</OMI>
</OMA>
<OMV name="X"/>
</OMA>
<OMA><OMS cd="ring1" name="expression"/>
<OMR href="#prn"/>
<OMA><OMS cd="arith1" name="plus"/>
<OMI>1</OMI>
<OMV name="X"/>
<OMA><OMS cd="arith1" name="power"/>
<OMV name="X"/><OMI>2</OMI>
</OMA>
</OMA>
</OMA>
</OMA>
</OMOBJ>
Strict Content MathML
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply><csymbol cd="field3">field_by_poly</csymbol>
<apply id="prn"><csymbol cd="polyd1">poly_ring_d_named</csymbol>
<apply><csymbol cd="setname2">GFp</csymbol><cn type="integer">2</cn></apply>
<ci>X</ci>
</apply>
<apply><csymbol cd="ring1">expression</csymbol>
<share src="#prn"/>
<apply><csymbol cd="arith1">plus</csymbol>
<cn type="integer">1</cn>
<ci>X</ci>
<apply><csymbol cd="arith1">power</csymbol><ci>X</ci><cn type="integer">2</cn></apply>
</apply>
</apply>
</apply>
</math>
Prefix
Popcorn
field3.field_by_poly(polyd1.poly_ring_d_named(setname2.GFp(2), $X):prn, ring1.expression(#prn, 1 + $X + $X ^ 2))
Rendered Presentation MathML
field_by_poly
(
poly_ring_d_named
(
GF
2
,
X
)
,
expression
(
poly_ring_d_named
(
GF
2
,
X
)
,
1
+
X
+
X
2
)
)
Signatures:
sts