# OrderedDirectProduct(dim, S, f)ΒΆ

- dim: NonNegativeInteger
- S: OrderedAbelianMonoidSup
- f: (Vector S, Vector S) -> Boolean

This type represents the finite direct or cartesian product of an underlying ordered component type. The ordering on the type is determined by its third argument which represents the less than function on vectors. This type is a suitable third argument for GeneralDistributedMultivariatePolynomial.

- 0: %
- from AbelianMonoid
- 1: % if S has Monoid
- from MagmaWithUnit
- *: (%, %) -> % if S has SemiGroup
- from Magma
- *: (%, S) -> % if S has SemiGroup
- from DirectProductCategory(dim, S)
- *: (Integer, %) -> % if S has AbelianGroup
- from AbelianGroup
- *: (NonNegativeInteger, %) -> %
- from AbelianMonoid
- *: (PositiveInteger, %) -> %
- from AbelianSemiGroup
- *: (S, %) -> % if S has SemiGroup
- from DirectProductCategory(dim, S)
- +: (%, %) -> %
- from AbelianSemiGroup
- -: % -> % if S has AbelianGroup
- from AbelianGroup
- -: (%, %) -> % if 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
- associator: (%, %, %) -> % if S has Ring
- from NonAssociativeRng
- characteristic: () -> NonNegativeInteger if S has Ring
- from NonAssociativeRing
- 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, %) -> 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)
- 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
- 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
- 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

Algebra S if S has CommutativeRing

BiModule(%, %) if S has SemiRng

BiModule(S, S) if S has SemiRng

CommutativeRing if S has CommutativeRing

CommutativeStar if S has CommutativeRing

ConvertibleTo InputForm if S has Finite

DifferentialExtension S if S has Ring

DifferentialRing if S has DifferentialRing and S has Ring

DirectProductCategory(dim, S)

Evalable S if S has Evalable S

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

MagmaWithUnit if S has Monoid

Module S if S has CommutativeRing

NonAssociativeRing if S has Ring

NonAssociativeRng if S has Ring

NonAssociativeSemiRing if S has Ring

NonAssociativeSemiRng if S has SemiRng

OrderedCancellationAbelianMonoid

PartialDifferentialRing Symbol if S has PartialDifferentialRing Symbol and S has Ring

RetractableTo Fraction Integer if S has RetractableTo Fraction Integer

RetractableTo Integer if S has RetractableTo Integer

RightModule % if S has SemiRng

RightModule S if S has SemiRng

unitsKnown if S has unitsKnown

VectorSpace S if S has Field