domain - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


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 DenseUnivariatePolynomialR,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

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))

See Also

Domains

RealDomain