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

 


EltUnitDecompose

Returns the decomposition of an unit with respect to the computed system of fundamental units of a maximal order.

Syntax:

F := EltUnitDecompose(u);
L := EltUnitDecompose(u,"expons");

list
  F  
list
  L  
algebraic element
  u  

Description:

Let o be an order over Z. Let \varepsilon_1, … , \varepsilon_r be the system of fundamental units of o computed by the OrderUnitsFund function and let zeta \in o be the generator of the cyclic torsion subgroup which is accessible by the OrderTorsionUnit function. Each unit u \in o is of a form u = zeta^{m_0} \varepsilon^{m_1} cdots \varepsilon^{m_1} with rational integers m_0,m_1, … ,m_r.\bigskip F := EltUnitDecompose(u) returns the above decomposition of u. \medskip L := EltUnitDecompose(u,"expons") returns the exponents m_0,m_1, … ,m_r of the above decomposition of u.


Example:

Decompose certain units in {Z}[\sqrt[4]{2}] :

kash> o := Order(Z,4,2);
Generating polynomial: x^4 - 2

kash> L := OrderUnitsFund(o);
[ [1, 0, 1, 0], [1, -1, 0, 0] ]
kash> u := L[1]; v:= L[2];
[1, 0, 1, 0]
[1, -1, 0, 0]
kash> EltUnitDecompose(u*v);
[ [ [1, 0, 1, 0], 1 ], [ [1, -1, 0, 0], 1 ] ]
kash> EltUnitDecompose(u*v,"expons");
[ 0, 1, 1 ]
kash> EltUnitDecompose(-u*v);
[ [ -1, 1 ], [ [1, 0, 1, 0], 1 ], [ [1, -1, 0, 0], 1 ] ]
kash> EltUnitDecompose(-u*v,"expons");
[ 1, 1, 1 ]
kash> EltUnitDecompose(u^3*v^2);
[ [ [1, 0, 1, 0], 3 ], [ [1, -1, 0, 0], 2 ] ]
kash> EltUnitDecompose(u^3*v^2,"expons");
> [ 0, 3, 2 ]


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