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

FreeBSD Manual Pages

  
 
  

home | help
elpa_eigen...at_complex(3)  Library Functions Manual  elpa_eigen...at_complex(3)

NAME
     elpa_eigenvalues_float_complex  -	computes  all eigenvalues <lambda> for a
     complex hermitian eigenproblem: A*Q = <lambda>*Q

SYNOPSIS
   FORTRAN INTERFACE
     use elpa
     class(elpa_t), pointer :: elpa_handle

     call elpa_handle%eigenvalues_float_complex (a, ev, error)

     With the definitions of the input and output variables:

     class(elpa_t) :: elpa_handle
	    An instance of the ELPA object.

     real(kind=c_float_complex) :: a	 OR   type(c_ptr) :: a
	    The local part of the host/device matrix A for which the eigenvalues
	    should be computed. The dimensions of matrix a must  be  set  BEFORE
	    with  the  methods	elpa_set(3) and elpa_setup(3). The global matrix
	    has to be hermitian, this is not checked by the routine. In case  of
	    a GPU build a can be a pointer to the device memory.

     real(kind=c_float) :: ev		 OR   type(c_ptr) :: ev
	    The  global  array	where the eigenvalues <lambda> will be stored in
	    ascending order. In case of a GPU build ev can be a pointer  to  the
	    device  memory.  Note that complex hermitian matrices also have real
	    eigenvalues.

     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;

     // C:
     void  elpa_eigenvalues_float_complex(elpa_t  elpa_handle, float complex *a,
     float *ev, int *error);

     // C++:
     void elpa_eigenvalues_float_complex(elpa_t elpa_handle, std::complex<float>
     *a, float *ev, int *error);

     With the definitions of the input and output variables:

     elpa_t  elpa_handle;
	    The handle to the ELPA object

     float complex  *a;   OR   std::complex<float>  *a;
	    The local part of the host/device matrix A for which the eigenvalues
	    should be computed. The dimensions of matrix a must  be  set  BEFORE
	    with  the methods elpa_set(3) and elpa_setup(3). The global matrix A
	    has to be hermitian, this is not checked by the routine. In case  of
	    a GPU build a can be a pointer to the device memory.

     float  *ev;
	    The  global  array	where the eigenvalues <lambda> will be stored in
	    ascending order. In case of a GPU build ev can be a pointer  to  the
	    device  memory.  Note that complex hermitian matrices also have real
	    eigenvalues.

     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 of  a  complex  hermitian  matrix.  The  functions
     elpa_init(3),  elpa_allocate(3),  elpa_set(3),  and  elpa_setup(3)  must be
     called BEFORE elpa_eigenvalues_float_complex can be called.

SEE ALSO
     elpa2_print_kernels(1)    elpa_init(3)	elpa_allocate(3)     elpa_set(3)
     elpa_setup(3)  elpa_strerr(3) elpa_skew_eigenvalues(3) elpa_eigenvectors(3)
     elpa_skew_eigenvectors(3)	  elpa_cholesky(3)     elpa_invert_triangular(3)
     elpa_solve_tridiagonal(3)	elpa_eigenvalues(3)  elpa_uninit(3) elpa_deallo-
     cate(3)

ELPA				 Thu Nov 28 2024      elpa_eigen...at_complex(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=elpa_eigenvalues_float_complex&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help