DirectProduct(dim, R)ΒΆ

vector.spad line 354

This type represents the finite direct or cartesian product of an underlying component type. This contrasts with simple vectors in that the members can be viewed as having constant length. Thus many categorical properties can by lifted from the underlying component type. Component extraction operations are provided but no updating operations. Thus new direct product elements can either be created by converting vector elements using the directProduct function or by taking appropriate linear combinations of basis vectors provided by the unitVector operation.

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

AbelianGroup if R has AbelianGroup

AbelianMonoid if R has AbelianMonoid

AbelianProductCategory R

AbelianSemiGroup if R has SemiRng or R has AbelianMonoid

Aggregate

Algebra % if R has CommutativeRing

Algebra R if R has CommutativeRing

BasicType if R has BasicType

BiModule(%, %) if R has SemiRng

BiModule(R, R) if R has SemiRng

CancellationAbelianMonoid if R has CancellationAbelianMonoid

CoercibleTo OutputForm if R has CoercibleTo OutputForm

CoercibleTo Vector R

CommutativeRing if R has CommutativeRing

CommutativeStar if R has CommutativeRing

Comparable if R has Finite or R has OrderedSet

ConvertibleTo InputForm if R has Finite

DifferentialExtension R if R has Ring

DifferentialRing if R has Ring and R has DifferentialRing

DirectProductCategory(dim, R)

Eltable(Integer, R)

EltableAggregate(Integer, R)

Evalable R if R has SetCategory and R has Evalable R

Finite if R has Finite

finiteAggregate

FullyLinearlyExplicitOver R if R has Ring

FullyRetractableTo R if R has SetCategory

HomogeneousAggregate R

IndexedAggregate(Integer, R)

InnerEvalable(R, R) if R has SetCategory and R has Evalable R

LeftModule % if R has SemiRng

LeftModule R if R has SemiRng

LinearlyExplicitOver Integer if R has Ring and R has LinearlyExplicitOver Integer

LinearlyExplicitOver R if R has Ring

Magma if R has SemiGroup

MagmaWithUnit if R has Monoid

Module % if R has CommutativeRing

Module R if R has CommutativeRing

Monoid if R has Monoid

NonAssociativeRing if R has Ring

NonAssociativeRng if R has Ring

NonAssociativeSemiRing if R has Ring

NonAssociativeSemiRng if R has SemiRng

OrderedAbelianMonoid if R has OrderedAbelianMonoidSup

OrderedAbelianMonoidSup if R has OrderedAbelianMonoidSup

OrderedAbelianSemiGroup if R has OrderedAbelianMonoidSup

OrderedCancellationAbelianMonoid if R has OrderedAbelianMonoidSup

OrderedSet if R has OrderedSet

PartialDifferentialRing Symbol if R has Ring and R has PartialDifferentialRing Symbol

PartialOrder if R has OrderedSet

RetractableTo Fraction Integer if R has RetractableTo Fraction Integer and R has SetCategory

RetractableTo Integer if R has RetractableTo Integer and R has SetCategory

RetractableTo R if R has SetCategory

RightModule % if R has SemiRng

RightModule R if R has SemiRng

Ring if R has Ring

Rng if R has Ring

SemiGroup if R has SemiGroup

SemiRing if R has Ring

SemiRng if R has SemiRng

SetCategory if R has SetCategory

unitsKnown if R has unitsKnown

VectorSpace R if R has Field