parameters: (self, rhs, adjoint=False, adjoint_arg=False)
return_statement: return linalg_ops.matrix_solve(
          self._get_cached_dense_matrix(), rhs, adjoint=adjoint)
docstring: Default implementation of _solve.
docstring_summary: Default implementation of _solve.
docstring_tokens: Default implementation of _solve .
function: def _solve(self, rhs, adjoint=False, adjoint_arg=False):
      """Default implementation of _solve."""
      if self.is_square is False:
        raise NotImplementedError(
            "Solve is not yet implemented for non-square operators.")
      logging.warn(
          "Using (possibly slow) default implementation of solve."
          "  Requires conversion to a dense matrix and O(N^3) operations.")
      rhs = linear_operator_util.matrix_adjoint(rhs) if adjoint_arg else rhs
      if self._can_use_cholesky():
        return linalg_ops.cholesky_solve(self._get_cached_chol(), rhs)
      return linalg_ops.matrix_solve(
          self._get_cached_dense_matrix(), rhs, adjoint=adjoint)
function_tokens: def _solve ( self , rhs , adjoint = False , adjoint_arg = False ) : if self . is_square is False : raise NotImplementedError ( "Solve is not yet implemented for non-square operators." ) logging . warn ( "Using (possibly slow) default implementation of solve." "  Requires conversion to a dense matrix and O(N^3) operations." ) rhs = linear_operator_util . matrix_adjoint ( rhs ) if adjoint_arg else rhs if self . _can_use_cholesky ( ) : return linalg_ops . cholesky_solve ( self . _get_cached_chol ( ) , rhs ) return linalg_ops . matrix_solve ( self . _get_cached_dense_matrix ( ) , rhs , adjoint = adjoint )