# Singular

#### D.15.8.19 ComplexValue

Procedure from library `finitediff.lib` (see finitediff_lib).

Usage:
ComplexValue(f); f a poly in the basering;

Return:
type poly; gives back the formal complex-value of f, where var(1) is redarded as the imaginary unit. Does only make sence, if the proc <setinitials> is executed before -> nvars <= npars

Example:
 ```LIB "finitediff.lib"; list D="Ut","Ux","Uy","U"; list V="t","x","y"; list P="a","b"; setinitials(V,D,P);////does not show the ring, as there is no output basering;///does show the ring ==> // characteristic : 0 ==> // 13 parameter : I T Px Py Cx Cy Sx Sy a b dt dx dy ==> // minpoly : 0 ==> // number of vars : 8 ==> // block 1 : ordering c ==> // block 2 : ordering lp ==> // : names i t x y cx cy sx sy ==> // quotient ring from ideal ==> _[1]=cy^2+sy^2-1 ==> _[2]=cx^2+sx^2-1 ==> _[3]=i^2+1 poly f=t**3*cx**2-cy**2*dt+i**3*sx; f; ==> i^3*sx+t^3*cx^2+(-dt)*cy^2 ComplexValue(f); ==> t^6*sx^4-2*t^6*sx^2+t^6+(-2*dt)*t^3*sx^2*sy^2+(2*dt)*t^3*sx^2+(2*dt)*t^3*\ sy^2+(-2*dt)*t^3+sx^2+(dt^2)*sy^4+(-2*dt^2)*sy^2+(dt^2) ```