 domain - Maple Help

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 $\mathrm{DenseUnivariatePolynomial}\left(R,x\right)$ 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))