/** * Computes <code>A<sup>T</sup>\B</code>, overwriting <code>B</code> */ public DenseMatrix transSolve(DenseMatrix B) throws MatrixSingularException { return solve(B, Transpose.Transpose); }
/** * Computes <code>A\B</code>, overwriting <code>B</code> */ public DenseMatrix solve(DenseMatrix B) throws MatrixSingularException { return solve(B, Transpose.NoTranspose); }
/** * Computes <code>A\B</code>, overwriting <code>B</code> */ public DenseMatrix solve(DenseMatrix B) throws MatrixSingularException { return solve(B, Transpose.NoTranspose); }
/** * Computes <code>A<sup>T</sup>\B</code>, overwriting <code>B</code> */ public DenseMatrix transSolve(DenseMatrix B) throws MatrixSingularException { return solve(B, Transpose.Transpose); }
/** * Solves directly at the coarsest level */ private void directSolve() { int k = m - 1; u[k].set(f[k]); DenseMatrix U = new DenseMatrix(u[k], false); if (transpose) lu.transSolve(U); else lu.solve(U); }
/** * Solves directly at the coarsest level */ private void directSolve() { int k = m - 1; u[k].set(f[k]); DenseMatrix U = new DenseMatrix(u[k], false); if (transpose) lu.transSolve(U); else lu.solve(U); }