View source on GitHub
|
Multiplies tridiagonal matrix by matrix.
tf.linalg.tridiagonal_matmul(
diagonals, rhs, diagonals_format='compact', name=None
)
diagonals is representation of 3-diagonal NxN matrix, which depends on
diagonals_format.
In matrix format, diagonals must be a tensor of shape [..., M, M], with
two inner-most dimensions representing the square tridiagonal matrices.
Elements outside of the three diagonals will be ignored.
If sequence format, diagonals is list or tuple of three tensors:
[superdiag, maindiag, subdiag], each having shape [..., M]. Last element
of superdiag first element of subdiag are ignored.
In compact format the three diagonals are brought together into one tensor
of shape [..., 3, M], with last two dimensions containing superdiagonals,
diagonals, and subdiagonals, in order. Similarly to sequence format,
elements diagonals[..., 0, M-1] and diagonals[..., 2, 0] are ignored.
The sequence format is recommended as the one with the best performance.
rhs is matrix to the right of multiplication. It has shape [..., 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')
diagonals
Tensor or tuple of Tensors describing left-hand sides. The
shape depends of diagonals_format, see description above. Must be
float32, float64, complex64, or complex128.
rhs
Tensor of shape [..., M, N] and with the same dtype as diagonals.
diagonals_format
sequence, or compact. Default is compact.
name
Op (optional).
Tensor of shape [..., M, N] containing the result of multiplication.
ValueError
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates. Some content is licensed under the numpy license.
Last updated 2024-04-26 UTC.