# Singular

##### 7.7.15.0. AltVarEnd
Procedure from library nctools.lib (see nctools_lib).

Usage:
AltVarStart();

Return:
int

Purpose:
returns the number of the last alternating variable of basering

Note:
basering should be a super-commutative algebra constructed by
the procedure superCommutative, emits an error otherwise

Example:
 LIB "nctools.lib"; ring R = 0,(x(1..4)),dp; // global! def ER = superCommutative(2); // (b = 2, e = N) setring ER; ER; ==> // characteristic : 0 ==> // number of vars : 4 ==> // block 1 : ordering dp ==> // : names x(1) x(2) x(3) x(4) ==> // block 2 : ordering C ==> // noncommutative relations: ==> // x(3)x(2)=-x(2)*x(3) ==> // x(4)x(2)=-x(2)*x(4) ==> // x(4)x(3)=-x(3)*x(4) ==> // quotient ring from ideal ==> _[1]=x(4)^2 ==> _[2]=x(3)^2 ==> _[3]=x(2)^2 "Alternating variables: [", AltVarStart(), ",", AltVarEnd(), "]."; ==> Alternating variables: [ 2 , 4 ]. setring R; "Alternating variables: [", AltVarStart(), ",", AltVarEnd(), "]."; ==> ? SCA rings are factors by (at least) squares! ==> ? leaving nctools.lib::AltVarStart kill R, ER; ////////////////////////////////////////////////////////////////// ring R = 2,(x(1..4)),dp; // the same in char. = 2! def ER = superCommutative(2); // (b = 2, e = N) setring ER; ER; ==> // characteristic : 2 ==> // number of vars : 4 ==> // block 1 : ordering dp ==> // : names x(1) x(2) x(3) x(4) ==> // block 2 : ordering C ==> // quotient ring from ideal ==> _[1]=x(4)^2 ==> _[2]=x(3)^2 ==> _[3]=x(2)^2 "Alternating variables: [", AltVarStart(), ",", AltVarEnd(), "]."; ==> Alternating variables: [ 4 , 4 ]. setring R; "Alternating variables: [", AltVarStart(), ",", AltVarEnd(), "]."; ==> ? SCA rings are factors by (at least) squares! ==> ? leaving nctools.lib::AltVarStart