tf.linalg.tridiagonal_matmul
| Просмотреть исходный код на GitHub |
Умножает треугольную матрицу на матрицу.
tf.linalg.tridiagonal_matmul(
diagonals, rhs, diagonals_format='compact', name=None
)
diagonals представляет собой 3-диагональную NxN матрицу, которая зависит от diagonals_format.
В формате matrix, diagonals должно быть тензором формы [..., M, M], где две самые внутренние размерности представляют квадратные треугольные матрицы. Элементы за пределами трех диагоналей будут проигнорированы.
Если используется формат sequence, то diagonals — список или кортеж из трех тензоров: [superdiag, maindiag, subdiag], каждая из которых имеет форму [..., M]. Последний элемент superdiag и первый элемент subdiag игнорируются.
В формате compact три диагонали объединены в один тензор формы [..., 3, M], где последние две размерности содержат сверхдиагонали, диагонали и поддиагонали в указанном порядке. Аналогично формату sequence, элементы diagonals[..., 0, M-1] и diagonals[..., 2, 0] игнорируются.
Формат sequence рекомендуется, как обеспечивающий лучшую производительность.
rhs — матрица, стоящая справа от знака умножения. Ее форма — [..., M, N].
Пример:
superdiag = tf.constant([-1, -1, 0], dtype=tf.float64) maindiag = tf.constant([2, 2, 2], dtype=tf.float64) subdiag = tf.constant([0, -1, -1], dtype=tf.float64) diagonals = [superdiag, maindiag, subdiag] rhs = tf.constant([[1, 1], [1, 1], [1, 1]], dtype=tf.float64) x = tf.linalg.tridiagonal_matmul(diagonals, rhs, diagonals_format='sequence')
| Args | |
|---|---|
diagonals | A Tensor или кортеж Tensor описывающий левые части. Форма зависит от diagonals_format, см. описание выше. Должен быть float32, float64, complex64, или complex128. |
rhs | A Tensor с формой [..., M, N] и тем же типом, что и diagonals. |
diagonals_format | один из sequence, или compact. По умолчанию compact. |
name | Имя для этой Op (необязательно). |
| Возвращает | |
|---|---|
A Tensor с формой [..., M, N], содержащей результат умножения. |
| Возможные исключения | |
|---|---|
ValueError | Неподдерживаемый тип передан в качестве входных данных или входные тензоры имеют неправильные формы. |
© 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.3/api_docs/python/tf/linalg/tridiagonal_matmul