Computation of the inverse system at a multiple point
Description
The algorithm computes the structure of the local ring and the generators of the dual space of a multiple isolated point.
It is described in
@Article{MBmega96,
author = "Mourrain, B.",
title = "Isolated points, duality and residues",
journal = "J. of Pure and Applied Algebra",
year = "1996",
file = "ftp://www.inria.fr/safir/9606-BM-mega.ps.gz",
volume = "117 \& 118",
pages = "469-493",
note = "Special issue for the proc. of the 4th Int. Symp. on
Effective Methods in Algebraic Geometry (MEGA)"
}
An implementattion by B. Bertrand is available
here.
Example
> read invsyst:
> f := [x[1]^2-x[1]+x[2]+x[3]+x[4]+x[5]-4, x[2]^2+x[1]-x[2]+x[3]+x[4]+x[5]-4,
x[3]^2+x[1]+x[2]-x[3]+x[4]+x[5]-4, x[4]^2+x[1]+x[2]+x[3]-x[4]+x[5]-4,
x[5]^2+x[1]+x[2]+x[3]+x[4]-x[5]-4]:
> F:=map(expand,subs(x[1]=u[1]+1,x[2]=u[2]+1,x[3]=u[3]+1,
x[4]=u[4]+1,x[5]=u[5]+1,f)):
> invsyst(F,[0,0,0,0,0]);
[[1],
[-d[1] + d[3], -d[1] + d[4], -d[1] + d[5], -d[1] + d[2]], [
2 2 2 2
-2 d[1] - 2 d[2] - 2 d[3] + d[3] d[2] + d[4] d[3] - 2 d[4]
2
+ d[4] d[2] + 2 d[5] + 2 d[5] d[1] - 2 d[5] ,
2
d[4] d[1] - d[4] d[3] - d[5] d[1] + d[5] d[3], -2 d[1]
2 2 2
+ d[2] d[1] - 2 d[2] - 2 d[3] + d[4] d[3] - 2 d[4]
2 2
+ d[4] d[2] + 2 d[5] + d[5] d[1] + d[5] d[3] - 2 d[5] , -2 d[1]
2 2 2
- 2 d[2] + d[3] d[1] - 2 d[3] - 2 d[4] + 2 d[4] d[2] + 2 d[5]
2 2 2 2
+ d[5] d[1] + d[5] d[3] - 2 d[5] , 2 d[1] + 2 d[2] + 2 d[3]
2
- d[4] d[3] + 2 d[4] - 2 d[4] d[2] - 2 d[5] - 2 d[5] d[1]
2
- d[5] d[3] + d[5] d[4] + 2 d[5] ,
d[4] d[3] - d[4] d[2] - d[5] d[3] + d[5] d[2]], [-4 d[3] d[1]
2 3 2 2
- 4 d[5] + 4 d[1] + 2 d[1] + 4 d[4] + 2 d[4] d[1]
2 2
+ 2 d[2] d[1] - 2 d[5] d[1] + 4 d[5] + 4 d[5] d[3] - 2 %6
2 2 2 2
- 2 d[5] d[4] - 2 d[5] d[1] - 2 d[5] d[2] - 2 d[5] d[3]
2 2
- 2 d[5] d[4] - 6 d[5] d[2] + 2 d[5] d[4] + 4 d[3]
2 3 3 3
- 4 d[4] d[3] + 2 d[3] d[1] + 2 d[2] - 2 d[4] - 2 d[5]
2 2 2
+ 4 d[2] + 2 d[5] d[2] + 2 d[3] d[2] - %4 + d[5] d[4] d[2]
2 2 2 2
+ 2 d[4] d[2] - 2 d[4] d[1] - 2 d[4] d[2] - 2 d[4] d[3]
2 2
+ 2 d[5] d[1] - %3 + 2 d[2] d[1] + %2 + 2 %1, -4 d[3] d[1]
2 3 2 2
- 4 d[5] + 4 d[1] + 2 d[1] + 4 d[4] + %5 + 2 d[4] d[1]
2 2
+ 2 d[2] d[1] - 2 d[5] d[1] + 4 d[5] + 6 d[5] d[3] - %6
2 2 2 2
- 2 d[5] d[1] - 2 d[5] d[2] - 2 d[5] d[3] - 2 d[5] d[4]
2 2 3
- 6 d[5] d[2] + 4 d[3] - 4 d[4] d[3] + 2 d[3] d[1] + 2 d[2]
3 2 3 2 2
- 2 d[5] + 4 d[2] - 2 d[3] + 2 d[5] d[2] - 2 d[3] d[1]
2 2 2 2
- 2 d[3] d[2] + 2 d[3] d[2] - %4 - 2 d[4] d[3] + 2 d[4] d[2]
2 2 2
+ 2 d[5] d[1] - 2 d[5] d[3] - 2 %3 + 2 d[2] d[1] + 2 %1
2 2
+ d[5] d[3] d[2], 4 d[3] d[1] + 4 d[5] - 4 d[1] - 4 d[4] - %5
2 2 2
- 4 d[5] - 4 d[5] d[3] + %6 + 2 d[5] d[1] + 2 d[5] d[2]
2 2 2
+ 2 d[5] d[3] + 2 d[5] d[4] + 6 d[5] d[2] - 4 d[3]
3 3 2 2
+ 4 d[4] d[3] - 2 d[2] + 2 d[5] - 4 d[2] - 2 d[5] d[2]
2 2 2
- 2 d[3] d[2] - 2 d[4] d[2] + %3 - 2 d[2] d[1] - %2 - %1
2 3
+ d[4] d[3] d[2], -4 d[3] d[1] - 4 d[5] + 4 d[1] + 2 d[1]
2 2 2
+ 4 d[4] + %5 + 2 d[4] d[1] + 2 d[2] d[1] - 2 d[5] d[1]
2 2 2
+ 4 d[5] + 6 d[5] d[3] - 2 %6 - 2 d[5] d[4] - 2 d[5] d[1]
2 2 2
- 2 d[5] d[2] - 2 d[5] d[3] - 2 d[5] d[4] - 8 d[5] d[2]
2 2 3
+ 2 d[5] d[4] + 4 d[3] - 4 d[4] d[3] + 2 d[3] d[1] + 4 d[2]
3 3 2 3 2
- 2 d[4] - 2 d[5] + 4 d[2] - 2 d[3] + 4 d[5] d[2]
2 2 2
- 2 d[3] d[1] - 2 d[3] d[2] + 4 d[3] d[2] - 2 %4
2 2 2 2
- 2 d[4] d[3] + 4 d[4] d[2] - 2 d[4] d[1] - 2 d[4] d[2]
2 2 2
- 2 d[4] d[3] + 2 d[5] d[1] - 2 d[5] d[3] - 2 %3
2
+ 4 d[2] d[1] + %2 + 3 %1 + d[4] d[3] d[1]], [-16 d[3] d[1]
2 3 2
- 16 d[5] + 16 d[1] + 2 d[1] + 16 d[4]
2
+ 9/2 d[5] d[4] d[3] d[2] - 3 d[5] d[3] d[2]
2
+ 9/2 d[5] d[4] d[3] d[1] - 3 d[5] d[4] d[1]
2 2 2
- 3 d[5] d[2] d[1] - 3 d[5] d[4] d[3] - 3 d[5] d[3] d[1]
2 3 3
- 3 d[5] d[3] d[2] - 3 d[5] d[3] - 3 d[5] d[3]
2
- 3 d[5] d[3] d[1] + 9/2 d[5] d[4] d[2] d[1]
2 2 2
- 3 d[5] d[2] d[1] - 3 d[5] d[4] d[1] - 3 d[5] d[4] d[2]
2 2 2
- 3 d[5] d[4] d[3] - 3 d[5] d[3] d[2] - 3 d[5] d[4] d[2]
2 3
+ 9/2 d[5] d[3] d[2] d[1] - 3 d[5] d[3] d[1] - 3 d[5] d[1]
3 3 3 3
- 3 d[5] d[2] - 3 d[5] d[4] - 3 d[5] d[2] - 3 d[5] d[4]
2 2 2 2 2 2
+ 12 d[5] d[1] + 12 d[5] d[2] + 12 d[5] d[3]
2 2 2 2
+ 12 d[5] d[4] - 3 d[5] d[2] d[1] - 3 d[5] d[4] d[2]
2 2 3
- 3 d[5] d[4] d[1] - 3 d[5] d[4] d[3] - 3 d[5] d[1]
2 2 2 2 4 4
+ 12 d[3] d[1] + 12 d[3] d[2] + 12 d[3] + 12 d[1]
4 2 2
+ 12 d[5] - %5 - 3 d[4] d[3] d[2] - 3 d[4] d[2] d[1]
2
+ 9/2 d[4] d[3] d[2] d[1] - 3 d[4] d[3] d[2]
2 2 2
- 3 d[4] d[3] d[2] - 3 d[4] d[3] d[1] - 3 d[4] d[3] d[1]
3 3 2 2 2 2
- 3 d[4] d[3] - 3 d[4] d[2] + 12 d[4] d[1] + 12 d[4] d[2]
2 2 3 3 3
+ 12 d[4] d[3] - 3 d[4] d[1] - 3 d[4] d[2] - 3 d[4] d[3]
2 2 3
- 3 d[3] d[2] d[1] - 3 d[3] d[2] d[1] - 3 d[3] d[1]
3 3 3 2
- 3 d[3] d[1] - 3 d[3] d[2] - 3 d[3] d[2] - 3 d[3] d[2] d[1]
4 4 2 2
+ 12 d[2] + 12 d[4] + 2 d[4] d[1] + 2 d[2] d[1]
2 2
- 2 d[5] d[1] + 16 d[5] + 4 d[5] d[3] - 12 d[5] d[4]
2 2 2 2
+ 2 d[5] d[1] + 2 d[5] d[2] + 2 d[5] d[3] + 2 d[5] d[4]
2 2
- 16 d[5] d[2] - 4 d[5] d[4] + 16 d[3] + 2 d[3] d[1]
3 3 2 3 2
- 12 d[4] + 2 d[5] + 16 d[2] - 4 d[3] - 4 d[3] d[1]
2 2
- 4 d[3] d[2] - 3 %4 + 4 d[5] d[4] d[2] - 4 d[4] d[3]
2 2 2 2
- 12 d[4] d[1] - 12 d[4] d[2] - 12 d[4] d[3] + 2 d[5] d[1]
2 3
- 4 d[5] d[3] + 4 %3 + 3 %2 + 6 %1 - 3 d[4] d[1]
2 2 2
- 3 d[4] d[2] d[1] - 3 d[4] d[3] d[1] - 3 d[4] d[2] d[1]
2 2 3 3
+ 12 d[2] d[1] - 3 d[2] d[1] - 3 d[2] d[1]
+ 7 d[4] d[3] d[2] + 6 d[4] d[3] d[1]]]
%1 := d[5] d[4] d[3]
%2 := d[5] d[4] d[1]
%3 := d[4] d[2] d[1]
%4 := d[5] d[2] d[1]
%5 := d[5] d[3] d[1]
%6 := d[3] d[2] d[1]