docs: public static boolean invertSPD(DMatrixRMaj mat, DMatrixRMaj result ) {
          if( mat.numRows != mat.numCols )
              throw new IllegalArgumentException("Must be a square matrix");
          result.reshape(mat.numRows,mat.numRows);
  
          if( mat.numRows <= UnrolledCholesky_DDRM.MAX ) {
              // L*L' = A
              if( !UnrolledCholesky_DDRM.lower(mat,result) )
                  return false;
              // L = inv(L)
              TriangularSolver_DDRM.invertLower(result.data,result.numCols);
              // inv(A) = inv(L')*inv(L)
              SpecializedOps_DDRM.multLowerTranA(result);
          } else {
              LinearSolverDense<DMatrixRMaj> solver = LinearSolverFactory_DDRM.chol(mat.numCols);
              if( solver.modifiesA() )
                  mat = mat.copy();
  
              if( !solver.setA(mat))
                  return false;
              solver.invert(result);
          }
  
          return true;
      }