array double func(array double B[2][2])[2][2] {
return inverse(B);
}
int main() {
array double a[2][2] = {2, 4,
3, 7};
array double inv[2][2];
int status;
inv = func(a);
printf("inverse(a) =\n%f\n", inv);
printf("inverse(a)*a =\n%f\n", inv*a);
printf("a*inverse(a) =\n%f\n", a*inv);
}
inverse(a) =
3.500000 -2.000000
-1.500000 1.000000
inverse(a)*a =
1.000000 0.000000
0.000000 1.000000
a*inverse(a) =
1.000000 0.000000
-0.000000 1.000000