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