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
© 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