|
D.5.5.5 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 of the output of reddevelop(f) .
- 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 reddevelop; 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
param(L) , param(extdevelop(L,N)) will increase the
exactness by at least (N-n) more significant monomials.
Example:
| LIB "hnoether.lib";
// -------- prepare for example ---------
if (nameof(basering)=="HNEring") {
def rettering=HNEring;
kill HNEring;
}
// ------ the example starts here -------
ring exring=0,(x,y),dp;
list hne=reddevelop(x14-3y2x11-y3x10-y2x9+3y4x8+y5x7+3y4x6+x5*(-y6+y5)
-3y6x3-y7x2+y8);
==> finite HNE found
==> HNE of one branch found
==> finite HNE found
==> // result: 3 branch(es) successfully computed,
==> // basering has changed to HNEring
print(hne[1][1]); // HNE of 1st branch is finite
==> 0,x,0,
==> 0,1,x
print(extdevelop(hne[1],5)[1]);
==> No extension is possible
==> 0,x,0,
==> 0,1,x
print(hne[2][1]); // HNE of 2nd branch can be extended
==> 0,x,0,
==> 0,1,x,
==> 0,1,-1
list ehne=extdevelop(hne[2],5);
==> a(2,3) = -1
==> a(2,4) = 1
==> a(2,5) = -1
print(ehne[1]); // new HN-matrix has 5 columns
==> 0,x,0, 0,0,
==> 0,1,x, 0,0,
==> 0,1,-1,1,-1
param(hne[2]);
==> // ** Warning: result is exact up to order 5 in x and 7 in y !
==> _[1]=x4-x5-x6+x7
==> _[2]=x6-2x7+2x9-x10
param(ehne);
==> // ** Warning: result is exact up to order 7 in x and 9 in y !
==> _[1]=x4-x5+x6-x7-x8+x9-x10+x11
==> _[2]=x6-2x7+3x8-4x9+2x10-2x12+4x13-3x14+2x15-x16
kill HNEring,exring;
// --- restore HNEring if previously defined ---
if (defined(rettering)) {
setring rettering;
def HNEring=rettering;
export HNEring;
}
| See also:
develop;
param;
reddevelop.
|