tf.linalg.triangular_solve
Решает системы линейных уравнений с верхними или нижними треугольными матрицами.
tf.linalg.triangular_solve(
matrix, rhs, lower=True, adjoint=False, name=None
)
matrix — это тензор формы [..., M, M], две самые внутренние размерности которого образуют квадратные матрицы. Если lower равно True, предполагается, что строго верхняя треугольная часть каждой самой внутренней матрицы равна нулю и не считывается. Если lower равно False, предполагается, что строго нижняя треугольная часть каждой самой внутренней матрицы равна нулю и не считывается. rhs — это тензор формы [..., M, N].
Результат — тензор формы [..., M, N]. Если adjoint равно True, самые внутренние матрицы в результате удовлетворяют матричным уравнениям sum_k matrix[..., i, k] * output[..., k, j] = rhs[..., i, j]. Если adjoint равно False, самые внутренние матрицы в результате удовлетворяют матричным уравнениям sum_k adjoint(matrix[..., i, k]) * output[..., k, j] = rhs[..., i, j].
Пример:
a = tf.constant([[3, 0, 0, 0], [2, 1, 0, 0], [1, 0, 1, 0], [1, 1, 1, 1]], dtype=tf.float32)
b = tf.constant([[4], [2], [4], [2]], dtype=tf.float32)
x = tf.linalg.triangular_solve(a, b, lower=True)
x
<tf.Tensor: shape=(4, 1), dtype=float32, numpy=
array([[ 1.3333334 ],
[-0.66666675],
[ 2.6666665 ],
[-1.3333331 ]], dtype=float32)>
tf.matmul(a, x)
<tf.Tensor: shape=(4, 1), dtype=float32, numpy=
array([[4.],
[2.],
[4.],
[2.]], dtype=float32)>| Аргументы | |
|---|---|
matrix | Объект типа Tensor. Должен иметь один из следующих типов: float64, float32, half, complex64, complex128. Форма: [..., M, M]. |
rhs | Объект типа Tensor. Должен иметь тот же тип, что и matrix. Форма: [..., M, N]. |
lower | Необязательный объект типа bool. Значение по умолчанию: True. Логическое значение, указывающее, являются ли самые внутренние матрицы в matrix нижними или верхними треугольными матрицами. |
adjoint | Необязательный объект типа bool. Значение по умолчанию: False. Логическое значение, указывающее, нужно ли выполнять решение с matrix или с её сопряжённо-транспонированной матрицей (поблочно). |
name | Имя операции (необязательно). |
| Возвращает | |
|---|---|
Объект типа Tensor. Имеет тот же тип, что и matrix, и форму [..., M, N]. |
© 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/triangular_solve