package ch.akuhn.edu.mit.tedlab; public class Main { public static void main(String[] args) { Svdlib svdlib = new Svdlib(); SMat A = makeSMat(); int dimensions = 9; int iterations = 100; double[] end = new double[] { -1e-30, 1e-30 }; double kappa = 1e-6; long time = System.nanoTime(); SVDRec R = svdlib.svdLAS2(A, dimensions, iterations, end, kappa); System.out.println(System.nanoTime() - time); for (int n = 0; n < R.d; n++) { System.out.println(R.S[n]); } } private static SMat makeSMat() { DMat D = new DMat(12, 9); D.value[0] = new double[] { 1, 0, 0, 1, 0, 0, 0, 0, 0 }; D.value[1] = new double[] { 1, 0, 1, 0, 0, 0, 0, 0, 0 }; D.value[2] = new double[] { 1, 1, 0, 0, 0, 0, 0, 0, 0 }; D.value[3] = new double[] { 0, 1, 1, 0, 1, 0, 0, 0, 0 }; D.value[4] = new double[] { 0, 1, 1, 2, 0, 0, 0, 0, 0 }; D.value[5] = new double[] { 0, 1, 0, 0, 1, 0, 0, 0, 0 }; D.value[6] = new double[] { 0, 1, 0, 0, 1, 0, 0, 0, 0 }; D.value[7] = new double[] { 0, 0, 1, 1, 0, 0, 0, 0, 0 }; D.value[8] = new double[] { 0, 1, 0, 0, 0, 0, 0, 0, 1 }; D.value[9] = new double[] { 0, 0, 0, 0, 0, 1, 1, 1, 0 }; D.value[10] = new double[] { 0, 0, 0, 0, 0, 0, 1, 1, 1 }; D.value[11] = new double[] { 0, 0, 0, 0, 0, 0, 0, 1, 1 }; return Svdlib.svdConvertDtoS(D); } }