Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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)

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>

home | help