jax.numpy.linalg.eig#
- jax.numpy.linalg.eig(a)[原始碼]#
計算方陣的特徵值和特徵向量。
JAX 版本的
numpy.linalg.eig()
。- 參數:
a (ArrayLike) – 形狀為
(..., M, M)
的陣列,用於計算特徵值和特徵向量。- 回傳:
一個元組
(eigenvalues, eigenvectors)
,包含eigenvalues
:形狀為(..., M)
的陣列,包含特徵值。eigenvectors
:形狀為(..., M, M)
的陣列,其中欄v[:, i]
是對應於特徵值w[i]
的特徵向量。
- 回傳類型:
筆記
這與
numpy.linalg.eig()
的不同之處在於jax.numpy.linalg.eig()
的回傳類型對於 32 位元輸入始終為 complex64,對於 64 位元輸入始終為 complex128。目前,非對稱特徵分解僅在 CPU 和 GPU 後端實作。有關 GPU 實作的更多詳細資訊,請參閱
jax.lax.linalg.eig()
的文件。
另請參閱
jax.numpy.linalg.eigh()
:Hermitian 矩陣的特徵向量和特徵值。jax.numpy.linalg.eigvals()
:僅計算特徵值。
範例
>>> a = jnp.array([[1., 2.], ... [2., 1.]]) >>> w, v = jnp.linalg.eig(a) >>> with jax.numpy.printoptions(precision=4): ... w Array([ 3.+0.j, -1.+0.j], dtype=complex64) >>> v Array([[ 0.70710677+0.j, -0.70710677+0.j], [ 0.70710677+0.j, 0.70710677+0.j]], dtype=complex64)