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

 


OrderNormEquation

Solves a (relative) norm equation.

Syntax:

L := OrderNormEquation(o, a [,n | "all" [,"exact" | "abs" | "ineq"]]);

list
  L  
int | element of the coefficient ring
  a  
int
  n  

See also:  Solve

Description:

Searches for elements \alpha \in o with norm a. The third argument specifies the number of different non associated solutions. OrderNormEquation tries to find n, all or, if unspecified, 1 solution. The default for the fourth argument is "exact": the function solves the above mentioned equation. If "abs" is given, the norm equation rm{Norm}(\alpha) = \epsilon a is solved, where \epsilon is a torsion unit of the coefficient ring of the given order. The "ineq"-Option is supported only in the absolute case, here the norm equation 0 <= rm{Norm}(\alpha) <= a is solved. Remember that solving relative norm equations may take quite a long time. Due to the used algorithm it is faster to call the OrderNormEquation function using the "abs"-Option than using the "exact"-Option or the default value. For further information about the algorithms we refer the reader to Fin1 for the absolute case and to Fi1 otherwise.


Example:

First we solve an absolute norm equation in Z[\sqrt[3]{5}].

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

kash> L := OrderNormEquation(o, 4);
[ [29, 17, 10] ]
kash> L := OrderNormEquation(o, 4, "all");
[ [29, 17, 10], [-1, -1, 1] ]
kash> EltNorm(L[1]);
4
kash> EltNorm(L[2]); 
4


Example:

Now a relative norm equation is solved in the maximal order of Q(\sqrt[3]{5},\sqrt{2}).

kash> O := Order(o, 2, 2);;
kash> EltNorm(Elt(O, [[1, 2, 3], [3, 2, 2]]));
[-37, -15, -22]
kash> a:=OrderNormEquation(O, Elt(o, [-37, -15, -22]), 1, "abs");
[ [[-5, -2, -1], [2, 0, -1]] ]
kash> EltNorm(a[1]);
> [37, 15, 22]


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