Computes the eigenvalues of a complex Hermitian or real symmetric matrix.
Source:R/linalg.R
linalg_eigvalsh.Rd
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
Arguments
- A
(Tensor): tensor of shape
(*, n, n)
where*
is zero or more batch dimensions consisting of symmetric or Hermitian matrices.- UPLO
('L', 'U', optional): controls whether to use the upper or lower triangular part of
A
in the computations. Default:'L'
.
Value
A real-valued tensor cointaining the eigenvalues even when A
is complex.
The eigenvalues are returned in ascending order.
Details
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.
See also
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_triangular()
,
linalg_solve()
,
linalg_svdvals()
,
linalg_svd()
,
linalg_tensorinv()
,
linalg_tensorsolve()
,
linalg_vector_norm()
Examples
if (torch_is_installed()) {
a <- torch_randn(2, 2)
linalg_eigvalsh(a)
}
#> torch_tensor
#> -1.1600
#> 0.5052
#> [ CPUFloatType{2} ]