计算 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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。