Domains[domain] - 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 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
|
1.
|
=, <> -- boolean equality of domains elements
|
2.
|
Input -- for converting expressions into the domain data representation
|
3.
|
Output -- for converting from the domain representation to an output form
|
4.
|
Random -- for generating a pseudo-random value from the domain
|
5.
|
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
|
ExpandedNormalFormQuotientField(D:GcdDomain)
|
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))
|
|
|
|
|
Download Help Document
Was this information helpful?