Home Online Manual
Top
Back: develop
Forward: param
FastBack: gmspoly_lib
FastForward: kskernel_lib
Up: hnoether_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.6.9.3 extdevelop

Procedure from library hnoether.lib (see hnoether_lib).

Usage:
extdevelop(L,N); list L, int N

Assume:
L is the output of develop(f), or of extdevelop(l,n), or one entry in the list hne in the ring created by hnexpansion(f[,"ess"]).

Return:
an extension of the Hamburger-Noether development of f as a list in the same format as L has (up to the last entry in the output of develop(f)).
Type help develop;, resp. help hnexpansion; for more details.

Note:
The new HN-matrix will have at least N columns (if the HNE is not finite). In particular, if f is irreducible then (in most cases) extdevelop(develop(f),N) will produce the same result as develop(f,N).
If the matrix M of L has n columns then, compared with parametrization(L), paramametrize(extdevelop(L,N)) will increase the exactness by at least (N-n) more significant monomials.

Example:
 
LIB "hnoether.lib";
ring exring=0,(x,y),dp;
list Hne=hnexpansion(x14-3y2x11-y3x10-y2x9+3y4x8+y5x7+3y4x6+x5*(-y6+y5)
-3y6x3-y7x2+y8);
==> // No change of ring necessary, return value is HN expansion.
displayHNE(Hne);    // HNE of 1st,3rd branch is finite
==> // Hamburger-Noether development of branch nr.1:
==>   y = z(1)*x
==>   x = z(1)^2
==> 
==> // Hamburger-Noether development of branch nr.2:
==>   y = z(1)*x
==>   x = z(1)^2+z(1)^2*z(2)
==>   z(1) = z(2)^2-z(2)^3 + ..... (terms of degree >=4)
==> 
==> // Hamburger-Noether development of branch nr.3:
==>   y = z(1)*x^2
==>   x = z(1)^2
==> 
print(extdevelop(Hne[1],5)[1]);
==>  No extension is possible
==> 0,x,0,
==> 0,1,x 
list ehne=extdevelop(Hne[2],5);
displayHNE(ehne);
==>   y = z(1)*x
==>   x = z(1)^2+z(1)^2*z(2)
==>   z(1) = z(2)^2-z(2)^3+z(2)^4-z(2)^5 + ..... (terms of degree >=6)
param(Hne[2]);
==> // ** Warning: result is exact up to order 5 in x and 7 in y !
==> _[1]=x7-x6-x5+x4
==> _[2]=-x10+2x9-2x7+x6
param(ehne);
==> // ** Warning: result is exact up to order 7 in x and 9 in y !
==> _[1]=x11-x10+x9-x8-x7+x6-x5+x4
==> _[2]=-x16+2x15-3x14+4x13-2x12+2x10-4x9+3x8-2x7+x6
See also: develop; hnexpansion; param.