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()
:计算厄米矩阵的特征向量和特征值。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)