|  |  D.12.6.2 weierstrPrep Procedure from libraryweierstr.lib(see  weierstr_lib).
 
Example:Usage:
weierstrPrep(f,d); f=poly, d=integer
Assume:
f must be general of finite order, say b, in the last ring variable,
say T; if not apply the procedure lastvarGeneral first
Purpose:
perform the Weierstrass preparation of f up to order d
Return:
- a list, say l, of two polynomials and one integer,
l[1] a unit, l[2] a Weierstrass polynomial, l[3] an integer
such that l[1]*f = l[2], where l[2] is a Weierstrass polynomial,
(i.e. l[2] = T^b + lower terms in T) up to (including) total degree d
l[3] is the number of iterations used
 - if f is not T-general, return (0,0)
 
Note:
the procedure works for any monomial ordering
Theory:
the proof of Grauert-Remmert (Analytische Stellenalgebren) is used
for the algorithm
 |  | LIB "weierstr.lib";
ring R = 0,(x,y),ds;
poly f = xy+y2+y4;
list l = weierstrPrep(f,5); l; "";
==> [1]:
==>    1-x2+xy-y2+3x4-3x3y+3x2y2-2xy3+y4
==> [2]:
==>    xy+y2-x3y
==> [3]:
==>    6
==> 
f*l[1]-l[2];                      // = 0 up to degree 5
==> 3x5y+3x4y4-3x3y5+3x2y6-2xy7+y8
 | 
 
 |