C = A ** B
C = tensor(A, B, ...)
This is the same as A ** B except that options are allowed, see Monoid ** Monoid and Ring ** Ring. This method allows many of the options available for monoids, see monoid for details. This method essentially combines the variables of A and B into one monoid or ring.
|
|
|
The simplest version is to simply use **:
|
If you wish to change the variable names:
|
|
The tensor product of two singly graded rings is bigraded. Sometimes you want a singly graded ring. Here is one way to get it:
|
|
|
Packing monomials into smaller space is more efficient, but less flexible. The default is 32 bits, so if you want to pack them into 8 bit exponents, use:
|
The default monomial order for tensor products is a product order. Sometimes other orders are more desirable, e.g. GRevLex, or an elimination order:
|
|
If you tensor two skew-commutative rings, (or one skew commutative ring with a commutative polynomial ring), then all of the skew-commuting variables skew commute with each other:
|
|
|
|
|
Similarly, tensoring two Weyl algebras (or one and a polynomial ring) produces a Weyl algebra with both sets of non-commuting pairs.
|
|
|
Two polynomial rings must have the same coefficient ring, otherwise an error is issued. Currently, there is no way to specify other rings over which to define the tensor product.
|
|
|
|
The flat monoid with the all variables visible, including those from the base ring, can be obtained as follows.
|
Not all of the options for monoid are useful here. Some are silently ignored.
The source of this document is in Macaulay2Doc/functions/tensor-doc.m2:200:0.