計算 Hermitian 三對角矩陣的特征值。
用法
tf.linalg.eigh_tridiagonal(
alpha, beta, eigvals_only=True, select='a', select_range=None,
tol=None, name=None
)
參數
-
alpha
形狀 (n) 的實數或複數張量,矩陣的對角線元素。注意:如果 alpha 是複數,則忽略虛部(假設為零)以滿足矩陣是 Hermitian 的要求。 -
beta
形狀為 (n-1) 的實數或複數張量,包含矩陣的第一個 super-diagonal 的元素。如果 beta 是複數,則假設矩陣的第一個 sub-diagonal 是 beta 的共軛,以滿足矩陣是 Hermitian 的要求 -
eigvals_only
如果為 False,則計算特征值和相應的特征向量。如果為 True,則僅計算特征值。默認為真。 -
select
{‘a’, ‘v’, ‘i’}(默認為 'a')中的值的可選字符串,用於確定要計算的特征值:'a':all eigenvalues。 ‘v’:區間內的特征值(最小值,最大值)由select_range
給出。'i':具有索引最小值 -
select_range
大小 2 元組或列表或張量指定要與 select 一起計算的特征值範圍。如果選擇是'a',則忽略select_range。 -
tol
可選標量。每個特征值所需的絕對容差。如果特征值(或簇)位於此寬度的區間內,則認為它已收斂。如果 tol 為 None(默認),則使用值 eps*|T|_2,其中 eps 是機器精度,|T|_2 是矩陣 T 的 2 範數。 -
name
操作的可選名稱。
返回
-
eig_vals
非遞減矩陣的特征值。 -
eig_vectors
如果eigvals_only
為 False,則在第二個輸出參數中返回特征向量。
拋出
-
ValueError
如果輸入值無效。 -
NotImplemented
eigvals_only
= False 的特征向量計算尚未實現。
此操作實現了 scipy.linalg.eigh_tridiagonal 函數的子集。
注意:如果輸入包含 +/-inf 或 NaN,或者 beta 中的任何值的幅度大於numpy.sqrt(numpy.finfo(beta.dtype.as_numpy_dtype).max)
.
添加對外部批次尺寸的支持。
例子
import numpy
eigvals = tf.linalg.eigh_tridiagonal([0.0, 0.0, 0.0], [1.0, 1.0])
eigvals_expected = [-numpy.sqrt(2.0), 0.0, numpy.sqrt(2.0)]
tf.assert_near(eigvals_expected, eigvals)
# ==> True
相關用法
- 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用法及代碼示例
- Python tf.linalg.LinearOperatorToeplitz用法及代碼示例
- Python tf.linalg.LinearOperatorCirculant2D.matvec用法及代碼示例
- Python tf.linalg.LinearOperatorTridiag.solvevec用法及代碼示例
- Python tf.linalg.LinearOperatorTridiag.solve用法及代碼示例
- Python tf.linalg.LinearOperatorZeros.matmul用法及代碼示例
注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.linalg.eigh_tridiagonal。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。