next | previous | forward | backward | up | top | index | toc | home

tensor -- tensor product

Synopsis

Description

tensor(M,N) -- tensor product of rings or monoids.

This method allows all of the options available for monoids, see monoid for details. This routine essentially combines the variables of M and N into one monoid.

For rings, the rings should be quotient rings of polynomial rings over the same base ring.

Here is an example with monoids.

i1 : M = monoid[a..d, MonomialOrder => Eliminate 1]

o1 = M

o1 : GeneralOrderedMonoid
i2 : N = monoid[e,f,g, Degrees => {1,2,3}]

o2 = N

o2 : GeneralOrderedMonoid
i3 : P = tensor(M,N,MonomialOrder => GRevLex)

o3 = P

o3 : GeneralOrderedMonoid
i4 : describe P

o4 = P
i5 : tensor(M,M,Variables => {t_0 .. t_7}, MonomialOrder => ProductOrder{4,4})

o5 = [t , t , t , t , t , t , t , t , Degrees => {{1, 0}, {1, 0}, {1, 0}, {1,
       0   1   2   3   4   5   6   7
     ------------------------------------------------------------------------
     0}, {0, 1}, {0, 1}, {0, 1}, {0, 1}}, MonomialOrder => ProductOrder{4,
     ------------------------------------------------------------------------
     4}]

o5 : GeneralOrderedMonoid
i6 : describe oo

o6 = [t , t , t , t , t , t , t , t , Degrees => {{1, 0}, {1, 0}, {1, 0}, {1,
       0   1   2   3   4   5   6   7
     ------------------------------------------------------------------------
     0}, {0, 1}, {0, 1}, {0, 1}, {0, 1}}, MonomialOrder => ProductOrder{4,
     ------------------------------------------------------------------------
     4}]
Here is a similar example with rings.
i7 : tensor(ZZ/101[x,y], ZZ/101[r,s], MonomialOrder => Eliminate 2)

      ZZ
o7 = --- [x, y, r, s, Degrees => {{1, 0}, {1, 0}, {0, 1}, {0, 1}},
     101
     ------------------------------------------------------------------------
     MonomialOrder => Eliminate{2}]

o7 : PolynomialRing

See also

Ways to use tensor :