[top][index]
search for:

tensor -- tensor product

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 = [a, b, c, d, e, f, g, Degrees => {{1}, {1}, {1}, {1}, {1}, {2}, {3}}]
i5 : tensor(M,M,Variables => {t_0 .. t_7}, MonomialOrder => ProductOrder{4,4})

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

o5 : GeneralOrderedMonoid
i6 : describe oo

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

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, MonomialOrder => Eliminate 2]
     101

o7 : PolynomialRing

See also:

  • ** -- a binary operator, usually used for tensor product
  • Ways to use tensor :

  • tensor(CoherentSheaf,CoherentSheaf)
  • tensor(Module,Module)
  • tensor(Monoid,Monoid)
  • tensor(PolynomialRing,PolynomialRing)
  • tensor(PolynomialRing,QuotientRing)
  • tensor(QuotientRing,PolynomialRing)
  • tensor(QuotientRing,QuotientRing)
  • tensor(Ring,Ring)
  • Optional arguments :

  • tensor(..., Adjust) -- adjust the multi-degree
  • tensor(..., Degrees) -- specify the degrees
  • tensor(..., Inverses) -- specify whether generators are invertible
  • tensor(..., MonomialOrder) -- monomial ordering
  • tensor(..., MonomialSize) -- specify maximum exponent size
  • tensor(..., NewMonomialOrder => ...)
  • tensor(..., Repair) -- repair the multi-degree
  • tensor(..., SkewCommutative) -- make a skewcommutative (alternating) ring
  • tensor(..., VariableBaseName) -- base name for variables
  • tensor(..., VariableOrder)
  • tensor(..., Variables) -- specify the variable names
  • tensor(..., Weights) -- specify monomial ordering by weights
  • tensor(..., WeylAlgebra) -- make a Weyl algebra

  • [top][index]
    search for: