pydiodon.mat_evd¶
- pydiodon.mat_evd(mat, k=-1)[source]¶
Computes the eigenvalues and eigenvectors of a matrix
- Parameters:
- mata numpy array, n x n (a matrix)
- kan integer
the number of eigenvalues/vectors to be computed
- Returns:
- Va 2D numpy array
of size n x k: the k eigenvectors
- La 1D numpy array
a vector ; the first k eigenvalues
Notes
if k=-1, all eigenvalues and eigenvectors are returned.
This simply uses
numpy.linalg.eigh(), and adds some features likesorts eigenvalues in decreasing order
sorts eigenvectors in corresponding order
sets to zero the imaginary parts (numerical approximation)
Example
>>> import pydiodon as dio >>> import numpy as np >>> # building a symmetric matrix >>> n = 5 >>> A = np.random.random((n,n)) >>> A = (A + A.T)/2 >>> # computing eigenvalues and eigenvectors >>> V, L = dio.mat_evd(A)
version 21.03.21, 22.09.21, 22.10.13, 22.10.25