U = new double[matrix.rowCount()][0];
V = new double[matrix.columnCount()][0];
}
else {
SMat input = makeSMat(matrix);
SVDRec r = new Svdlib().svdLAS2(input, dimensions, 0, new double[] { -1e-30, 1e-30 }, 1e-6);
s = r.S;
U = transpose(r.Ut.value);
V = transpose(r.Vt.value);
}
assert invariant();