將三對角矩陣乘以矩陣。
用法
tf.linalg.tridiagonal_matmul(
diagonals, rhs, diagonals_format='compact', name=None
)
參數
-
diagonals
Tensor
或Tensor
的元組說明 left-hand 邊。形狀取決於diagonals_format
,見上麵的說明。必須是float32
,float64
,complex64
或complex128
。 -
rhs
形狀為 [..., M, N] 的Tensor
並且具有與diagonals
相同的 dtype。 -
diagonals_format
sequence
或compact
之一。默認為compact
。 -
name
給此Op
的名稱(可選)。
返回
-
包含乘法結果的形狀為 [..., M, N] 的
Tensor
。
拋出
-
ValueError
提供不支持的類型作為輸入,或者當輸入張量的形狀不正確時。
diagonals
是 3 對角 NxN 矩陣的表示,它取決於 diagonals_format
。
在 matrix
格式中,diagonals
必須是形狀為 [..., M, M]
的張量,其中兩個 inner-most 維度代表三對角矩陣。三個對角線之外的元素將被忽略。
如果 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')
相關用法
- Python tf.linalg.tridiagonal_solve用法及代碼示例
- Python tf.linalg.triangular_solve用法及代碼示例
- Python tf.linalg.trace用法及代碼示例
- Python tf.linalg.tensor_diag_part用法及代碼示例
- Python tf.linalg.tensor_diag用法及代碼示例
- Python tf.linalg.LinearOperatorFullMatrix.matvec用法及代碼示例
- Python tf.linalg.LinearOperatorToeplitz.solve用法及代碼示例
- Python tf.linalg.LinearOperatorIdentity.solvevec用法及代碼示例
- Python tf.linalg.LinearOperatorPermutation.solve用法及代碼示例
- Python tf.linalg.band_part用法及代碼示例
- Python tf.linalg.LinearOperatorKronecker.diag_part用法及代碼示例
- Python tf.linalg.lu_matrix_inverse用法及代碼示例
- Python tf.linalg.LinearOperatorToeplitz.matvec用法及代碼示例
- Python tf.linalg.LinearOperatorBlockLowerTriangular.solvevec用法及代碼示例
- Python tf.linalg.LinearOperatorLowerTriangular.matvec用法及代碼示例
- Python tf.linalg.LinearOperatorCirculant2D.solve用法及代碼示例
- Python tf.linalg.LinearOperatorCirculant3D.diag_part用法及代碼示例
- Python tf.linalg.LinearOperatorToeplitz.solvevec用法及代碼示例
- Python tf.linalg.LinearOperatorCirculant2D.assert_non_singular用法及代碼示例
- Python tf.linalg.LinearOperatorPermutation.diag_part用法及代碼示例
注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.linalg.tridiagonal_matmul。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。