Attend the Women in ML Symposium on December 7

# tfp.math.lu_solve

Solves systems of linear eqns `A X = RHS`, given LU factorizations.

`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').

`x` The `X` in `A @ X = RHS`.

#### Examples

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

x = [[[1., 2],
[3, 4]],
[[7, 8],
[3, 4]]]
inv_x = tfp.math.lu_solve(*tf.linalg.lu(x), rhs=tf.eye(2))
tf.assert_near(tf.matrix_inverse(x), inv_x)
# ==> True
``````
[]
[]