Letting be or ,
the eigenvalues of a complex Hermitian or real symmetric matrix
are defined as the roots (counted with multiplicity) of the polynomial p of degree n given by
linalg_eigvalsh(A, UPLO = "L")A real-valued tensor cointaining the eigenvalues even when A is complex.
The eigenvalues are returned in ascending order.
(Tensor): tensor of shape (*, n, n) where * is zero or more batch dimensions
consisting of symmetric or Hermitian matrices.
('L', 'U', optional): controls whether to use the upper or lower triangular part
of A in the computations. Default: 'L'.
torch:::math_to_rd(" p(\\lambda) = \\operatorname{det}(A - \\lambda \\mathrm{I}_n)\\mathrlap{\\qquad \\lambda \\in \\mathbb{R}} ")
where is the n-dimensional identity matrix.
The eigenvalues of a real symmetric or complex Hermitian matrix are always real.
Supports input of float, double, cfloat and cdouble dtypes.
Also supports batches of matrices, and if A is a batch of matrices then
the output has the same batch dimensions.
The eigenvalues are returned in ascending order.
A is assumed to be Hermitian (resp. symmetric), but this is not checked internally, instead:
If UPLO\ = 'L' (default), only the lower triangular part of the matrix is used in the computation.
If UPLO\ = 'U', only the upper triangular part of the matrix is used.
linalg_eigh() computes the full eigenvalue decomposition.
Other linalg:
linalg_cholesky_ex(),
linalg_cholesky(),
linalg_det(),
linalg_eigh(),
linalg_eigvals(),
linalg_eig(),
linalg_householder_product(),
linalg_inv_ex(),
linalg_inv(),
linalg_lstsq(),
linalg_matrix_norm(),
linalg_matrix_power(),
linalg_matrix_rank(),
linalg_multi_dot(),
linalg_norm(),
linalg_pinv(),
linalg_qr(),
linalg_slogdet(),
linalg_solve(),
linalg_svdvals(),
linalg_svd(),
linalg_tensorinv(),
linalg_tensorsolve(),
linalg_vector_norm()
if (torch_is_installed()) {
a <- torch_randn(2, 2)
linalg_eigvalsh(a)
}
Run the code above in your browser using DataLab