is stored column major in a single array, as follows:
42434445464748
assertEquals(A, QR.factorize(A)); } public void testFactor() { QR qr = new QR(A.numRows(), A.numColumns()); assertEquals(A, qr.factor(new DenseMatrix(A))); }
47484950515253545556
assertEquals(A, qr.factor(new DenseMatrix(A))); } public void testRepeatFactor() { QR qr = new QR(A.numRows(), A.numColumns()); qr.factor(new DenseMatrix(A)); assertEquals(A, qr); qr.factor(new DenseMatrix(A)); assertEquals(A, qr); }
64656667686970
assertEquals(Ar, QR.factorize(Ar)); } public void testFactorNonSquare() { QR qr = new QR(Ar.numRows(), Ar.numColumns()); assertEquals(Ar, qr.factor(new DenseMatrix(Ar))); }
69707172737475767778
assertEquals(Ar, qr.factor(new DenseMatrix(Ar))); } public void testRepeatFactorNonSquare() { QR qr = new QR(Ar.numRows(), Ar.numColumns()); qr.factor(new DenseMatrix(Ar)); assertEquals(Ar, qr); qr.factor(new DenseMatrix(Ar)); assertEquals(Ar, qr); }
7071727374757677787980
BandLU lu = new BandLU(n, kl, ku); lu.factor(A.copy()); lu.solve(I); Matrix J = I.mult(A, new DenseMatrix(n, n)); for (int i = 0; i < n; ++i) for (int j = 0; j < n; ++j) if (i != j) assertEquals(J.get(i, j), 0, 1e-10); else
8788899091929394959697
BandLU lu = new BandLU(n, kl, ku); lu.factor(A.copy()); lu.transSolve(I); Matrix J = I.transAmult(A, new DenseMatrix(n, n)); for (int i = 0; i < n; ++i) for (int j = 0; j < n; ++j) if (i != j) assertEquals(J.get(i, j), 0, 1e-10); else
8283848586878889909192
BandCholesky c = new BandCholesky(n, kl, false); c.factor(L.copy()); c.solve(I); Matrix J = I.mult(L, new DenseMatrix(n, n)); for (int i = 0; i < n; ++i) for (int j = 0; j < n; ++j) if (i != j) assertEquals(J.get(i, j), 0, 1e-10); else
99100101102103104105106107108109
BandCholesky c = new BandCholesky(n, ku, true); c.factor(U.copy()); c.solve(I); Matrix J = I.mult(U, new DenseMatrix(n, n)); for (int i = 0; i < n; ++i) for (int j = 0; j < n; ++j) if (i != j) assertEquals(J.get(i, j), 0, 1e-10); else
47484950515253
} @Override protected void setUp() throws Exception { int n = Utilities.getInt(1, max); A = new DenseMatrix(n, n); }
8182838485868788899091
public void testHebbianSolver() throws Exception { int numColumns = 800; Matrix corpus = randomSequentialAccessSparseMatrix(1000, 900, numColumns, 30, 1.0); int rank = 50; Matrix eigens = new DenseMatrix(rank, numColumns); TrainingState state = new TrainingState(eigens, null); long optimizedTime = timeSolver(corpus, 0.00001, 5, rank,