code: public double rcond(Matrix A) {
          if (n != A.numRows())
              throw new IllegalArgumentException("n != A.numRows()");
          if (!A.isSquare())
              throw new IllegalArgumentException("!A.isSquare()");
  
          double anorm = A.norm(Norm.One);
  
          double[] work = new double[3 * n];
          int[] iwork = new int[n];
  
          intW info = new intW(0);
          doubleW rcond = new doubleW(0);
          if (upper)
              LAPACK.getInstance().dpocon(UpLo.Upper.netlib(), n, Cu.getData(),
                      Matrices.ld(n), anorm, rcond, work, iwork, info);
          else
              LAPACK.getInstance().dpocon(UpLo.Lower.netlib(), n, Cl.getData(),
                      Matrices.ld(n), anorm, rcond, work, iwork, info);
  
          if (info.val < 0)
              throw new IllegalArgumentException();
  
          return rcond.val;
      }
docs: Computes the reciprocal condition number
  
  @param A
  The matrix this is a decomposition of
  @return The reciprocal condition number. Values close to unity indicate a
  well-conditioned system, while numbers close to zero do not.