double complex mylog(double complex x) { return log(x); } int main() { array double complex zx[3][3]={complex(1,1),complex(2,2),0, 3,complex(4,1),complex(2,5), 0,0,0}; array double complex zy[3][3]; expm(zy,zx); printf("zx = \n%5.1f",zx); printf("zy = \n%5.1f",zy); cfunm(zx,mylog,zy); printf("zx = \n%5.1f",zx); }
zx = complex( 1.0, 1.0) complex( 2.0, 2.0) complex( 0.0, 0.0) complex( 3.0, 0.0) complex( 4.0, 1.0) complex( 2.0, 5.0) complex( 0.0, 0.0) complex( 0.0, 0.0) complex( 0.0, 0.0) zy = complex(-44.9, 56.8) complex(-87.5, 70.9) complex(-101.5,-18.9) complex(-12.5,118.7) complex(-57.4,175.5) complex(-155.5, 67.8) complex( 0.0, 0.0) complex( 0.0, 0.0) complex( 1.0, 0.0) zx = complex( 1.0, 1.0) complex( 2.0, 2.0) complex( 0.0, 0.0) complex( 3.0, 0.0) complex( 4.0, 1.0) complex( 2.0, 5.0) complex( 0.0, 0.0) complex( 0.0, 0.0) complex( 0.0, 0.0)