# DirectProductMatrixModule(n, R, M, S)ΒΆ

This constructor provides a direct product type with a left matrix-module view.

0: %

from AbelianMonoid

1: % if S has Monoid

from MagmaWithUnit

#: % -> NonNegativeInteger

from Aggregate

*: (%, %) -> % if S has SemiGroup

from LeftModule %

*: (%, Integer) -> % if S has Ring and S has LinearlyExplicitOver Integer
*: (%, S) -> % if S has SemiGroup

from DirectProductCategory(n, S)

*: (Integer, %) -> %

from AbelianGroup

*: (M, %) -> %

from LeftModule M

*: (NonNegativeInteger, %) -> %

from AbelianMonoid

*: (PositiveInteger, %) -> %

from AbelianSemiGroup

*: (R, %) -> %

from LeftModule R

*: (S, %) -> % if S has SemiGroup

from DirectProductCategory(n, S)

+: (%, %) -> %

from AbelianSemiGroup

-: % -> %

from AbelianGroup

-: (%, %) -> %

from AbelianGroup

<=: (%, %) -> Boolean if S has OrderedSet

from PartialOrder

<: (%, %) -> Boolean if S has OrderedSet

from PartialOrder

=: (%, %) -> Boolean

from BasicType

>=: (%, %) -> Boolean if S has OrderedSet

from PartialOrder

>: (%, %) -> Boolean if S has OrderedSet

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
any?: (S -> Boolean, %) -> Boolean

from HomogeneousAggregate S

associator: (%, %, %) -> % if S has Ring
characteristic: () -> NonNegativeInteger if S has Ring
coerce: % -> % if S has CommutativeRing

from Algebra %

coerce: % -> OutputForm
coerce: % -> Vector S

from CoercibleTo Vector S

coerce: Fraction Integer -> % if S has RetractableTo Fraction Integer
coerce: Integer -> % if S has RetractableTo Integer or S has Ring
coerce: S -> %

from Algebra S

commutator: (%, %) -> % if S has Ring
convert: % -> InputForm if S has Finite
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
D: (%, List Symbol, List NonNegativeInteger) -> % if S has PartialDifferentialRing Symbol and S has Ring
D: (%, NonNegativeInteger) -> % if S has DifferentialRing and S has Ring

from DifferentialRing

D: (%, S -> S) -> % if S has Ring
D: (%, S -> S, NonNegativeInteger) -> % if S has Ring
D: (%, Symbol) -> % if S has PartialDifferentialRing Symbol and S has Ring
D: (%, Symbol, NonNegativeInteger) -> % if S has PartialDifferentialRing Symbol and S has Ring
differentiate: % -> % if S has DifferentialRing and S has Ring

from DifferentialRing

differentiate: (%, List Symbol) -> % if S has PartialDifferentialRing Symbol and S has Ring
differentiate: (%, List Symbol, List NonNegativeInteger) -> % if S has PartialDifferentialRing Symbol and S has Ring
differentiate: (%, NonNegativeInteger) -> % if S has DifferentialRing and S has Ring

from DifferentialRing

differentiate: (%, S -> S) -> % if S has Ring
differentiate: (%, S -> S, NonNegativeInteger) -> % if S has Ring
differentiate: (%, Symbol) -> % if S has PartialDifferentialRing Symbol and S has Ring
differentiate: (%, Symbol, NonNegativeInteger) -> % if S has PartialDifferentialRing Symbol and S has Ring
directProduct: Vector S -> %

from DirectProductCategory(n, S)

dot: (%, %) -> S if S has SemiRng

from DirectProductCategory(n, S)

elt: (%, Integer) -> S

from Eltable(Integer, S)

elt: (%, Integer, S) -> S

from EltableAggregate(Integer, S)

empty?: % -> Boolean

from Aggregate

empty: () -> %

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 if S has Finite

from Hashable

hashUpdate!: (HashState, %) -> HashState if S has Finite

from Hashable

index?: (Integer, %) -> Boolean

from IndexedAggregate(Integer, S)

index: PositiveInteger -> % if S has Finite

from Finite

indices: % -> List Integer

from IndexedAggregate(Integer, S)

inf: (%, %) -> % if S has OrderedAbelianMonoidSup
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: % -> S if S has OrderedSet

from HomogeneousAggregate S

max: (%, %) -> % if S has OrderedSet

from OrderedSet

max: ((S, S) -> Boolean, %) -> S

from HomogeneousAggregate S

maxIndex: % -> Integer

from IndexedAggregate(Integer, S)

member?: (S, %) -> Boolean

from HomogeneousAggregate S

members: % -> List S

from HomogeneousAggregate S

min: % -> S if S has OrderedSet

from HomogeneousAggregate S

min: (%, %) -> % if S has OrderedSet

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

plenaryPower: (%, PositiveInteger) -> % if S has CommutativeRing
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 Ring and S has 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 Ring and S has LinearlyExplicitOver Integer
reducedSystem: Matrix % -> Matrix S if S has Ring

from LinearlyExplicitOver S

retract: % -> Fraction Integer if S has RetractableTo Fraction Integer
retract: % -> Integer if S has RetractableTo Integer
retract: % -> S

from RetractableTo S

retractIfCan: % -> Union(Fraction Integer, failed) if S has RetractableTo Fraction Integer
retractIfCan: % -> Union(Integer, failed) if S has 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) -> Boolean

from Aggregate

size: () -> NonNegativeInteger if S has Finite

from Finite

smaller?: (%, %) -> Boolean if S has OrderedSet or S has Finite

from Comparable

subtractIfCan: (%, %) -> Union(%, failed)
sup: (%, %) -> % if S has OrderedAbelianMonoidSup
unitVector: PositiveInteger -> % if S has Monoid

from DirectProductCategory(n, S)

zero?: % -> Boolean

from AbelianMonoid

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 if S has OrderedSet or S has Finite

ConvertibleTo InputForm if S has Finite

DifferentialExtension S if S has Ring

DifferentialRing if S has DifferentialRing and S has Ring

DirectProductCategory(n, S)

Eltable(Integer, S)

Evalable S if S has Evalable S

Finite if S has Finite

finiteAggregate

FullyLinearlyExplicitOver S if S has Ring

Hashable if S has Finite

InnerEvalable(S, S) if S has Evalable S

LeftModule % if S has SemiRng

LeftModule S if S has SemiRng

LinearlyExplicitOver Integer if S has Ring and S has LinearlyExplicitOver Integer

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

NonAssociativeAlgebra % if S has CommutativeRing

NonAssociativeAlgebra 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

OrderedSet if S has OrderedSet

PartialDifferentialRing Symbol if S has PartialDifferentialRing Symbol and S has Ring

PartialOrder if S has OrderedSet

RightModule % if S has SemiRng

RightModule Integer if S has Ring and S has LinearlyExplicitOver Integer

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

TwoSidedRecip if S has CommutativeRing

unitsKnown if S has unitsKnown