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

FreeBSD Manual Pages

  
 
  

home | help
elpa_gene...genvectors(3)  Library Functions Manual  elpa_gene...genvectors(3)

NAME
       elpa_generalized_eigenvectors - computes	the generalized	eigenvalues
       and (part of) the eigenvector spectrum for a real symmetric or complex
       hermitian matrix

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

       call elpa%generalized_eigenvectors (a, b, ev, q,	is_already_decomopsed,
       error)

       With the	definitions of the input and output variables:

       class(elpa_t) ::	elpa  !	returns	an instance of the ELPA	object

       datatype	:: a
	      The  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 datatype of the matrix	can be
	      one      of     "real(kind=c_double)",	 "real(kind=c_float)",
	      "complex(kind=c_double)",	or "complex(kind=c_float)"

       datatype	:: b
	      The matrix b defining the	generalized  eigenvalue	 problem.  The
	      dimensions  and  datatype	 of the	matrix b has to	be the same as
	      for matrix a.

       datatype	:: ev
	      The vector ev where the eigenvalues will be stored in  ascending
	      order.   The   datatype	of   the   vector  ev  can  be	either
	      "real(kind=c_double)", or	"real(kind=c_float)", depending	of the
	      datatype of the matrix. Note  that  complex  hermitian  matrices
	      also have	real valued eigenvalues.

       datatype	:: q
	      The  storage space for the computed eigenvectors.	The dimensions
	      of matrix	a must be set BEFORE with the methods elpa_set(3)  and
	      elpa_setup(3).  The  datatype  of	 the  matrix  can  be  one  of
	      "real(kind=c_double)",			 "real(kind=c_float)",
	      "complex(kind=c_double)",	or "complex(kind=c_float)"

       logical :: is_already_decomposed
	      Has  to  be set to .false. for the first call with a given b and
	      .true. for each subsequent call with the same b,	since  b  then
	      already  contains	decomposition and thus the decomposing step is
	      skipped.

       integer,	optional :: error
	      The return error code of the function. Should be "ELPA_OK".  The
	      error code can be	querried with the function elpa_strerr(3)

   C INTERFACE
       #include	<elpa/elpa.h>
       elpa_t handle;

       void elpa_generalized_eigenvectors(elpa_t handle, datatype *a, datatype
       *b, datatype *ev, datatype *q,  int is_already_decomposed, int *error);

       With the	definitions of the input and output variables:

       elpa_t handle;
	      The handle to the	ELPA object

       datatype	*a;
	      The  matrix  a for which the eigenvalues should be computed. The
	      dimensions of the	matrix must be set  BEFORE  with  the  methods
	      elpa_set(3)  and	elpa_setup(3).	The  datatype  can  be	one of
	      "double",	"float", "double complex", or "float complex".

       datatype	*b;
	      The matrix b defining the	generalized  eigenvalue	 problem.  The
	      dimensions  and the datatype of the matrix b must	be the same as
	      matrix a.

       datatype	*ev;
	      The storage for the computed eigenvalues.	 Eigenvalues  will  be
	      stored in	ascendig order.	The datatype can be either "double" or
	      "float". Note that the eigenvalues of complex hermitian matrices
	      are also real.

       datatype	*q;
	      The  storage space for the computed eigenvectors.	The dimensions
	      of the matrix must be set	BEFORE with  the  methods  elpa_set(3)
	      and elpa_setup(3). The datatype can be one of "double", "float",
	      "double complex",	or "float complex".

       int is_already_decomposed;
	      Has  to  be set to 0 for the first call with a given b and 1 for
	      each subsequent call with	the  same  b,  since  b	 then  already
	      contains decomposition and thus the decomposing step is skipped.

       int *error;
	      The  error  code of the function.	Should be "ELPA_OK". The error
	      codes can	be querried with elpa_strerr(3)

DESCRIPTION
       Compute the generalized eigenvalues  and	 (parts	 of)  the  eigenvector
       spectrum	 of  a real symmtric or	complex	hermitian matrix.The functions
       elpa_init(3), elpa_allocate(3), elpa_set(3), and	elpa_setup(3) must  be
       called  BEFORE  elpa_generalized_eigenvalues  can be called. Especially
       the number of eigenvectors to be	computed can be	set with  elpa_set(3).
       Unlike  in  the	case  of  ordinary eigenvalue problem, the generalized
       problem calls some external scalapack routines. The user	is responsible
       for initialization of the blacs context,	which then has to be passed to
       elpa by elpa_set(3) BEFORE elpa_generalized_eigenvalues 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_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 Feb	1 2018	     elpa_gene...genvectors(3)

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

home | help