class_docstr: `LinearOperator` representing the inverse of another operator.
  
  This operator represents the inverse of another operator.
  
  ```python
  # Create a 2 x 2 linear operator.
  operator = LinearOperatorFullMatrix([[1., 0.], [0., 2.]])
  operator_inv = LinearOperatorInversion(operator)
  
  operator_inv.to_dense()
  ==> [[1., 0.]
       [0., 0.5]]
  
  tensor_shape.TensorShape(operator_inv.shape)
  ==> [2, 2]
  
  operator_inv.log_abs_determinant()
  ==> - log(2)
  
  x = ... Shape [2, 4] Tensor
  operator_inv.matmul(x)
  ==> Shape [2, 4] Tensor, equal to operator.solve(x)
  ```
  
  #### Performance
  
  The performance of `LinearOperatorInversion` depends on the underlying
  operators performance:  `solve` and `matmul` are swapped, and determinant is
  inverted.
  
  #### Matrix property hints
  
  This `LinearOperator` is initialized with boolean flags of the form `is_X`,
  for `X = non_singular, self_adjoint, positive_definite, square`.
  These have the following meaning:
  
  * If `is_X == True`, callers should expect the operator to have the
    property `X`.  This is a promise that should be fulfilled, but is *not* a
    runtime assert.  For example, finite floating point precision may result
    in these promises being violated.
  * If `is_X == False`, callers should expect the operator to not have `X`.
  * If `is_X == None` (the default), callers should have no expectation either
    way.
class_docstr_tok: ["`","LinearOperator","`","representing","the","inverse","of","another","operator",".","This","operator","represents","the","inverse","of","another","operator",".","``","`","python","#","Create","a","2","x","2","linear","operator",".","operator","=","LinearOperatorFullMatrix","(","[","[","1.",",","0",".","]",",","[","0.",",","2",".","]","]",")","operator_inv","=","LinearOperatorInversion","(","operator",")","operator_inv.to_dense","(",")","==",">","[","[","1.",",","0",".","]","[","0.",",","0.5","]","]","tensor_shape.TensorShape","(","operator_inv.shape",")","==",">","[","2",",","2","]","operator_inv.log_abs_determinant","(",")","==",">","-","log","(","2",")","x","=","...","Shape","[","2",",","4","]","Tensor","operator_inv.matmul","(","x",")","==",">","Shape","[","2",",","4","]","Tensor",",","equal","to","operator.solve","(","x",")","``","`","#","#","#","#","Performance","The","performance","of","`","LinearOperatorInversion","`","depends","on","the","underlying","operators","performance",":","`","solve","`","and","`","matmul","`","are","swapped",",","and","determinant","is","inverted",".","#","#","#","#","Matrix","property","hints","This","`","LinearOperator","`","is","initialized","with","boolean","flags","of","the","form","`","is_X","`",",","for","`","X","=","non_singular",",","self_adjoint",",","positive_definite",",","square","`",".","These","have","the","following","meaning",":","*","If","`","is_X","==","True","`",",","callers","should","expect","the","operator","to","have","the","property","`","X","`",".","This","is","a","promise","that","should","be","fulfilled",",","but","is","*","not","*","a","runtime","assert",".","For","example",",","finite","floating","point","precision","may","result","in","these","promises","being","violated",".","*","If","`","is_X","==","False","`",",","callers","should","expect","the","operator","to","not","have","`","X","`",".","*","If","`","is_X","==","None","`","(","the","default",")",",","callers","should","have","no","expectation","either","way","."]
code: def _linop_inverse(self) -> linear_operator.LinearOperator:
      return self.operator
  
imports: from tensorflow_probability.python.internal.backend.numpy import ops
  from tensorflow_probability.python.internal.backend.numpy.gen import linear_operator
  from tensorflow_probability.python.internal.backend.numpy.gen import linear_operator_util
  import numpy
  from tensorflow_probability.python.internal.backend.numpy import linalg_impl
  from tensorflow_probability.python.internal.backend.numpy import ops
  from tensorflow_probability.python.internal.backend.numpy.gen import tensor_shape
  from tensorflow_probability.python.internal.backend.numpy import private
label_desc: Use image node_id 3 for calling the LinearOperatorInversion obj's underlying member method code with example usage: obj._linop_inverse() and returns: self