Solves systems of linear eqns A X = RHS
, given LU factorizations.
tf.linalg.lu_solve( lower_upper, perm, rhs, validate_args=False, name=None )
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) . |
rhs | Matrix-shaped float Tensor representing targets for which to solve; A X = RHS . To handle vector cases, use: lu_solve(..., rhs[..., tf.newaxis])[..., 0] . |
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_solve'). |
Returns | |
---|---|
x | The X in A @ X = RHS . |
import numpy as np import tensorflow as tf import tensorflow_probability as tfp x = [[[1., 2], [3, 4]], [[7, 8], [3, 4]]] inv_x = tf.linalg.lu_solve(*tf.linalg.lu(x), rhs=tf.eye(2)) 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.3/api_docs/python/tf/linalg/lu_solve