|
D.4.26.2 hilbert4ti2
Procedure from library sing4ti2.lib (see sing4ti2_lib).
- Usage:
- hilbert4ti2(A[,i]);
A=intmat
i=int
- Assume:
- - A is a matrix with integer entries which describes the lattice
as ker(A), if second argument is not present,
as the left image Im(A) = {zA : z \in ZZ^k}, if second argument is a positive integer
- number of variables of basering equals number of columns of A
(for ker(A)) resp. of rows of A (for Im(A))
- Create:
- temporary files sing4ti2.mat, sing4ti2.lat, sing4ti2.mar
in the current directory (I/O files for communication with 4ti2)
- Note:
- input rules for 4ti2 also apply to input to this procedure
hence ker(A)={x|Ax=0} and Im(A)={xA}
- Return:
- toric ideal specified by Hilbert basis thereof
Example:
| LIB "sing4ti2.lib";
ring r=0,(x1,x2,x3,x4,x5,x6,x7,x8,x9),dp;
matrix M[7][9]=1,1,1,-1,-1,-1,0,0,0,1,1,1,0,0,0,-1,-1,-1,0,1,1,-1,0,0,-1,0,0,1,0,1,0,-1,0,0,-1,0,1,1,0,0,0,-1,0,0,-1,0,1,1,0,-1,0,0,0,-1,1,1,0,0,-1,0,-1,0,0;
hilbert4ti2(M);
==> _[1]=x1^2*x3*x5*x6^2*x7*x8^2-1
==> _[2]=x1*x3^2*x4^2*x5*x8^2*x9-1
==> _[3]=x2^2*x3*x4^2*x5*x7*x9^2-1
==> _[4]=x1*x2^2*x5*x6^2*x7^2*x9-1
==> _[5]=x1*x2*x3*x4*x5*x6*x7*x8*x9-1
|
|