code: public DenseLU factor(DenseMatrix A) {
          singular = false;
  
          intW info = new intW(0);
          LAPACK.getInstance().dgetrf(A.numRows(), A.numColumns(), A.getData(),
                  Matrices.ld(A.numRows()), piv, info);
  
          if (info.val > 0)
              singular = true;
          else if (info.val < 0)
              throw new IllegalArgumentException();
  
          LU.set(A);
  
          return this;
      }
docs: Creates an LU decomposition of the given matrix
  
  @param A
  Matrix to decompose. Overwritten with the decomposition
  @return The current decomposition