torch.Tensor.Tensor.eigvals
Tensor.eigvals(): Tensor<DynamicShape, D, Dev>Computes only the eigenvalues of a square matrix (without eigenvectors).
Returns eigenvalues without computing eigenvectors, which is faster when you only need spectral information. Useful for stability analysis, condition number estimation, and algorithmic checks. Eigenvalues can be complex for non-symmetric matrices.
Use Cases:
- Checking stability (are all eigenvalues inside unit circle?)
- Condition number estimation (max/min eigenvalue)
- Spectral radius for convergence analysis
- Quick stability checks without full decomposition
- Non-symmetric: May return complex eigenvalues
- No eigenvectors: For eigenvectors, use eig() or eigh()
- Potentially complex: Real tensor input may give complex output
Returns
Tensor<DynamicShape, D, Dev>– Eigenvalues tensor (potentially complex for non-symmetric matrices)Examples
// Compute only eigenvalues
const A = torch.tensor([[1, 2], [0, 3]]);
const eigenvalues = A.eigvals(); // No eigenvectors computed
// Check stability (spectral radius < 1)
const A_iter = torch.randn(10, 10);
const eigs = A_iter.eigvals();
const spectral_radius = eigs.abs().max(); // max |λ|
if (spectral_radius.item() < 1) {
console.log('Iteration converges');
}See Also
- PyTorch torch.eigvals() (or tensor.eigvals())
- eig - Full eigendecomposition with eigenvectors
- eigvalsh - Eigenvalues for Hermitian matrices (guaranteed real)
- svd - Singular values (related but different concept)