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.

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

*: (%, %) -> % 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

*: (Integer, %) -> %

from AbelianGroup

*: (NonNegativeInteger, %) -> %

from AbelianMonoid

*: (PositiveInteger, %) -> %

from AbelianSemiGroup

*: (R, %) -> %

from LeftModule R

+: (%, %) -> %

from AbelianSemiGroup

-: % -> %

from AbelianGroup

-: (%, %) -> %

from AbelianGroup

=: (%, %) -> 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

~=: (%, %) -> Boolean

from BasicType

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: % -> OutputForm

from CoercibleTo OutputForm

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: R -> % if M1 has Algebra R and M2 has Algebra R

from Algebra R

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: (Product(B1, B2) -> R, %) -> R

from FreeModuleCategory(R, Product(B1, B2))

listOfTerms: % -> List Record(k: Product(B1, B2), c: R)

from IndexedDirectProductCategory(R, Product(B1, B2))

map: (R -> R, %) -> %

from IndexedProductCategory(R, Product(B1, B2))

monomial?: % -> Boolean

from IndexedProductCategory(R, Product(B1, B2))

monomial: (R, Product(B1, B2)) -> %

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

AbelianGroup

AbelianMonoid

AbelianProductCategory R

AbelianSemiGroup

Algebra % if M2 has CommutativeRing and M2 has NonAssociativeAlgebra R and M1 has CommutativeRing and M1 has NonAssociativeAlgebra R

Algebra R if M1 has Algebra R and M2 has Algebra R

BasicType

BiModule(%, %) 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

BiModule(R, R)

CancellationAbelianMonoid

CoercibleTo OutputForm

CommutativeRing if M2 has CommutativeRing and M2 has NonAssociativeAlgebra R and M1 has CommutativeRing and M1 has NonAssociativeAlgebra R

CommutativeStar if M2 has CommutativeRing and M2 has NonAssociativeAlgebra R and M1 has CommutativeRing and M1 has NonAssociativeAlgebra R or M2 has NonAssociativeAlgebra R and M2 has CommutativeStar and M1 has NonAssociativeAlgebra R and M1 has CommutativeStar

Comparable if Product(B1, B2) has Comparable and R has Comparable

FreeModuleCategory(R, Product(B1, B2))

IndexedDirectProductCategory(R, Product(B1, B2))

IndexedProductCategory(R, Product(B1, B2))

LeftModule % 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

LeftModule R

Magma if M1 has Algebra R and M2 has Algebra R or M2 has NonAssociativeAlgebra R and M1 has NonAssociativeAlgebra R

MagmaWithUnit 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

Module % if M2 has CommutativeRing and M2 has NonAssociativeAlgebra R and M1 has CommutativeRing and M1 has NonAssociativeAlgebra R

Module R

Monoid 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

NonAssociativeAlgebra % if M2 has CommutativeRing and M2 has NonAssociativeAlgebra R and M1 has CommutativeRing and M1 has NonAssociativeAlgebra R

NonAssociativeAlgebra R if M1 has Algebra R and M2 has Algebra R or M2 has NonAssociativeAlgebra R and M1 has NonAssociativeAlgebra R

NonAssociativeRing 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

NonAssociativeRng if M1 has Algebra R and M2 has Algebra R or M2 has NonAssociativeAlgebra R and M1 has NonAssociativeAlgebra R

NonAssociativeSemiRing 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

NonAssociativeSemiRng if M1 has Algebra R and M2 has Algebra R or M2 has NonAssociativeAlgebra R and M1 has NonAssociativeAlgebra R

RightModule % 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

RightModule R

Ring 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

Rng 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

SemiGroup 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

SemiRing 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

SemiRng 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

SetCategory

TensorProductCategory(R, M1, M2)

TwoSidedRecip if M2 has CommutativeRing and M2 has NonAssociativeAlgebra R and M1 has CommutativeRing and M1 has NonAssociativeAlgebra R or M2 has NonAssociativeAlgebra R and M2 has CommutativeStar and M1 has NonAssociativeAlgebra R and M1 has CommutativeStar

unitsKnown 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