Singular Manual: movingCone

| #### 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 Q2[3][16] =
    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 mov2 = movingCone(Q2);
    ==> // ** redefining Qdash (      intmat Qdash[nrows(Qt)-1][ncols(Qt)];) gitf\
       an.lib::movingCone:1012
    ==> // ** redefining Qdash (      intmat Qdash[nrows(Qt)-1][ncols(Qt)];) gitf\
       an.lib::movingCone:1012
    ==> // ** redefining Qdash (      intmat Qdash[nrows(Qt)-1][ncols(Qt)];) gitf\
       an.lib::movingCone:1012
    ==> // ** redefining Qdash (      intmat Qdash[nrows(Qt)-1][ncols(Qt)];) gitf\
       an.lib::movingCone:1012
    ==> // ** redefining Qdash (      intmat Qdash[nrows(Qt)-1][ncols(Qt)];) gitf\
       an.lib::movingCone:1012
    ==> // ** redefining Qdash (      intmat Qdash[nrows(Qt)-1][ncols(Qt)];) gitf\
       an.lib::movingCone:1012
    ==> // ** redefining Qdash (      intmat Qdash[nrows(Qt)-1][ncols(Qt)];) gitf\
       an.lib::movingCone:1012
    ==> // ** redefining Qdash (      intmat Qdash[nrows(Qt)-1][ncols(Qt)];) gitf\
       an.lib::movingCone:1012
    ==> // ** redefining Qdash (      intmat Qdash[nrows(Qt)-1][ncols(Qt)];) gitf\
       an.lib::movingCone:1012
    ==> // ** redefining Qdash (      intmat Qdash[nrows(Qt)-1][ncols(Qt)];) gitf\
       an.lib::movingCone:1012
    ==> // ** redefining Qdash (      intmat Qdash[nrows(Qt)-1][ncols(Qt)];) gitf\
       an.lib::movingCone:1012
    ==> // ** redefining Qdash (      intmat Qdash[nrows(Qt)-1][ncols(Qt)];) gitf\
       an.lib::movingCone:1012
    ==> // ** redefining Qdash (      intmat Qdash[nrows(Qt)-1][ncols(Qt)];) gitf\
       an.lib::movingCone:1012
    ==> // ** redefining Qdash (      intmat Qdash[nrows(Qt)-1][ncols(Qt)];) gitf\
       an.lib::movingCone:1012
    ==> // ** redefining Qdash (      intmat Qdash[nrows(Qt)-1][ncols(Qt)];) gitf\
       an.lib::movingCone:1012
    mov2;
    ==> AMBIENT_DIM
    ==> 3
    ==> FACETS
    ==> 0,-1, 2,
    ==> 0, 2,-1,
    ==> 6,-7,-7
    ==> LINEAR_SPAN
    ==>
    ==>
    rays(mov2);
    ==> 1,0,0,
    ==> 7,2,4,
    ==> 7,4,2

User manual for Singular version 4.3.2, 2023, generated by texi2html.