[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]