TensorProduct(R, B1, B2, M1, M2)
tensor.spad line 76
[edit on github]
Tensor product of free modules over a commutative ring. It is represented as a free module over the direct product of the respective bases. The factor domains must provide operations listOfTerms
, whose result is assumed to be stored in reverse order.
- * : (%, %) -> % if M1 has Algebra(R) and M2 has Algebra(R) or M2 has NonAssociativeAlgebra(R) and M1 has NonAssociativeAlgebra(R)
- from Magma
- * : (%, R) -> %
- from RightModule(R)
- * : (R, %) -> %
- from LeftModule(R)
- * : (Integer, %) -> %
- from AbelianGroup
- * : (NonNegativeInteger, %) -> %
- from AbelianMonoid
- * : (PositiveInteger, %) -> %
- from AbelianSemiGroup
- + : (%, %) -> %
- from AbelianSemiGroup
- - : % -> %
- from AbelianGroup
- - : (%, %) -> %
- from AbelianGroup
- 0 : () -> %
- from AbelianMonoid
- 1 : () -> % if M1 has Algebra(R) and M2 has Algebra(R) or M2 has CommutativeRing and M2 has NonAssociativeAlgebra(R) and M1 has CommutativeRing and M1 has NonAssociativeAlgebra(R)
- from MagmaWithUnit
- = : (%, %) -> Boolean
- from BasicType
- ^ : (%, NonNegativeInteger) -> % if M1 has Algebra(R) and M2 has Algebra(R) or M2 has CommutativeRing and M2 has NonAssociativeAlgebra(R) and M1 has CommutativeRing and M1 has NonAssociativeAlgebra(R)
- from MagmaWithUnit
- ^ : (%, PositiveInteger) -> % if M1 has Algebra(R) and M2 has Algebra(R) or M2 has NonAssociativeAlgebra(R) and M1 has NonAssociativeAlgebra(R)
- from Magma
- annihilate? : (%, %) -> Boolean if M1 has Algebra(R) and M2 has Algebra(R) or M2 has CommutativeRing and M2 has NonAssociativeAlgebra(R) and M1 has CommutativeRing and M1 has NonAssociativeAlgebra(R)
- from Rng
- antiCommutator : (%, %) -> % if M1 has Algebra(R) and M2 has Algebra(R) or M2 has NonAssociativeAlgebra(R) and M1 has NonAssociativeAlgebra(R)
- from NonAssociativeSemiRng
- associator : (%, %, %) -> % if M1 has Algebra(R) and M2 has Algebra(R) or M2 has NonAssociativeAlgebra(R) and M1 has NonAssociativeAlgebra(R)
- from NonAssociativeRng
- characteristic : () -> NonNegativeInteger if M1 has Algebra(R) and M2 has Algebra(R) or M2 has CommutativeRing and M2 has NonAssociativeAlgebra(R) and M1 has CommutativeRing and M1 has NonAssociativeAlgebra(R)
- from NonAssociativeRing
- coefficient : (%, Product(B1, B2)) -> R
- from FreeModuleCategory(R, Product(B1, B2))
- coefficients : % -> List(R)
- from FreeModuleCategory(R, Product(B1, B2))
- coerce : % -> % if M2 has CommutativeRing and M2 has NonAssociativeAlgebra(R) and M1 has CommutativeRing and M1 has NonAssociativeAlgebra(R)
- from Algebra(%)
- coerce : R -> % if M1 has Algebra(R) and M2 has Algebra(R)
- from Algebra(R)
- coerce : Integer -> % if M1 has Algebra(R) and M2 has Algebra(R) or M2 has CommutativeRing and M2 has NonAssociativeAlgebra(R) and M1 has CommutativeRing and M1 has NonAssociativeAlgebra(R)
- from NonAssociativeRing
- coerce : % -> OutputForm
- from CoercibleTo(OutputForm)
- commutator : (%, %) -> % if M1 has Algebra(R) and M2 has Algebra(R) or M2 has NonAssociativeAlgebra(R) and M1 has NonAssociativeAlgebra(R)
- from NonAssociativeRng
- construct : List(Record(k : Product(B1, B2), c : R)) -> %
- from IndexedProductCategory(R, Product(B1, B2))
- constructOrdered : List(Record(k : Product(B1, B2), c : R)) -> % if Product(B1, B2) has Comparable
- from IndexedProductCategory(R, Product(B1, B2))
- latex : % -> String
- from SetCategory
- leadingCoefficient : % -> R if Product(B1, B2) has Comparable
- from IndexedProductCategory(R, Product(B1, B2))
- leadingMonomial : % -> % if Product(B1, B2) has Comparable
- from IndexedProductCategory(R, Product(B1, B2))
- leadingSupport : % -> Product(B1, B2) if Product(B1, B2) has Comparable
- from IndexedProductCategory(R, Product(B1, B2))
- leadingTerm : % -> Record(k : Product(B1, B2), c : R) if Product(B1, B2) has Comparable
- from IndexedProductCategory(R, Product(B1, B2))
- leftPower : (%, NonNegativeInteger) -> % if M1 has Algebra(R) and M2 has Algebra(R) or M2 has CommutativeRing and M2 has NonAssociativeAlgebra(R) and M1 has CommutativeRing and M1 has NonAssociativeAlgebra(R)
- from MagmaWithUnit
- leftPower : (%, PositiveInteger) -> % if M1 has Algebra(R) and M2 has Algebra(R) or M2 has NonAssociativeAlgebra(R) and M1 has NonAssociativeAlgebra(R)
- from Magma
- leftRecip : % -> Union(%, "failed") if M1 has Algebra(R) and M2 has Algebra(R) or M2 has CommutativeRing and M2 has NonAssociativeAlgebra(R) and M1 has CommutativeRing and M1 has NonAssociativeAlgebra(R)
- from MagmaWithUnit
- linearExtend : (Mapping(R, Product(B1, B2)), %) -> R
- from FreeModuleCategory(R, Product(B1, B2))
- listOfTerms : % -> List(Record(k : Product(B1, B2), c : R))
- from IndexedDirectProductCategory(R, Product(B1, B2))
- map : (Mapping(R, R), %) -> %
- from IndexedProductCategory(R, Product(B1, B2))
- monomial : (R, Product(B1, B2)) -> %
- from IndexedProductCategory(R, Product(B1, B2))
- monomial? : % -> Boolean
- from IndexedProductCategory(R, Product(B1, B2))
- monomials : % -> List(%)
- from FreeModuleCategory(R, Product(B1, B2))
- numberOfMonomials : % -> NonNegativeInteger
- from IndexedDirectProductCategory(R, Product(B1, B2))
- one? : % -> Boolean if M1 has Algebra(R) and M2 has Algebra(R) or M2 has CommutativeRing and M2 has NonAssociativeAlgebra(R) and M1 has CommutativeRing and M1 has NonAssociativeAlgebra(R)
- from MagmaWithUnit
- opposite? : (%, %) -> Boolean
- from AbelianMonoid
- plenaryPower : (%, PositiveInteger) -> % if M1 has Algebra(R) and M2 has Algebra(R) or M2 has NonAssociativeAlgebra(R) and M1 has NonAssociativeAlgebra(R)
- from NonAssociativeAlgebra(R)
- recip : % -> Union(%, "failed") if M1 has Algebra(R) and M2 has Algebra(R) or M2 has CommutativeRing and M2 has NonAssociativeAlgebra(R) and M1 has CommutativeRing and M1 has NonAssociativeAlgebra(R)
- from MagmaWithUnit
- reductum : % -> % if Product(B1, B2) has Comparable
- from IndexedProductCategory(R, Product(B1, B2))
- rightPower : (%, NonNegativeInteger) -> % if M1 has Algebra(R) and M2 has Algebra(R) or M2 has CommutativeRing and M2 has NonAssociativeAlgebra(R) and M1 has CommutativeRing and M1 has NonAssociativeAlgebra(R)
- from MagmaWithUnit
- rightPower : (%, PositiveInteger) -> % if M1 has Algebra(R) and M2 has Algebra(R) or M2 has NonAssociativeAlgebra(R) and M1 has NonAssociativeAlgebra(R)
- from Magma
- rightRecip : % -> Union(%, "failed") if M1 has Algebra(R) and M2 has Algebra(R) or M2 has CommutativeRing and M2 has NonAssociativeAlgebra(R) and M1 has CommutativeRing and M1 has NonAssociativeAlgebra(R)
- from MagmaWithUnit
- sample : () -> %
- from AbelianMonoid
- smaller? : (%, %) -> Boolean if Product(B1, B2) has Comparable and R has Comparable
- from Comparable
- subtractIfCan : (%, %) -> Union(%, "failed")
- from CancellationAbelianMonoid
- support : % -> List(Product(B1, B2))
- from FreeModuleCategory(R, Product(B1, B2))
- tensor : (M1, M2) -> %
- from TensorProductCategory(R, M1, M2)
- zero? : % -> Boolean
- from AbelianMonoid
- ~= : (%, %) -> Boolean
- from BasicType
Comparable
Algebra(R)
RightModule(%)
Monoid
Algebra(%)
AbelianMonoid
BiModule(R, R)
NonAssociativeAlgebra(R)
CancellationAbelianMonoid
FreeModuleCategory(R, Product(B1, B2))
MagmaWithUnit
NonAssociativeRing
AbelianGroup
LeftModule(%)
IndexedDirectProductCategory(R, Product(B1, B2))
LeftModule(R)
CommutativeStar
Module(%)
TensorProductCategory(R, M1, M2)
SetCategory
Rng
IndexedProductCategory(R, Product(B1, B2))
CommutativeRing
TwoSidedRecip
Magma
SemiGroup
BiModule(%, %)
unitsKnown
CoercibleTo(OutputForm)
AbelianSemiGroup
NonAssociativeSemiRing
AbelianProductCategory(R)
NonAssociativeAlgebra(%)
Module(R)
RightModule(R)
NonAssociativeRng
Ring
SemiRng
NonAssociativeSemiRng
BasicType
SemiRing