message: LinearOperator (base class) now uses `is_tensor or is_ref` to check graph
  parents.  `graph_parents` will be removed in a subsequent CL.
diff: @@ -200,7 +200,8 @@ class LinearOperator(module.Module):
  graph_parents = [] if graph_parents is None else graph_parents
  for i, t in enumerate(graph_parents):
  - if t is None or not tensor_util.is_tensor(t):
  + if t is None or not (linear_operator_util.is_ref(t) or
  + tensor_util.is_tensor(t)):
  raise ValueError("Graph parent item %d is not a Tensor; %s." % (i, t))
  self._dtype = dtypes.as_dtype(dtype).base_dtype if dtype else dtype
  self._graph_parents = graph_parents
  @@ -270,7 +271,7 @@ class LinearOperator(module.Module):
  If this operator acts like the batch matrix `A` with
  `A.shape = [B1,...,Bb, M, N]`, then this returns
  - `TensorShape([B1,...,Bb, M, N])`, equivalent to `A.get_shape()`.
  + `TensorShape([B1,...,Bb, M, N])`, equivalent to `A.shape`.
  Returns:
  `TensorShape`, statically determined, may be undefined.
  @@ -307,7 +308,7 @@ class LinearOperator(module.Module):
  If this operator acts like the batch matrix `A` with
  `A.shape = [B1,...,Bb, M, N]`, then this returns
  - `TensorShape([B1,...,Bb])`, equivalent to `A.get_shape()[:-2]`
  + `TensorShape([B1,...,Bb])`, equivalent to `A.shape[:-2]`
  Returns:
  `TensorShape`, statically determined, may be undefined.
  @@ -622,7 +623,7 @@ class LinearOperator(module.Module):
  arg_dim = -1 if adjoint_arg else -2
  tensor_shape.dimension_at_index(
  self.shape, self_dim).assert_is_compatible_with(
  - x.get_shape()[arg_dim])
  + x.shape[arg_dim])
  return self._matmul(x, adjoint=adjoint, adjoint_arg=adjoint_arg)
  @@ -663,7 +664,7 @@ class LinearOperator(module.Module):
  self._check_input_dtype(x)
  self_dim = -2 if adjoint else -1
  tensor_shape.dimension_at_index(
  - self.shape, self_dim).assert_is_compatible_with(x.get_shape()[-1])
  + self.shape, self_dim).assert_is_compatible_with(x.shape[-1])
  return self._matvec(x, adjoint=adjoint)
  def _determinant(self):
  @@ -808,7 +809,7 @@ class LinearOperator(module.Module):
  arg_dim = -1 if adjoint_arg else -2
  tensor_shape.dimension_at_index(
  self.shape, self_dim).assert_is_compatible_with(
  - rhs.get_shape()[arg_dim])
  + rhs.shape[arg_dim])
  return self._solve(rhs, adjoint=adjoint, adjoint_arg=adjoint_arg)
  @@ -862,8 +863,7 @@ class LinearOperator(module.Module):
  self._check_input_dtype(rhs)
  self_dim = -1 if adjoint else -2
  tensor_shape.dimension_at_index(
  - self.shape, self_dim).assert_is_compatible_with(
  - rhs.get_shape()[-1])
  + self.shape, self_dim).assert_is_compatible_with(rhs.shape[-1])
  return self._solvevec(rhs, adjoint=adjoint)
  