19.07.2014 Views

Contents - Student subdomain for University of Bath

Contents - Student subdomain for University of Bath

Contents - Student subdomain for University of Bath

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

5.5. HENSEL LIFTING 157<br />

Figure 5.4: Algorithm 25<br />

Algorithm 25 (Hensel Lifting (Linear Two Factor version))<br />

Input: f, g (1) , h (1) , p, k with f monic and ≡ g (1) h (1) (mod p)<br />

Output: g (k) , h (k) with f ≡ g (k) h (k) (mod p k )<br />

g := g (1)<br />

h := h (1)<br />

g (r) , h (r) := Algorithm 4(g (1) , h (1) ) in Z p [x]<br />

<strong>for</strong> i := 2 . . . k<br />

∆ := f − gh (mod pi )<br />

p i−1<br />

g (c) := ∆ ∗ h (r) (mod (p, g (1) ))<br />

h (c) := ∆ ∗ g (r) (mod (p, h (1) ))<br />

g := g + p i−1 g (c)<br />

h := h + p i−1 h (c)<br />

return (g, h)<br />

Figure 5.5: Algorithm 26<br />

Algorithm 26 (Hensel Lifting (Linear version))<br />

Input: f, g (1)<br />

1 , . . . , g(1) n , p, k with f primitive and ≡ ∏ g (1)<br />

Output: g (k)<br />

1 , . . . , g(k) n<br />

<strong>for</strong> j := 1 . . . n<br />

g (1)<br />

j := lc(f)<br />

lc(g (1) ) g(1) j<br />

j<br />

with f ≡ ∏ g (k)<br />

i (mod p k )<br />

F := lc(f) n−1 f #leading coefficients imposed<br />

<strong>for</strong> j := 1 . . . n<br />

g (r)<br />

j , h (r)<br />

j := Algorithm 4(g (1)<br />

j , ∏ i≠j g(1) i ) in Z p [x]<br />

<strong>for</strong> i := 2 . . . k<br />

∆ := F − ∏ j g j (mod p i )<br />

p i−1<br />

<strong>for</strong> j := 1 . . . n<br />

g (c)<br />

j<br />

:= ∆ ∗ h (r)<br />

j (mod (p, g (1)<br />

j ))<br />

g j := g j + p i−1 g (c)<br />

j<br />

<strong>for</strong> j := 1 . . . n<br />

g j := pp(g j ) #undo the imposed leading coefficients<br />

return (g 1 , . . . , g n )<br />

i (mod p)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!