class_docstr: `LinearOperator` representing the adjoint of another operator.
  
  This operator represents the adjoint of another operator.
  
  ```python
  # Create a 2 x 2 linear operator.
  operator = LinearOperatorFullMatrix([[1 - i., 3.], [0., 1. + i]])
  operator_adjoint = LinearOperatorAdjoint(operator)
  
  operator_adjoint.to_dense()
  ==> [[1. + i, 0.]
       [3., 1 - i]]
  
  tensor_shape.TensorShape(operator_adjoint.shape)
  ==> [2, 2]
  
  operator_adjoint.log_abs_determinant()
  ==> - log(2)
  
  x = ... Shape [2, 4] Tensor
  operator_adjoint.matmul(x)
  ==> Shape [2, 4] Tensor, equal to operator.matmul(x, adjoint=True)
  ```
  
  #### Performance
  
  The performance of `LinearOperatorAdjoint` depends on the underlying
  operators performance.
  
  #### 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","adjoint","of","another","operator",".","This","operator","represents","the","adjoint","of","another","operator",".","``","`","python","#","Create","a","2","x","2","linear","operator",".","operator","=","LinearOperatorFullMatrix","(","[","[","1","-","i.",",","3",".","]",",","[","0.",",","1",".","+","i","]","]",")","operator_adjoint","=","LinearOperatorAdjoint","(","operator",")","operator_adjoint.to_dense","(",")","==",">","[","[","1",".","+","i",",","0",".","]","[","3.",",","1","-","i","]","]","tensor_shape.TensorShape","(","operator_adjoint.shape",")","==",">","[","2",",","2","]","operator_adjoint.log_abs_determinant","(",")","==",">","-","log","(","2",")","x","=","...","Shape","[","2",",","4","]","Tensor","operator_adjoint.matmul","(","x",")","==",">","Shape","[","2",",","4","]","Tensor",",","equal","to","operator.matmul","(","x",",","adjoint=True",")","``","`","#","#","#","#","Performance","The","performance","of","`","LinearOperatorAdjoint","`","depends","on","the","underlying","operators","performance",".","#","#","#","#","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 _eigvals(self):
      eigvals = self.operator.eigvals()
      if not self.operator.is_self_adjoint:
          eigvals = math_ops.conj(eigvals)
      return eigvals
  
imports: from tensorflow_probability.python.internal.backend.numpy import ops
  from tensorflow_probability.python.internal.backend.numpy import numpy_array
  from tensorflow_probability.python.internal.backend.numpy import numpy_math
  from tensorflow_probability.python.internal.backend.numpy import linalg_impl
  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 18 for calling the LinearOperatorAdjoint obj's underlying member method code with example usage: obj._eigvals() and returns: eigvals