code: public double[] solve(double[] b) {
      if(b.length != L.length) {
        throw new IllegalArgumentException(ERR_MATRIX_DIMENSIONS);
      }
      if(!isspd) {
        throw new ArithmeticException(ERR_MATRIX_NOT_SPD);
      }
      // Work on a copy!
      return solveLtransposed(solveLInplace(copy(b)));
    }
docs: Solve A*X = b
  
  @param b A column vector with as many rows as A.
  @return X so that L*L^T*X = b
  @exception IllegalArgumentException Matrix row dimensions must agree.
  @exception RuntimeException Matrix is not symmetric positive definite.