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)