Singular Manual: changevar

| #### D.2.12.3 changevar Procedure from library `ring.lib` (see ring_lib). Usage: changevar(vars[,r]); vars=string, r=ring/qring Return: ring R, obtained from the ring r [default: r=basering], by changing varstr(r) according to the value of vars. If, say, vars = "t()" and the ring r exists and has n variables, the new basering will have name R and variables t(1),...,t(n). If vars = "a,b,c,d", the new ring will have the variables a,b,c,d. Note: This procedure is useful in connection with the procedure ringtensor, when a conflict between variable names must be avoided. This proc uses 'execute' or calls a procedure using 'execute'. Example:
    LIB "ring.lib";
    ring r=0,(x,y,u,v),(dp(2),ds);
    ideal i = x^2,y^2-u^3,v;
    qring Q = std(i);
    setring(r);
    def R=changevar("A()"); R; "";
    ==> // coefficients: QQ considered as a field
    ==> // number of vars : 4
    ==> //        block   1 : ordering dp
    ==> //                  : names    A(1) A(2)
    ==> //        block   2 : ordering ds
    ==> //                  : names    A(3) A(4)
    ==> //        block   3 : ordering C
    ==>
    def Q'=changevar("a,b,c,d",Q); setring Q'; Q';
    ==> // coefficients: QQ considered as a field
    ==> // number of vars : 4
    ==> //        block   1 : ordering dp
    ==> //                  : names    a b
    ==> //        block   2 : ordering ds
    ==> //                  : names    c d
    ==> //        block   3 : ordering C
    ==> // quotient ring from ideal
    ==> _[1]=d
    ==> _[2]=a2
    ==> _[3]=b2-c3
    kill R,Q,Q';

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