|
D.5.5.6 displayHNE
Procedure from library hnoether.lib (see hnoether_lib).
- Usage:
displayHNE(L[,n]); L list, n int
- Assume:
L is the output of develop(f) , or of exdevelop(f,n) ,
or of hnexpansion(f[,"ess"]) , or (one entry in) the list
hne in the ring created by hnexpansion(f[,"ess"]) .
- Return:
- if only one argument is given, no return value, but
display an ideal HNE of the following form:
| HNE[1]=-y+[]*z(0)^1+[]*z(0)^2+...+z(0)^<>*z(1)
HNE[2]=-x+ []*z(1)^2+...+z(1)^<>*z(2)
HNE[3]= []*z(2)^2+...+z(2)^<>*z(3)
....... ..........................
HNE[r+1]= []*z(r)^2+[]*z(r)^3+......
|
where x ,y are the first 2 variables of the basering.
The values of [] are the coefficients of the Hamburger-Noether
matrix, the values of <> are represented by x in the
HN-matrix.
- if a second argument is given, create and export a new ring with
name displayring containing an ideal HNE as described
above.
- if L corresponds to the output of hnexpansion(f[,"ess"])
or to the list hne in the ring created by hnexpansion(f[,"ess"]) ,
displayHNE(L[,n]) shows the HNE’s of all branches of f in the form
described above. The optional parameter is then ignored.
- Note:
The 1st line of the above ideal (i.e., HNE[1] ) means that
y=[]*z(0)^1+... , the 2nd line (HNE[2] ) means that
x=[]*z(1)^2+... , so you can see which indeterminate
corresponds to which line (it’s also possible that x corresponds
to the 1st line and y to the 2nd).
Example:
| LIB "hnoether.lib";
ring r=0,(x,y),dp;
poly f=x3+2xy2+y2;
list hn=develop(f);
displayHNE(hn);
→ HNE[1]=-y+z(0)*z(1)
→ HNE[2]=-x-z(1)^2
|
See also:
develop;
hnexpansion.
|