Top
Back: D.5.5.4 extdevelop
Forward: D.5.5.6 displayHNE
FastBack: D. SINGULAR libraries
FastForward: E. Release Notes
Up: D.5.5 hnoether_lib
Top: Singular 2-0-4 Manual
Contents: Table of Contents
Index: F. Index
About: About This Document

D.5.5.5 parametrisation

Procedure from library hnoether.lib (see hnoether_lib).

Usage:

parametrisation(INPUT [,x]); INPUT list or poly, x int (optional)

Assume:

INPUT is either a bivariate polynomial f defining a plane curve singularity, or it is the output of hnexpansion(f[,"ess"]), or of develop(f), or of extdevelop(develop(f),n), or the list @{hne} in the ring created by hnexpansion(f) respectively one entry thereof.

Return:

a list L containing a parametrization L[i] for each branch f[i] of f in the following format:
- if only the list INPUT is given, L[i] is an ideal of two polynomials p[1],p[2]: if the HNE of was finite then f[i](p[1],p[2])=0; if not, the "real" parametrization will be two power series and p[1],p[2] are truncations of these series.
- if the optional parameter x is given, L[i] is itself a list: L[i][1] is the parametrization ideal as above and L[i][2] is an intvec with two entries indicating the highest degree up to which the coefficients of the monomials in L[i][1] are exact (entry -1 means that the corresponding parametrization is exact).

Note:

If the basering has only 2 variables, the first variable is chosen as indefinite. Otherwise, the 3rd variable is chosen.
In case the Hamburger-Noether expansion of the curve f is needed for other purposes as well it is better to calculate this first with the aid of hnexpansion and use it as input instead of the polynomial itself.

Example:

 
LIB "hnoether.lib";
ring exring=0,(x,y,t),ds;
// 1st Example: input is a polynomial
poly g=(x2-y3)*(x3-y5);
parametrisation(g);
→ [1]:
→    _[1]=t3
→    _[2]=t2
→ [2]:
→    _[1]=t5
→    _[2]=t3
// 2nd Example: input is the ring of a Hamburger-Noether expansion
poly h=x2-y2-y3;
list hn=hnexpansion(h);
parametrisation(h,1);
→ [1]:
→    [1]:
→       _[1]=t
→       _[2]=t-1/2t2
→    [2]:
→       -1,2
→ [2]:
→    [1]:
→       _[1]=t
→       _[2]=-t-1/2t2
→    [2]:
→       -1,2
// 3rd Example: input is a Hamburger-Noether expansion
poly f=x3+2xy2+y2;
list hne=develop(f);
list hne_extended=extdevelop(hne,10);
//   compare the matrices ...
print(hne[1]);
→ 0,x,
→ 0,-1
print(hne_extended[1]);
→ 0,x, 0,0,0,0, 0,0,0,0, 
→ 0,-1,0,2,0,-4,0,8,0,-16
// ... and the resulting parametrizations:
parametrisation(hne);
→ [1]:
→    _[1]=-t2
→    _[2]=-t3
parametrisation(hne_extended);
→ [1]:
→    _[1]=-t2+2t4-4t6+8t8-16t10
→    _[2]=-t3+2t5-4t7+8t9-16t11
parametrisation(hne_extended,0);
→ [1]:
→    [1]:
→       _[1]=-t2+2t4-4t6+8t8-16t10
→       _[2]=-t3+2t5-4t7+8t9-16t11
→    [2]:
→       10,11

See also: develop; extdevelop.


Top Back: D.5.5.4 extdevelop Forward: D.5.5.6 displayHNE FastBack: D. SINGULAR libraries FastForward: E. Release Notes Up: D.5.5 hnoether_lib Top: Singular 2-0-4 Manual Contents: Table of Contents Index: F. Index About: About This Document
            User manual for Singular version 2-0-4, October 2002, generated by texi2html.