int main() {
array double a[3][2] = {7, 8,
1, 3,
6, 4}; /* m-by-n matrix */
int m = 3, n = 2, i;
int lmn = min(m,n);
array double s[lmn], sm[m][n];
array double u[m][m];
array double vt[n][n];
svd(a, s, u, vt);
printf("u =\n%f\n", u);
printf("s =\n%f\n", s);
printf("vt =\n%f\n", vt);
for(i=0; i
u =
-0.812719 -0.288579 -0.506171
-0.217573 -0.655581 0.723102
-0.540508 0.697808 0.470016
s =
13.058084 2.118123
vt =
-0.700689 0.713467
-0.713467 -0.700689
u*s*v^t =
7.000000 8.000000
1.000000 3.000000
6.000000 4.000000