int main() { array double x[3][3]={1,2,3, 3,4,5, 6,7,8}; 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]; array double complex y[3][3]; expm(y,x); printf("x = \n%f",x); printf("y = \n%5.3f",y); logm(x,y); printf("x = \n%f",x); printf("\n"); expm(zy,zx); printf("zx = \n%5.3f",zx); printf("zy = \n%5.3f",zy); logm(zx,zy); printf("zx = \n%5.3f",zx); }
x = 1.000000 2.000000 3.000000 3.000000 4.000000 5.000000 6.000000 7.000000 8.000000 y = complex(157372.953,0.000) complex(200034.605,0.000) complex(242697.257,0.000) complex(290995.910,0.000) complex(369883.552,0.000) complex(448769.194,0.000) complex(491431.846,0.000) complex(624654.473,0.000) complex(757878.099,0.000) x = 1.000000 2.000000 3.000000 3.000000 4.000000 5.000000 6.000000 7.000000 8.000000 zx = complex(1.000,1.000) complex(2.000,2.000) complex(0.000,0.000) complex(3.000,0.000) complex(4.000,1.000) complex(2.000,5.000) complex(0.000,0.000) complex(0.000,0.000) complex(0.000,0.000) zy = complex(-44.901,56.755) complex(-87.478,70.853) complex(-101.511,-18.910) complex(-12.469,118.748) complex(-57.370,175.502) complex(-155.470,67.839) complex(0.000,0.000) complex(0.000,0.000) complex(1.000,0.000) zx = complex(1.000,1.000) complex(2.000,2.000) complex(0.000,0.000) complex(3.000,0.000) complex(4.000,1.000) complex(2.000,5.000) complex(0.000,0.000) complex(0.000,0.000) complex(0.000,0.000)