# HomogeneousDirectProduct(dim, S)ΒΆ

This type represents the finite direct or cartesian product of an underlying ordered component type. The vectors are ordered first by the sum of their components, and then refined using a reverse lexicographic ordering. This type is a suitable third argument for GeneralDistributedMultivariatePolynomial.

0: %
from AbelianMonoid
1: % if S has Monoid
from MagmaWithUnit
#: % -> NonNegativeInteger
from Aggregate
*: (%, %) -> % if S has SemiGroup
from Magma
*: (%, S) -> % if S has SemiGroup
from DirectProductCategory(dim, S)
*: (Integer, %) -> % if % has AbelianGroup and S has SemiRng or S has AbelianGroup
from AbelianGroup
*: (NonNegativeInteger, %) -> %
from AbelianMonoid
*: (PositiveInteger, %) -> %
from AbelianSemiGroup
*: (S, %) -> % if S has SemiGroup
from DirectProductCategory(dim, S)
+: (%, %) -> %
from AbelianSemiGroup
-: % -> % if % has AbelianGroup and S has SemiRng or S has AbelianGroup
from AbelianGroup
-: (%, %) -> % if % has AbelianGroup and S has SemiRng or S has AbelianGroup
from AbelianGroup
/: (%, S) -> % if S has Field
from VectorSpace S
<: (%, %) -> Boolean
from PartialOrder
<=: (%, %) -> Boolean
from PartialOrder
=: (%, %) -> Boolean
from BasicType
>: (%, %) -> Boolean
from PartialOrder
>=: (%, %) -> Boolean
from PartialOrder
^: (%, NonNegativeInteger) -> % if S has Monoid
from MagmaWithUnit
^: (%, PositiveInteger) -> % if S has SemiGroup
from Magma
~=: (%, %) -> Boolean
from BasicType
annihilate?: (%, %) -> Boolean if S has Ring
from Rng
antiCommutator: (%, %) -> % if S has SemiRng
from NonAssociativeSemiRng
any?: (S -> Boolean, %) -> Boolean
from HomogeneousAggregate S
associator: (%, %, %) -> % if S has Ring
from NonAssociativeRng
characteristic: () -> NonNegativeInteger if S has Ring
from NonAssociativeRing
coerce: % -> % if S has CommutativeRing
from Algebra %
coerce: % -> OutputForm
from CoercibleTo OutputForm
coerce: % -> Vector S
from CoercibleTo Vector S
coerce: Fraction Integer -> % if S has RetractableTo Fraction Integer
from RetractableTo Fraction Integer
coerce: Integer -> % if S has Ring or S has RetractableTo Integer
from NonAssociativeRing
coerce: S -> %
from RetractableTo S
commutator: (%, %) -> % if S has Ring
from NonAssociativeRng
convert: % -> InputForm if S has Finite
from ConvertibleTo InputForm
copy: % -> %
from Aggregate
count: (S -> Boolean, %) -> NonNegativeInteger
from HomogeneousAggregate S
count: (S, %) -> NonNegativeInteger
from HomogeneousAggregate S
D: % -> % if S has DifferentialRing and S has Ring
from DifferentialRing
D: (%, List Symbol) -> % if S has PartialDifferentialRing Symbol and S has Ring
from PartialDifferentialRing Symbol
D: (%, List Symbol, List NonNegativeInteger) -> % if S has PartialDifferentialRing Symbol and S has Ring
from PartialDifferentialRing Symbol
D: (%, NonNegativeInteger) -> % if S has DifferentialRing and S has Ring
from DifferentialRing
D: (%, S -> S) -> % if S has Ring
from DifferentialExtension S
D: (%, S -> S, NonNegativeInteger) -> % if S has Ring
from DifferentialExtension S
D: (%, Symbol) -> % if S has PartialDifferentialRing Symbol and S has Ring
from PartialDifferentialRing Symbol
D: (%, Symbol, NonNegativeInteger) -> % if S has PartialDifferentialRing Symbol and S has Ring
from PartialDifferentialRing Symbol
differentiate: % -> % if S has DifferentialRing and S has Ring
from DifferentialRing
differentiate: (%, List Symbol) -> % if S has PartialDifferentialRing Symbol and S has Ring
from PartialDifferentialRing Symbol
differentiate: (%, List Symbol, List NonNegativeInteger) -> % if S has PartialDifferentialRing Symbol and S has Ring
from PartialDifferentialRing Symbol
differentiate: (%, NonNegativeInteger) -> % if S has DifferentialRing and S has Ring
from DifferentialRing
differentiate: (%, S -> S) -> % if S has Ring
from DifferentialExtension S
differentiate: (%, S -> S, NonNegativeInteger) -> % if S has Ring
from DifferentialExtension S
differentiate: (%, Symbol) -> % if S has PartialDifferentialRing Symbol and S has Ring
from PartialDifferentialRing Symbol
differentiate: (%, Symbol, NonNegativeInteger) -> % if S has PartialDifferentialRing Symbol and S has Ring
from PartialDifferentialRing Symbol
dimension: () -> CardinalNumber if S has Field
from VectorSpace S
directProduct: Vector S -> %
from DirectProductCategory(dim, S)
dot: (%, %) -> S if S has SemiRng
from DirectProductCategory(dim, S)
elt: (%, Integer) -> S
from Eltable(Integer, S)
elt: (%, Integer, S) -> S
from EltableAggregate(Integer, S)
empty: () -> %
from Aggregate
empty?: % -> Boolean
from Aggregate
entries: % -> List S
from IndexedAggregate(Integer, S)
entry?: (S, %) -> Boolean
from IndexedAggregate(Integer, S)
enumerate: () -> List % if S has Finite
from Finite
eq?: (%, %) -> Boolean
from Aggregate
eval: (%, Equation S) -> % if S has Evalable S
from Evalable S
eval: (%, List Equation S) -> % if S has Evalable S
from Evalable S
eval: (%, List S, List S) -> % if S has Evalable S
from InnerEvalable(S, S)
eval: (%, S, S) -> % if S has Evalable S
from InnerEvalable(S, S)
every?: (S -> Boolean, %) -> Boolean
from HomogeneousAggregate S
first: % -> S
from IndexedAggregate(Integer, S)
hash: % -> SingleInteger
from SetCategory
hashUpdate!: (HashState, %) -> HashState
from SetCategory
index: PositiveInteger -> % if S has Finite
from Finite
index?: (Integer, %) -> Boolean
from IndexedAggregate(Integer, S)
indices: % -> List Integer
from IndexedAggregate(Integer, S)
latex: % -> String
from SetCategory
leftPower: (%, NonNegativeInteger) -> % if S has Monoid
from MagmaWithUnit
leftPower: (%, PositiveInteger) -> % if S has SemiGroup
from Magma
leftRecip: % -> Union(%, failed) if S has Monoid
from MagmaWithUnit
less?: (%, NonNegativeInteger) -> Boolean
from Aggregate
lookup: % -> PositiveInteger if S has Finite
from Finite
map: (S -> S, %) -> %
from HomogeneousAggregate S
max: (%, %) -> %
from OrderedSet
maxIndex: % -> Integer
from IndexedAggregate(Integer, S)
member?: (S, %) -> Boolean
from HomogeneousAggregate S
members: % -> List S
from HomogeneousAggregate S
min: (%, %) -> %
from OrderedSet
minIndex: % -> Integer
from IndexedAggregate(Integer, S)
more?: (%, NonNegativeInteger) -> Boolean
from Aggregate
one?: % -> Boolean if S has Monoid
from MagmaWithUnit
opposite?: (%, %) -> Boolean
from AbelianMonoid
parts: % -> List S
from HomogeneousAggregate S
qelt: (%, Integer) -> S
from EltableAggregate(Integer, S)
random: () -> % if S has Finite
from Finite
recip: % -> Union(%, failed) if S has Monoid
from MagmaWithUnit
reducedSystem: (Matrix %, Vector %) -> Record(mat: Matrix Integer, vec: Vector Integer) if S has LinearlyExplicitOver Integer and S has Ring
from LinearlyExplicitOver Integer
reducedSystem: (Matrix %, Vector %) -> Record(mat: Matrix S, vec: Vector S) if S has Ring
from LinearlyExplicitOver S
reducedSystem: Matrix % -> Matrix Integer if S has LinearlyExplicitOver Integer and S has Ring
from LinearlyExplicitOver Integer
reducedSystem: Matrix % -> Matrix S if S has Ring
from LinearlyExplicitOver S
retract: % -> Fraction Integer if S has RetractableTo Fraction Integer
from RetractableTo Fraction Integer
retract: % -> Integer if S has RetractableTo Integer
from RetractableTo Integer
retract: % -> S
from RetractableTo S
retractIfCan: % -> Union(Fraction Integer, failed) if S has RetractableTo Fraction Integer
from RetractableTo Fraction Integer
retractIfCan: % -> Union(Integer, failed) if S has RetractableTo Integer
from RetractableTo Integer
retractIfCan: % -> Union(S, failed)
from RetractableTo S
rightPower: (%, NonNegativeInteger) -> % if S has Monoid
from MagmaWithUnit
rightPower: (%, PositiveInteger) -> % if S has SemiGroup
from Magma
rightRecip: % -> Union(%, failed) if S has Monoid
from MagmaWithUnit
sample: %
from AbelianMonoid
size: () -> NonNegativeInteger if S has Finite
from Finite
size?: (%, NonNegativeInteger) -> Boolean
from Aggregate
smaller?: (%, %) -> Boolean
from Comparable
subtractIfCan: (%, %) -> Union(%, failed)
from CancellationAbelianMonoid
sup: (%, %) -> %
from OrderedAbelianMonoidSup
unitVector: PositiveInteger -> % if S has Monoid
from DirectProductCategory(dim, S)
zero?: % -> Boolean
from AbelianMonoid

AbelianGroup if S has AbelianGroup

AbelianMonoid

AbelianSemiGroup

Aggregate

Algebra % if S has CommutativeRing

Algebra S if S has CommutativeRing

BasicType

BiModule(%, %) if S has SemiRng

BiModule(S, S) if S has SemiRng

CancellationAbelianMonoid

CommutativeRing if S has CommutativeRing

CommutativeStar if S has CommutativeRing

Comparable

ConvertibleTo InputForm if S has Finite

DifferentialExtension S if S has Ring

DifferentialRing if S has DifferentialRing and S has Ring

DirectProductCategory(dim, S)

Eltable(Integer, S)

Evalable S if S has Evalable S

Finite if S has Finite

finiteAggregate

FullyLinearlyExplicitOver S if S has Ring

InnerEvalable(S, S) if S has Evalable S

LeftModule % if S has SemiRng

LeftModule S if S has SemiRng

LinearlyExplicitOver Integer if S has LinearlyExplicitOver Integer and S has Ring

LinearlyExplicitOver S if S has Ring

Magma if S has SemiGroup

MagmaWithUnit if S has Monoid

Module % if S has CommutativeRing

Module S if S has CommutativeRing

Monoid if S has Monoid

NonAssociativeRing if S has Ring

NonAssociativeRng if S has Ring

NonAssociativeSemiRing if S has Ring

NonAssociativeSemiRng if S has SemiRng

OrderedAbelianMonoid

OrderedAbelianMonoidSup

OrderedAbelianSemiGroup

OrderedCancellationAbelianMonoid

OrderedSet

PartialDifferentialRing Symbol if S has PartialDifferentialRing Symbol and S has Ring

PartialOrder

RightModule % if S has SemiRng

RightModule S if S has SemiRng

Ring if S has Ring

Rng if S has Ring

SemiGroup if S has SemiGroup

SemiRing if S has Ring

SemiRng if S has SemiRng

SetCategory

unitsKnown if S has unitsKnown

VectorSpace S if S has Field