Spec-Zone.ru › TensorFlow

tf.raw_ops.MatrixTriangularSolve

Решает системы линейных уравнений с верхними или нижними треугольными матрицами методом обратной подстановки.

Просмотреть псевдонимы

Псевдонимы для обеспечения совместимости при миграции

Подробнее см. в руководстве по миграции.

tf.compat.v1.raw_ops.MatrixTriangularSolve

tf.raw_ops.MatrixTriangularSolve(
    matrix, rhs, lower=True, adjoint=False, name=None
)

matrix — это тензор формы [..., M, M], чьи два внутренних измерения образуют квадратные матрицы. Если lower равно True, то предполагается, что строго верхняя треугольная часть каждой внутренней матрицы равна нулю и не считывается. Если lower равно False, то предполагается, что строго нижняя треугольная часть каждой внутренней матрицы равна нулю и не считывается. rhs — это тензор формы [..., M, N].

Результат — это тензор формы [..., M, N]. Если adjoint равно True, то внутренние матрицы в output удовлетворяют матричным уравнениям matrix[..., :, :] * output[..., :, :] = rhs[..., :, :]. Если adjoint равно False, то внутренние матрицы в output удовлетворяют матричным уравнениям 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)>

# in python3 one can use `a@x`
tf.matmul(a, x)
# <tf.Tensor: shape=(4, 1), dtype=float32, numpy=
# array([[4.       ],
#        [2.       ],
#        [4.       ],
#        [1.9999999]], dtype=float32)>
Аргументы
matrix Tensor. Должен иметь один из следующих типов: bfloat16, float64, float32, half, complex64, complex128. Форма: [..., M, M].
rhs Tensor. Должен иметь тот же тип, что и matrix. Форма: [..., M, K].
lower Необязательный bool. Значение по умолчанию: True. Логическое значение, указывающее, являются ли внутренние матрицы в matrix нижними или верхними треугольными.
adjoint Необязательный bool. Значение по умолчанию: False. Логическое значение, указывающее, следует ли решать уравнение с matrix или с его (поблочным) сопряжённым оператором.
name Имя операции (необязательно).
Возвращает
Tensor. Имеет тот же тип, что и matrix.

Совместимость с NumPy

Эквивалентно scipy.linalg.solve_triangular

© 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/raw_ops/MatrixTriangularSolve

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API