tf.matrix_inverse(input, adjoint=None, name=None)

tf.matrix_inverse(input, adjoint=None, name=None)

See the guide: Math > Matrix Math Functions

Computes the inverse of one or more square invertible matrices or their

adjoints (conjugate transposes).

The input is a tensor of shape [..., M, M] whose inner-most 2 dimensions form square matrices. The output is a tensor of the same shape as the input containing the inverse for all input submatrices [..., :, :].

The op uses LU decomposition with partial pivoting to compute the inverses.

If a matrix is not invertible there is no guarantee what the op does. It may detect the condition and raise an exception or it may simply return a garbage result.


  • input: A Tensor. Must be one of the following types: float64, float32. Shape is [..., M, M].
  • adjoint: An optional bool. Defaults to False.
  • name: A name for the operation (optional).


A Tensor. Has the same type as input. Shape is [..., M, M].

numpy compatibility

Equivalent to np.linalg.inv

Defined in tensorflow/python/ops/