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

 


Elt

Creates an algebraic number.

Syntax:

a := Elt(O,L);
a := Elt(O,L/d);
a := Elt(O,h/d);
a := Elt(O,h);

algebraic element
  a  
order
  O  
list
  L  
of coefficients
integer
  h  
integer
  d  

Description:

Let o be an order with coefficient order c. Denote by Quo(o) and Quo(c) the quotient field of o, respectively c. Let omega_1, … ,omega_n be the Quo(c) basis of Quo(o) which belongs to the order o. Each algebraic number a in o is of a form a = a_1 omega_1 + cdots + a_n omega_n with coefficients a_1, … ,a_n \in Quo(c).\smallskip To create a in KASH the coefficients of a must be passed to the Elt function as a list L of length n. The entries of L correspond to the coefficients a_i of a. Each entry l of L is either an algebraic number in c or it has to be a valid argument for the function call Elt(c,l). In the special case that c equals Z the Elt function requires that the entries of L are rational integers. \bigskip Elt(o,L) creates the element a = a_1omega_1 + cdots + a_nomega_n. \medskip Elt(O,L/d) creates the element a = frac{a_1}{d}omega_1 + cdots + frac{a_n}{d}omega_n. \medskip Elt(O,h) creates the algebraic number which corresponds to the rational integer h. \medskip Elt(O,h/d) creates the algebraic number which corresponds to the rational frac{h}{d}.


Example:

Create some algebraic elements:

kash> o1 := Order (Poly(Zx,[1,0,73,-280,-2399]));;
kash> u := Elt (o1,[1,2,3,4]/2);
[1, 2, 3, 4] / 2
kash> v := Elt (o1,2);
2
kash> u*v;
[1, 2, 3, 4]

kash> o2 := Order (o1,2,2);;
kash> o3 := Order (o2,2,3);
         F[1]
           /
          /
      E2[1]
        /
       /
   E1[1]
  /
 /
Q
F  [ 1]     x^2 - 3
E 2[ 1]     x^2 - 2
E 1[ 1]     x^4 + 73*x^2 - 280*x - 2399

kash> a := Elt (o3,[1,2]);
[1, 2]
kash> b := Elt (o3,[[[1,1,1,1],1/2],2]);
[[[2, 2, 2, 2], 1], 4] / 2
kash> c := Elt (o3,[[[1,1,1,1],1/2],[1/3,[4,5,6,8]/4]]);
[[[12, 12, 12, 12], 6], [4, [12, 15, 18, 24]]] / 12
kash> d := Elt (o3,1/2);
> 1 / 2


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