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

 


EltReconstruct

Lifts an element from a modulo m approximation to an element with rational coefficients

Syntax:

alpha := EltReconstruct (gamma, m);

false or algebraic element
  alpha  
algebraic element
  gamma  
integer
  m  

See also:  RationalReconstruct

Description:

Given an element \gamma = c_1omega_1+ … +c_nomega_n in an order over Z with coefficients less than the positive integer m, the function EltReconstruct computes an element \alpha in the same order which is equal to the element q_1omega_1+ … +q_nomega_n, where the q_i are the reconstructed rationals from c_i and m (q_i = frac{a_i}{b_i} such that a_i \equiv b_i c_i \bmod m and 0 \le |a_i|,b_i < \sqrt{frac{m}{2}}, b_i \neq 0, if such a pair exists). Otherwise false is returned.


Example:


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

kash> gamma := Elt(O,[17,4]);
[17, 4]
kash> EltReconstruct(gamma,49);
> [2, 12] / 3


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