Domains (parameterized types)
Description
Domains in Domains are functions which return tables of operations for manipulating objects in the domain. For example, Integers() returns a table of operations for computing with integers including `+` addition, `-` subtraction, `*` multiplication, etc.
Domains can be parameterized by other domains and values; for example, the domain DenseUnivariatePolynomial⁡R,x takes a coefficient ring R and a variable x as a parameter. The coefficient ring must be a Domains domain which belongs to the category Ring; that is, it must support all the operations of a ring. The variable x must be a name.
All domains support belongs to the category Set which supports the operations
=, <> -- boolean equality of domains elements
Input -- for converting expressions into the domain data representation
Output -- for converting from the domain representation to an output form
Random -- for generating a pseudo-random value from the domain
Type -- for testing if a value is a valid domain element
The command show(D, operations) can be used to print out all the operations that are defined for a domain. Operations marked by -- are not implemented. A list of the domains constructors in Domains is
Z
Integers()
Q
Rationals()
G
Gaussian(R:Ring)
Zmod
Zmod(n:posint)
GF
GaloisField(p:prime, k:posint)
DUP
DenseUnivariatePolynomial(R:Ring, x:name)
OUP
OrderedUnivariatePolynomial(P:UnivariatePolynomial(R),
f:(R,R) -> Boolean)
DEV
DenseExponentVector(X:list(name))
PEV
PrimeExponentVector(X:list(name))
MEV
MapleExponentVector(X:list(name))
TEV
MacaulayExponentVector(X:list(name))
TDMP
TableDistributedMultivariatePolynomial(R:Ring, E:ExponentVector)
SDMP
SparseDistributedMultivariatePolynomial(R:Ring, E:ExponentVector)
QF
ExpandedNormalFormQuotientField(D:GcdDomain)
ENFQF
FNFQF
FactoredNormalFormQuotientField(D:GcdDomain)
RF
RationalFunction(D:GcdDomain, X:list(name))
LUPS
LazyUnivariatePowerSeries(R:Ring, x:name)
Matrix(R:Ring)
SM
SquareMatrix(n:posint, R:Ring)
SAE
AlgebraicExtension(D:UnivariatePolynomial, m:D)
In addition, there are some special domains that use the Maple representation for polynomials to try to get back some efficiency for integer and rational coefficients.
MUP
MapleUnivariatePolynomial(R:{Z, Q, Zmod}, x:name)
MMP
MapleMultivariatePolynomial(R:{Z, Q, Zmod}, X:list(name))
See Also
Domains
RealDomain
Download Help Document