tf.linalg.lu_matrix_inverse

Computes the inverse given the LU decomposition(s) of one or more matrices.

This op is conceptually identical to,

inv_X = tf.lu_matrix_inverse(*tf.linalg.lu(X))
tf.assert_near(tf.matrix_inverse(X), inv_X)
# ==> True
Note: this function does not verify the implied matrix is actually invertible nor is this condition checked even when validate_args=True.
Args
lower_upper lu as returned by tf.linalg.lu, i.e., if matmul(P, matmul(L, U)) = X then lower_upper = L + U - eye.
perm p as returned by tf.linag.lu, i.e., if matmul(P, matmul(L, U)) = X then perm = argmax(P).
validate_args Python bool indicating whether arguments should be checked for correctness. Note: this function does not verify the implied matrix is actually invertible, even when validate_args=True. Default value: False (i.e., don't validate arguments).
name Python str name given to ops managed by this object. Default value: None (i.e., 'lu_matrix_inverse').
Returns
inv_x The matrix_inv, i.e., tf.matrix_inverse(tf.linalg.lu_reconstruct(lu, perm)).

Examples

import numpy as np
import tensorflow as tf
import tensorflow_probability as tfp

x = [[[3., 4], [1, 2]],
     [[7., 8], [3, 4]]]
inv_x = tf.linalg.lu_matrix_inverse(*tf.linalg.lu(x))
tf.assert_near(tf.matrix_inverse(x), inv_x)
# ==> True

© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.4/api_docs/python/tf/linalg/lu_matrix_inverse