| LIB "hnoether.lib";
if (defined(HNEring))
{
def save_r_i_n_g=HNEring;
kill HNEring;
}
// ------ the example starts here -------
ring exring=0,(x,y),dp;
list hn=hnexpansion(x14-3y2x11-y3x10-y2x9+3y4x8+y5x7+3y4x6+x5*(-y6+y5)
-3y6x3-y7x2+y8);
def HNEring=hn[1];
setring HNEring;
export(HNEring);
→ // ** `HNEring` is already global
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);
print(ehne[1]); // new HN-matrix has 5 columns
→ 0,x,0, 0,0,
→ 0,1,x, 0,0,
→ 0,1,-1,1,-1
parametrisation(hne[2]);
→ [1]:
→ _[1]=x4-x5-x6+x7
→ _[2]=x6-2x7+2x9-x10
parametrisation(ehne);
→ [1]:
→ _[1]=x4-x5+x6-x7-x8+x9-x10+x11
→ _[2]=x6-2x7+3x8-4x9+2x10-2x12+4x13-3x14+2x15-x16
if (defined(save_r_i_n_g))
{
kill HNEring;
def HNEring=save_r_i_n_g;
}
|