#### D.4.34.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

User manual for Singular version 4.4.1, 2025, generated by texi2html.