View source on GitHub |
The reconstruct one or more matrices from their LU decomposition(s).
tf.linalg.lu_reconstruct(
lower_upper, perm, validate_args=False, name=None
)
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.
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_reconstruct').x
: The original input to tf.linalg.lu
, i.e., x
as in,
lu_reconstruct(*tf.linalg.lu(x))
.import numpy as np
import tensorflow as tf
import tensorflow_probability as tfp
x = [[[3., 4], [1, 2]],
[[7., 8], [3, 4]]]
x_reconstructed = tf.linalg.lu_reconstruct(*tf.linalg.lu(x))
tf.assert_near(x, x_reconstructed)
# ==> True