Dom::TensorProductOfFreeModules – The domain of Tensor Product of Free Modules

Dom::TensorProductOfFreeModules([F1,F2,...]) create the tensor products of the free modules F1, F2.

→ Examples

Creating the Type

Dom::TensorProductOfFreeModules(ListF)

Parameters:

ListF

a non empty list of free modules over the same coefficient ring R.

Details:

Categories

Cat::ModuleWithBasis(R)

Entries

"modules"

the lists of modules whose dom is the tensor product. This list is flattened so that it contains no tensor products.

"basisIndices"

the combinatorial class baseClass of the indices of the basis.

tensorConstructorFromSignature – tensor constructor

(Dom::TensorProductOfFreeModules(ListF))::tensorConstructorFromSignature(signature lambda)

Returns a function which build a tensor product from list of elements of type Type::ListProductop(signature).

tensorConstructor – tensor constructor

(Dom::TensorProductOfFreeModules(ListF))::tensorConstructor(Type::ListProduct(op(dom::modules)) ListF)

Build the tensor products from the elements of the modules from the list ListF. This is the method tensorConstructorFromSignature called with the signature dom::modules.

toCartesianProductFromSignature – tensor analyzer

(Dom::TensorProductOfFreeModules(ListF))::toCartesianProductFromSignature(signature lambda)

Returns a function which returns a lists of Type::ListProduct(op(dom::modules)) from an element of dom.

toCartesianProduct – tensor analyzer

(Dom::TensorProductOfFreeModules(ListF))::toCartesianProduct(dom x)

Build a Cartesian products from an element of dom. This is the method toCartesianProductFromSignature called with the signature dom::modules.

Example 1:

Let us create some free modules and elements

f1 := Dom::FreeModule(Dom::Rational, combinat::words):

f2 := Dom::FreeModule(Dom::Rational, combinat::partitions):

e1 := f1([a, c, b]);

e2 := f2([3, 2, 1, 1]);

math

math

Let us compute a tensor product of two elements.

et := operators::tensor(e1, e2)

math

Its domain is:

tdom := domtype(et)

Error: Wrong type of 1. argument (type 'Type::Union(Cat::CombinatorialClass, Cat::Ring)' expected,

       got argument 'combinat::words');

during evaluation of 'Dom::FreeModulePoly'

 

The element et can also be constructed by

et2 := tdom::tensorConstructor([e1, e2]);

bool(et = et2);

math

math

Changes in MuPAD 3.1

New Function.