tf.linalg.lu_solve
Решает системы линейных уравнений A X = RHS, заданных факторизациями LU.
tf.linalg.lu_solve(
lower_upper, perm, rhs, validate_args=False, name=None
)
Примечание: эта функция не проверяет, является ли подразумеваемая матрица фактически обратимой, и это условие не проверяется даже когда validate_args=True.
| Аргументы | |
|---|---|
lower_upper | lu, возвращаемое tf.linalg.lu, т.е., если matmul(P, matmul(L, U)) = X то lower_upper = L + U - eye. |
perm | p, возвращаемое tf.linag.lu, т.е., если matmul(P, matmul(L, U)) = X то perm = argmax(P). |
rhs | Матричная плавающая точка Tensor типа, представляющая целевые значения, которые необходимо решить; A X = RHS. Для обработки случаев векторов используйте: lu_solve(..., rhs[..., tf.newaxis])[..., 0]. |
validate_args | Python bool указывающий, следует ли проверять правильность аргументов. Примечание: эта функция не проверяет, является ли подразумеваемая матрица фактически обратимой, даже когда validate_args=True. Значение по умолчанию: False (т.е., не проверять аргументы). |
name | Имя Python str для операций, управляемых этим объектом. Значение по умолчанию: None (т.е., 'lu_solve'). |
| Возвращаемое значение | |
|---|---|
x | Результат X в 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.4/api_docs/python/tf/linalg/lu_solve