RRQRDecomposition extends QRDecomposition { @Override public DecompositionSolver getSolver() { return new Solver(super.getSolver(), this.getP()); } RRQRDecomposition(RealMatrix matrix);  RRQRDecomposition(RealMatrix matrix,  double threshold); RealMatrix getP(); int getRank(final double dropThreshold); @Override DecompositionSolver getSolver();  }
@Test(expected=SingularMatrixException.class) public void testNonInvertible() { RRQRDecomposition qr = new RRQRDecomposition(MatrixUtils.createRealMatrix(testData3x3Singular), 3.0e-16); qr.getSolver().getInverse(); }