#### D.15.3.6 autX

Procedure from library `autgradalg.lib` (see autgradalg_lib).

Usage:
  autX(RL, w, TOR); RL: ideal, w: intvec, TOR: optional list of integers.

Purpose:
  compute generators for the hopf algebra O(Aut(X))
  of the Mori dream space X given by Cox(X) := basering/RL and the ample class w.

Assume:
  there is no torsion.

Return:
  a ring. Also exports an ideal Iexported.

Example:

    LIB "autgradalg.lib";
    ==> // ** redefining fullSpace (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining fullSpace (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining origin (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining origin (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining positiveOrthant (  LIB "gfan.lib";) gitfan.lib::mod_init\
       :86
    ==> // ** redefining positiveOrthant (  LIB "gfan.lib";) gitfan.lib::mod_init\
       :86
    ==> // ** redefining intmatToGfanVectorConfiguration (  LIB "gfan.lib";) gitf\
       an.lib::mod_init:86
    ==> // ** redefining secondaryFan (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining secondaryFan (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining ambientDimension (  LIB "gfan.lib";) gitfan.lib::mod_ini\
       t:86
    ==> // ** redefining ambientDimension (  LIB "gfan.lib";) gitfan.lib::mod_ini\
       t:86
    ==> // ** redefining canonicalizeCone (  LIB "gfan.lib";) gitfan.lib::mod_ini\
       t:86
    ==> // ** redefining canonicalizeCone (  LIB "gfan.lib";) gitfan.lib::mod_ini\
       t:86
    ==> // ** redefining codimension (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining codimension (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining coneViaPoints (  LIB "gfan.lib";) gitfan.lib::mod_init:8\
       6
    ==> // ** redefining coneViaPoints (  LIB "gfan.lib";) gitfan.lib::mod_init:8\
       6
    ==> // ** redefining coneViaInequalities (  LIB "gfan.lib";) gitfan.lib::mod_\
       init:86
    ==> // ** redefining coneViaInequalities (  LIB "gfan.lib";) gitfan.lib::mod_\
       init:86
    ==> // ** redefining coneLink (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining coneLink (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining containsAsFace (  LIB "gfan.lib";) gitfan.lib::mod_init:\
       86
    ==> // ** redefining containsAsFace (  LIB "gfan.lib";) gitfan.lib::mod_init:\
       86
    ==> // ** redefining containsRelatively (  LIB "gfan.lib";) gitfan.lib::mod_i\
       nit:86
    ==> // ** redefining containsRelatively (  LIB "gfan.lib";) gitfan.lib::mod_i\
       nit:86
    ==> // ** redefining containsInSupport (  LIB "gfan.lib";) gitfan.lib::mod_in\
       it:86
    ==> // ** redefining containsInSupport (  LIB "gfan.lib";) gitfan.lib::mod_in\
       it:86
    ==> // ** redefining containsPositiveVector (  LIB "gfan.lib";) gitfan.lib::m\
       od_init:86
    ==> // ** redefining containsPositiveVector (  LIB "gfan.lib";) gitfan.lib::m\
       od_init:86
    ==> // ** redefining convexHull (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining convexHull (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining convexIntersection (  LIB "gfan.lib";) gitfan.lib::mod_i\
       nit:86
    ==> // ** redefining convexIntersection (  LIB "gfan.lib";) gitfan.lib::mod_i\
       nit:86
    ==> // ** redefining dimension (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining dimension (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining dualCone (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining dualCone (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining equations (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining equations (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining faceContaining (  LIB "gfan.lib";) gitfan.lib::mod_init:\
       86
    ==> // ** redefining faceContaining (  LIB "gfan.lib";) gitfan.lib::mod_init:\
       86
    ==> // ** redefining facets (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining facets (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining generatorsOfLinealitySpace (  LIB "gfan.lib";) gitfan.li\
       b::mod_init:86
    ==> // ** redefining generatorsOfLinealitySpace (  LIB "gfan.lib";) gitfan.li\
       b::mod_init:86
    ==> // ** redefining generatorsOfSpan (  LIB "gfan.lib";) gitfan.lib::mod_ini\
       t:86
    ==> // ** redefining generatorsOfSpan (  LIB "gfan.lib";) gitfan.lib::mod_ini\
       t:86
    ==> // ** redefining getLinearForms (  LIB "gfan.lib";) gitfan.lib::mod_init:\
       86
    ==> // ** redefining getLinearForms (  LIB "gfan.lib";) gitfan.lib::mod_init:\
       86
    ==> // ** redefining getMultiplicity (  LIB "gfan.lib";) gitfan.lib::mod_init\
       :86
    ==> // ** redefining getMultiplicity (  LIB "gfan.lib";) gitfan.lib::mod_init\
       :86
    ==> // ** redefining inequalities (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining inequalities (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining isFullSpace (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining isFullSpace (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining isOrigin (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining isOrigin (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining isSimplicial (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining isSimplicial (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining linealityDimension (  LIB "gfan.lib";) gitfan.lib::mod_i\
       nit:86
    ==> // ** redefining linealityDimension (  LIB "gfan.lib";) gitfan.lib::mod_i\
       nit:86
    ==> // ** redefining linealitySpace (  LIB "gfan.lib";) gitfan.lib::mod_init:\
       86
    ==> // ** redefining linealitySpace (  LIB "gfan.lib";) gitfan.lib::mod_init:\
       86
    ==> // ** redefining negatedCone (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining negatedCone (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining quotientLatticeBasis (  LIB "gfan.lib";) gitfan.lib::mod\
       _init:86
    ==> // ** redefining quotientLatticeBasis (  LIB "gfan.lib";) gitfan.lib::mod\
       _init:86
    ==> // ** redefining randomPoint (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining randomPoint (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining rays (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining rays (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining relativeInteriorPoint (  LIB "gfan.lib";) gitfan.lib::mo\
       d_init:86
    ==> // ** redefining relativeInteriorPoint (  LIB "gfan.lib";) gitfan.lib::mo\
       d_init:86
    ==> // ** redefining semigroupGenerator (  LIB "gfan.lib";) gitfan.lib::mod_i\
       nit:86
    ==> // ** redefining semigroupGenerator (  LIB "gfan.lib";) gitfan.lib::mod_i\
       nit:86
    ==> // ** redefining setLinearForms (  LIB "gfan.lib";) gitfan.lib::mod_init:\
       86
    ==> // ** redefining setLinearForms (  LIB "gfan.lib";) gitfan.lib::mod_init:\
       86
    ==> // ** redefining setMultiplicity (  LIB "gfan.lib";) gitfan.lib::mod_init\
       :86
    ==> // ** redefining setMultiplicity (  LIB "gfan.lib";) gitfan.lib::mod_init\
       :86
    ==> // ** redefining span (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining span (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining uniquePoint (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining uniquePoint (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining containsInCollection (  LIB "gfan.lib";) gitfan.lib::mod\
       _init:86
    ==> // ** redefining containsInCollection (  LIB "gfan.lib";) gitfan.lib::mod\
       _init:86
    ==> // ** redefining emptyFan (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining emptyFan (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining fanViaCones (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining fanViaCones (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining fullFan (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining fullFan (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining fVector (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining fVector (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining getCone (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining getCone (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining insertCone (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining insertCone (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining isCompatible (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining isCompatible (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining isPure (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining isPure (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining nmaxcones (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining nmaxcones (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining ncones (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining ncones (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining numberOfConesOfDimension (  LIB "gfan.lib";) gitfan.lib:\
       :mod_init:86
    ==> // ** redefining numberOfConesOfDimension (  LIB "gfan.lib";) gitfan.lib:\
       :mod_init:86
    ==> // ** redefining removeCone (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining removeCone (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining dualPolytope (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining dualPolytope (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining newtonPolytope (  LIB "gfan.lib";) gitfan.lib::mod_init:\
       86
    ==> // ** redefining newtonPolytope (  LIB "gfan.lib";) gitfan.lib::mod_init:\
       86
    ==> // ** redefining polytopeViaPoints (  LIB "gfan.lib";) gitfan.lib::mod_in\
       it:86
    ==> // ** redefining polytopeViaPoints (  LIB "gfan.lib";) gitfan.lib::mod_in\
       it:86
    ==> // ** redefining polytopeViaInequalities (  LIB "gfan.lib";) gitfan.lib::\
       mod_init:86
    ==> // ** redefining polytopeViaInequalities (  LIB "gfan.lib";) gitfan.lib::\
       mod_init:86
    ==> // ** redefining vertices (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining vertices (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining onesVector (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining onesVector (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ==> // ** redefining mod_init (  LIB "gfan.lib";) gitfan.lib::mod_init:86
    ///////////////
    //// CAREFUL: the following examples seems to be unfeasible at the moment, see remark in the paper
    //echo=2;
    ///////////////
    //// PP2
    //intmat Q[1][4] =
    //  1,1,1,1;
    //ring R = 0,T(1..ncols(Q)),dp;
    //// attach degree matrix Q to R:
    //setBaseMultigrading(Q);
    //ideal I = 0;
    //intvec w0 = 1;
    //def RR = autX(I, w0);
    //setring RR;
    //Iexported;
    //basering;
    //dim(std(Iexported));
    //kill RR, Q, R;
    ///////////////
    //// example 3.14 from the paper
    //intmat Q[3][5] =
    //  1,1,1,1,1,
    //  1,-1,0,0,1,
    //  1,1,1,0,0;
    //list TOR = 2;
    //ring R = 0,T(1..5),dp;
    //// attach degree matrix Q to R:
    //setBaseMultigrading(Q);
    //ideal I = T(1)*T(2) + T(3)^2 + T(4)^2;
    //list TOR = 2;
    //intvec w0 = 2,1,0;
    //def RR = autX(I, w0, TOR);
    //setring RR;
    //kill RR, Q, R;

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