Singular Manual: valvars

  | #### D.8.3.13 valvars Procedure from library `presolve.lib` (see presolve_lib). Usage: valvars(id[,n1,p1,n2,p2,...]); id=poly/ideal/vector/module, p1,p2,...= polynomials (product of vars), n1,n2,...= integers, ni controls the ordering of vars occurring in pi: ni=0 (resp. ni!=0) means that less (resp. more) complex vars come first (default: p1=product of all vars, n1=0), the last pi (containing the remaining vars) may be omitted Compute: valuation (complexity) of variables with respect to id. ni controls the ordering of vars occurring in pi: ni=0 (resp. ni!=0) means that less (resp. more) complex vars come first. Return: list with 3 entries:
        [1]: intvec, say v, describing the permutation such that the permuted
             ring variables are ordered with respect to their complexity in id
        [2]: list of intvecs, i-th intvec, say v(i) describing permutation
             of vars in a(i) such that v=v(1),v(2),...
        [3]: list of ideals and intmat's, say a(i) and M(i), where
             a(i): factors of pi,
             M(i): valuation matrix of a(i), such that the j-th column of M(i)
                   is the valuation vector of j-th generator of a(i)
Note: Use `sortvars` in order to actually sort the variables! We define a variable x to be more complex than y (with respect to id) if val(x) > val(y) lexicographically, where val(x) denotes the valuation vector of x: consider id as list of polynomials in x with coefficients in the remaining variables. Then: val(x) = (maximal occurring power of x, # of all monomials in leading coefficient, # of all monomials in coefficient of next smaller power of x,...). Example:
    LIB "presolve.lib";
    ring s=0,(x,y,z,a,b),dp;
    ideal i=ax2+ay3-b2x,abz+by2;
    valvars (i,0,xyz);
    ==> [1]:
    ==>    1,2,3,4,5
    ==> [2]:
    ==>    [1]:
    ==>       3,1,2
    ==>    [2]:
    ==>       1,2
    ==> [3]:
    ==>    [1]:
    ==>       _[1]=x
    ==>       _[2]=y
    ==>       _[3]=z
    ==>    [2]:
    ==>       2,3,1,
    ==>       1,1,1,
    ==>       1,1,0
    ==>    [3]:
    ==>       _[1]=a
    ==>       _[2]=b
    ==>    [4]:
    ==>       1,2,
    ==>       3,1,
    ==>       0,2

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