FreeBSD Manual Pages
elpa_skew_eigenvectors(3) Library Functions Manual elpa_skew_eigenvectors(3) NAME elpa_skew_eigenvectors - computes all eigenvalues <lambda> and (part of) the eigenvectors for a real skew-symmetric eigenproblem: A*Q = <lambda>*Q SYNOPSIS FORTRAN INTERFACE use elpa class(elpa_t), pointer :: elpa_handle call elpa_handle%skew_eigenvectors (a, ev, q, error) With the definitions of the input and output variables: class(elpa_t) :: elpa An instance of the ELPA object datatype_real :: a The local part of matrix A for which the eigenvalues and eigenvec- tors should be computed. The dimensions of matrix a must be set BE- FORE with the methods elpa_set(3) and elpa_setup(3). The datatype_real of the matrix can be one of "real(kind=c_double)" or "real(kind=c_float)". The global matrix has to be skew-symmetric, this is not checked by the routine. datatype_real :: ev The array where the eigenvalues <lambda> will be stored in ascending order. The datatype_real of ev can be either "real(kind=c_double)" or "real(kind=c_float)", depending of the datatype of the matrix. datatype_real :: q The storage space for the computed eigenvectors Q. The number of re- quested eigenpairs must be set BEFORE with the methods elpa_set(3) and elpa_setup(3). The number of requested eigenvectors must be set BEFORE with the methods elpa_set(3) and elpa_setup(3). The datatype_real can be one of "complex(kind=c_double)" or "com- plex(kind=c_float)". Note, that for a skew-symmetric matrix the eigenvectors are complex. The routine returns separately the real and imaginary parts of the complex eigenvectors. Thus, the storage space has to be of dimension q(#number_of_rows, 2*#num- ber_of_columns). integer, optional :: error The return error code of the function. Should be "ELPA_OK". The er- ror code can be queried with the function elpa_strerr(3) C/C++ INTERFACE #include <elpa/elpa.h> elpa_t elpa_handle; void elpa_eigenvalues(elpa_t elpa_handle, datatype_real *a, datatype_real *ev, datatype_real *q, int *error); With the definitions of the input and output variables: elpa_t elpa_handle; The handle to the ELPA object datatype_real *a; The local part of matrix A for which the eigenvalues and eigenvec- tors should be computed. The dimensions of the matrix must be set BEFORE with the methods elpa_set(3) and elpa_setup(3). The datatype_real can be "double" or "float". The global matrix has to be symmetric or hermitian, this is not checked by the routine. datatype_real *ev; The array where the eigenvalues <lambda> will be stored in ascending order. Eigenvalues will be stored in ascending order. The datatype_real can be either "double" or "float". datatype_real *q; The storage space for the computed eigenvectors Q. The number of re- quested eigenvectors must be set BEFORE with the methods elpa_set(3) and elpa_setup(3). The datatype_real can "double complex" or "float complex". Note, that for a skew-symmetric matrix the eigenvectors are complex. The routine returns separately the real and imaginary parts of the complex eigenvectors. Thus, the storage space has to be of dimension q(#number_of_rows, 2*#number_of_columns). int *error; The error code of the function. Should be "ELPA_OK". The error codes can be queried with elpa_strerr(3). DESCRIPTION Computes the eigenvalues and (part of) the eigenvector spectrum of a real skew-symmetric matrix. The functions elpa_init(3), elpa_allocate(3), elpa_set(3), and elpa_setup(3) must be called BEFORE elpa_skew_eigenvectors can be called. In particular, the number of the requested eigenpairs, "nev", must be set with elpa_set(3). SEE ALSO elpa2_print_kernels(1) elpa_init(3) elpa_allocate(3) elpa_set(3) elpa_setup(3) elpa_strerr(3) elpa_eigenvalues(3) elpa_skew_eigenvalues(3) elpa_eigenvectors(3) elpa_cholesky(3) elpa_invert_triangular(3) elpa_solve_tridiagonal(3) elpa_hermitian_multiply(3) elpa_uninit(3) elpa_deallocate(3) ELPA Thu Nov 28 2024 elpa_skew_eigenvectors(3)
NAME | SYNOPSIS | DESCRIPTION | SEE ALSO
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=elpa_skew_eigenvectors&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>
