You are not logged in.
Pages: 1
{
sgn=((z)->iferr(sign(z),E,my(r=norm(z)^(1/2));if(r,z/r,0),errname(E)=="e_TYPE"));
csgn=((z)->lex(z,0));
copysign=((x,y)->my(s=sign(x)*sign(y));if(s>0,x,s<0,-x,0));
copyphase=((x,y)->iferr(copysign(x,y),E,if(y,y*norm(x/y)^(1/2),0),errname(E)=="e_TYPE"));
matcsgn=((z)->z=Mat(z);my(r,t);z-=I*imag(trace(z))/#z;r=sqrt(norml2(z)/#z);if(!r,return(matrix(#z)),z/=r);until(!t||-2*exponent(t)>bitprecision(r),r=z^2;z*=2/(1+r);t=r-1);z);
}Last edited by lanxiyu (2025-12-26 23:14:34)
Offline
Pages: 1