jax.lax.linalg.eigh#
- jax.lax.linalg.eigh(x, *, lower=True, symmetrize_input=True, sort_eigenvalues=True, subset_by_index=None)[原始碼]#
埃爾米特矩陣的特徵分解。
計算複數埃爾米特或實數對稱方陣的特徵向量和特徵值。
- 參數:
x (Array) – 一批形狀為
[..., n, n]
的方陣複數埃爾米特或實數對稱矩陣。lower (bool) – 如果
symmetrize_input
為False
,則描述要使用輸入矩陣的哪個三角形。如果symmetrize_input
為False
,則僅存取由lower
給定的三角形;另一個三角形將被忽略且不被存取。symmetrize_input (bool) – 如果為
True
,則在特徵分解之前通過計算 \(\frac{1}{2}(x + x^H)\) 來對矩陣進行對稱化。sort_eigenvalues (bool) –
- 如果
True
,則特徵值將按升序排序 順序。 如果
False
,則以實作定義的順序傳回特徵值。- subset_by_index: 可選的 2 元組 [start, end] 表示要計算的特徵值的索引範圍。例如,如果
range_select
= [n-2,n],則eigh
計算兩個最大的特徵值及其特徵向量。 indices of eigenvalues to compute. For example, is
range_select
= [n-2,n], theneigh
computes the two largest eigenvalues and their eigenvectors.
- 如果
- 返回:
一個元組
(v, w)
。v
是一個與x
具有相同 dtype 的陣列,使得v[..., :, i]
是對應於特徵值w[..., i]
的標準化特徵向量。w
是一個與x
(如果為複數則為其實數副本) 具有相同 dtype 的陣列,其形狀為[..., d]
,包含x
的特徵值 (按升序排列,每個特徵值根據其重數重複)。如果subset_by_index
為None
,則d
等於n
。否則,d
等於subset_by_index[1] - subset_by_index[0]
。- 返回類型: