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] 的特徵向量。

回傳類型:

tuple[Array, Array]

筆記

  • 這與 numpy.linalg.eig() 的不同之處在於 jax.numpy.linalg.eig() 的回傳類型對於 32 位元輸入始終為 complex64,對於 64 位元輸入始終為 complex128。

  • 目前,非對稱特徵分解僅在 CPU 和 GPU 後端實作。有關 GPU 實作的更多詳細資訊,請參閱 jax.lax.linalg.eig() 的文件。

另請參閱

範例

>>> 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)