linalg 1.8.2
A linear algebra library that provides a user-friendly interface to several BLAS and LAPACK routines.
|
Computes the eigenvalues, and optionally the eigenvectors, of a matrix. More...
Public Member Functions | |
eigen_symm | |
eigen_asymm | |
eigen_gen | |
eigen_cmplx | |
Computes the eigenvalues, and optionally the eigenvectors, of a matrix.
[in] | vecs | Set to true to compute the eigenvectors as well as the eigenvalues; else, set to false to just compute the eigenvalues. |
[in,out] | a | On input, the N-by-N symmetric matrix on which to operate. On output, and if vecs is set to true, the matrix will contain the eigenvectors (one per column) corresponding to each eigenvalue in vals . If vecs is set to false, the lower triangular portion of the matrix is overwritten. |
[out] | vals | An N-element array that will contain the eigenvalues sorted into ascending order. |
[out] | work | An optional input, that if provided, prevents any local memory allocation. If not provided, the memory required is allocated within. If provided, the length of the array must be at least olwork . |
[out] | olwork | An optional output used to determine workspace size. If supplied, the routine determines the optimal size for work , and returns without performing any actual calculations. |
[in,out] | err | An optional errors-based object that if provided can be used to retrieve information relating to any errors encountered during execution. If not provided, a default implementation of the errors class is used internally to provide error handling. Possible errors and warning messages that may be encountered are as follows.
|
[in,out] | a | On input, the N-by-N matrix on which to operate. On output, the contents of this matrix are overwritten. |
[out] | vals | An N-element array containing the eigenvalues of the matrix. The eigenvalues are not sorted. |
[out] | vecs | An optional N-by-N matrix, that if supplied, signals to compute the right eigenvectors (one per column). If not provided, only the eigenvalues will be computed. |
[out] | work | An optional input, that if provided, prevents any local memory allocation. If not provided, the memory required is allocated within. If provided, the length of the array must be at least olwork . |
[out] | olwork | An optional output used to determine workspace size. If supplied, the routine determines the optimal size for work , and returns without performing any actual calculations. |
[out] | rwork | An optional input, that if provided, prevents any local memory allocation for real-valued workspaces. If not provided, the memory required is allocated within. If provided, the length of the array must be at least 2 * N. |
[in,out] | err | An optional errors-based object that if provided can be used to retrieve information relating to any errors encountered during execution. If not provided, a default implementation of the errors class is used internally to provide error handling. Possible errors and warning messages that may be encountered are as follows.
|
[in,out] | a | On input, the N-by-N matrix A. On output, the contents of this matrix are overwritten. |
[in,out] | b | On input, the N-by-N matrix B. On output, the contents of this matrix are overwritten. |
[out] | alpha | An N-element array that, if beta is not supplied, contains the eigenvalues. If beta is supplied however, the eigenvalues must be computed as ALPHA / BETA. This however, is not as trivial as it seems as it is entirely possible, and likely, that ALPHA / BETA can overflow or underflow. With that said, the values in ALPHA will always be less than and usually comparable with the NORM(A). |
[out] | beta | An optional N-element array that if provided forces alpha to return the numerator, and this array contains the denominator used to determine the eigenvalues as ALPHA / BETA. If used, the values in this array will always be less than and usually comparable with the NORM(B). |
[out] | vecs | An optional N-by-N matrix, that if supplied, signals to compute the right eigenvectors (one per column). If not provided, only the eigenvalues will be computed. |
[out] | work | An optional input, that if provided, prevents any local memory allocation. If not provided, the memory required is allocated within. If provided, the length of the array must be at least olwork . |
[out] | olwork | An optional output used to determine workspace size. If supplied, the routine determines the optimal size for work , and returns without performing any actual calculations. |
[in,out] | err | An optional errors-based object that if provided can be used to retrieve information relating to any errors encountered during execution. If not provided, a default implementation of the errors class is used internally to provide error handling. Possible errors and warning messages that may be encountered are as follows.
|
Definition at line 3371 of file linalg.f90.