Home Online Manual
Top
Back: GKZfan
Forward: computeAfaceOrbits
FastBack:
FastForward:
Up: gitfan_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.13.3.11 movingCone

Procedure from library gitfan.lib (see gitfan_lib).

Usage:
movingCone(Q); Q: intmat

Purpose:
Computes the moving cone from the grading matrix, with the degrees in the columns of Q.

Return:
a cone

Example:
 
LIB "gitfan.lib";
intmat Q[5][10] =
1, 1, 1, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 1, 1, 0, 0, 0,
0, 1, 1, 0, 0, 0, -1, 1, 0, 0,
0, 1, 0, 1, 0, -1, 0, 0, 1, 0,
0, 0, 1, 1, -1, 0, 0, 0, 0, 1;
cone mov = movingCone(Q);
mov;
==> AMBIENT_DIM
==> 5
==> FACETS
==> -2,1, 1, 1, 1,
==> -1,1, 0, 0, 1,
==> -1,1, 0, 1, 0,
==> -1,1, 1, 0, 0,
==>  0,0, 0, 0, 1,
==>  0,0, 0, 1, 0,
==>  0,0, 1, 0, 0,
==>  1,0,-1, 0, 0,
==>  1,0, 0,-1, 0,
==>  1,0, 0, 0,-1
==> LINEAR_SPAN
==> 
==> 
rays(mov);
==> 1,1,0,1,0,
==> 1,1,1,1,0,
==> 1,2,0,0,0,
==> 2,1,1,1,1,
==> 1,1,1,0,0,
==> 1,1,1,0,1,
==> 1,1,0,1,1,
==> 1,1,0,0,1,
==> 1,0,1,1,1,
==> 0,1,0,0,0
// moving cone where the image of the positive orthant
// is the entire space
// (from bug reported by Donton-Bury and Grab)
intmat Q[3][16] =
==> // ** redefining Q (intmat Q[3][16] =) ./examples/movingCone.sing:14
7, 7,7,7, 7,7,7, 7,7,7, 7,7,7, -7,0,0,
0, 0,2,1, 0,2,1, 3,2,1, 3,2,4, 0,-3,0,
0, 0,1,2, 0,1,2, 3,1,2, 3,4,2, 0,0,-3;
cone mov = movingCone(Q);
==> // ** redefining mov (cone mov = movingCone(Q);) ./examples/movingCone.si\
   ng:18
==> // ** redefining j (int j=i+1;) gitfan.lib::movingCone:1018
==> // ** redefining Qdash (      intmat Qdash[nrows(Qt)-1][ncols(Qt)];) gitf\
   an.lib::movingCone:1013
==> // ** redefining j (int j=1;) gitfan.lib::movingCone:1014
==> // ** redefining j (int j=i+1;) gitfan.lib::movingCone:1018
==> // ** redefining Qdash (      intmat Qdash[nrows(Qt)-1][ncols(Qt)];) gitf\
   an.lib::movingCone:1013
==> // ** redefining j (int j=1;) gitfan.lib::movingCone:1014
==> // ** redefining j (int j=i+1;) gitfan.lib::movingCone:1018
==> // ** redefining Qdash (      intmat Qdash[nrows(Qt)-1][ncols(Qt)];) gitf\
   an.lib::movingCone:1013
==> // ** redefining j (int j=1;) gitfan.lib::movingCone:1014
==> // ** redefining j (int j=i+1;) gitfan.lib::movingCone:1018
==> // ** redefining Qdash (      intmat Qdash[nrows(Qt)-1][ncols(Qt)];) gitf\
   an.lib::movingCone:1013
==> // ** redefining j (int j=1;) gitfan.lib::movingCone:1014
==> // ** redefining j (int j=i+1;) gitfan.lib::movingCone:1018
==> // ** redefining Qdash (      intmat Qdash[nrows(Qt)-1][ncols(Qt)];) gitf\
   an.lib::movingCone:1013
==> // ** redefining j (int j=1;) gitfan.lib::movingCone:1014
==> // ** redefining j (int j=i+1;) gitfan.lib::movingCone:1018
==> // ** redefining Qdash (      intmat Qdash[nrows(Qt)-1][ncols(Qt)];) gitf\
   an.lib::movingCone:1013
==> // ** redefining j (int j=1;) gitfan.lib::movingCone:1014
==> // ** redefining j (int j=i+1;) gitfan.lib::movingCone:1018
==> // ** redefining Qdash (      intmat Qdash[nrows(Qt)-1][ncols(Qt)];) gitf\
   an.lib::movingCone:1013
==> // ** redefining j (int j=1;) gitfan.lib::movingCone:1014
==> // ** redefining j (int j=i+1;) gitfan.lib::movingCone:1018
==> // ** redefining Qdash (      intmat Qdash[nrows(Qt)-1][ncols(Qt)];) gitf\
   an.lib::movingCone:1013
==> // ** redefining j (int j=1;) gitfan.lib::movingCone:1014
==> // ** redefining j (int j=i+1;) gitfan.lib::movingCone:1018
==> // ** redefining Qdash (      intmat Qdash[nrows(Qt)-1][ncols(Qt)];) gitf\
   an.lib::movingCone:1013
==> // ** redefining j (int j=1;) gitfan.lib::movingCone:1014
==> // ** redefining j (int j=i+1;) gitfan.lib::movingCone:1018
==> // ** redefining Qdash (      intmat Qdash[nrows(Qt)-1][ncols(Qt)];) gitf\
   an.lib::movingCone:1013
==> // ** redefining j (int j=1;) gitfan.lib::movingCone:1014
==> // ** redefining j (int j=i+1;) gitfan.lib::movingCone:1018
==> // ** redefining Qdash (      intmat Qdash[nrows(Qt)-1][ncols(Qt)];) gitf\
   an.lib::movingCone:1013
==> // ** redefining j (int j=1;) gitfan.lib::movingCone:1014
==> // ** redefining j (int j=i+1;) gitfan.lib::movingCone:1018
==> // ** redefining Qdash (      intmat Qdash[nrows(Qt)-1][ncols(Qt)];) gitf\
   an.lib::movingCone:1013
==> // ** redefining j (int j=1;) gitfan.lib::movingCone:1014
==> // ** redefining j (int j=i+1;) gitfan.lib::movingCone:1018
==> // ** redefining Qdash (      intmat Qdash[nrows(Qt)-1][ncols(Qt)];) gitf\
   an.lib::movingCone:1013
==> // ** redefining j (int j=1;) gitfan.lib::movingCone:1014
==> // ** redefining j (int j=i+1;) gitfan.lib::movingCone:1018
==> // ** redefining Qdash (      intmat Qdash[nrows(Qt)-1][ncols(Qt)];) gitf\
   an.lib::movingCone:1013
==> // ** redefining j (int j=1;) gitfan.lib::movingCone:1014
==> // ** redefining j (int j=i+1;) gitfan.lib::movingCone:1018
==> // ** redefining Qdash (      intmat Qdash[nrows(Qt)-1][ncols(Qt)];) gitf\
   an.lib::movingCone:1013
==> // ** redefining j (int j=1;) gitfan.lib::movingCone:1014
==> // ** redefining j (int j=i+1;) gitfan.lib::movingCone:1018
mov;
==> AMBIENT_DIM
==> 3
==> FACETS
==> 0,-1, 2,
==> 0, 2,-1,
==> 6,-7,-7
==> LINEAR_SPAN
==> 
==> 
rays(mov);
==> 1,0,0,
==> 7,2,4,
==> 7,4,2