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 | Матрично-образный float 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
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/linalg/lu_solve