[back] [prev] [next] [index] [root]

 


ModuleMove

Changes the coefficient order of the module.

Syntax:

M2 := ModuleMove(M1, o);

same type as M1
  M2  
module | list of modules
  M1  
order
  o  

See also:  EltMove, IdealMove

Description:

Suppose M1 is an o_1-module and there is an order o_2 such that there is an homomorphism from \phi:o_1\too_2 this function will compute \phi( M1). This is done simply by applying \phi to all the matrix elements and to the coefficient ideals of M1. \phi must be known to the system before using this function. If M1 is a list of modules all modules contained are moved.


Example:


kash> O:=Order(Poly(Zx,[1,1,-4,-14,3,1]));;
kash> o:=OrderMaximal(O);;
kash> M:=Module([Ideal(2,Elt(o,[0, 0, 0, 1, 1])),1*o],
> Mat(o,[[1,Elt(o, [2, 2, 0, 2, 0])],[0,1]]));
{<2, [0, 0, 0, 1, 1]><1>
[1 [2, 2, 0, 2, 0]]
[0 1]
}

kash> M1:=ModuleMove(M, O);
{<2, [2, 1, 1, 1, 1] / 2><1>
[1 [3, 3, 1, 1, 0]]
[0 1]
}

kash> M2:=ModuleMove(M1, o);
{<2, [0, 0, 0, 1, 1]><1>
[1 [2, 2, 0, 2, 0]]
[0 1]
}

kash> M=M2;
> true


<- back[back] [prev] [next] [index] [root]