(git:47b47fb)
Loading...
Searching...
No Matches
cp_dbcsr_diag Module Reference

Interface to (sca)lapack for the Cholesky based procedures. More...

Functions/Subroutines

subroutine, public cp_dbcsr_syevd (matrix, eigenvectors, eigenvalues, para_env, blacs_env)
 ...
subroutine, public cp_dbcsr_syevx (matrix, eigenvectors, eigenvalues, neig, work_syevx, para_env, blacs_env)
 compute eigenvalues and optionally eigenvectors of a real symmetric matrix using scalapack. If eigenvectors are required this routine will replicate a full matrix on each CPU... if more than a handful of vectors are needed, use cp_dbcsr_syevd instead
subroutine, public cp_dbcsr_heevd (matrix_re, matrix_im, eigenvectors_re, eigenvectors_im, eigenvalues, para_env, blacs_env)
 ...
subroutine, public cp_dbcsr_power (matrix, exponent, threshold, n_dependent, para_env, blacs_env, verbose, eigenvectors, eigenvalues)
 ...

Detailed Description

Interface to (sca)lapack for the Cholesky based procedures.

Author
VW
Date
2009-11-09
Version
0.8

Modification history:

  • Created 2009-11-09

Function/Subroutine Documentation

◆ cp_dbcsr_syevd()

subroutine, public cp_dbcsr_diag::cp_dbcsr_syevd ( type(dbcsr_type) matrix,
type(dbcsr_type) eigenvectors,
real(kind=dp), dimension(:), intent(out) eigenvalues,
type(mp_para_env_type), pointer para_env,
type(cp_blacs_env_type), pointer blacs_env )

...

Parameters
matrix...
eigenvectors...
eigenvalues...
para_env...
blacs_env...

Definition at line 66 of file cp_dbcsr_diag.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ cp_dbcsr_syevx()

subroutine, public cp_dbcsr_diag::cp_dbcsr_syevx ( type(dbcsr_type), pointer matrix,
type(dbcsr_type), optional, pointer eigenvectors,
real(kind=dp), dimension(:), intent(out) eigenvalues,
integer, intent(in), optional neig,
real(kind=dp), intent(in), optional work_syevx,
type(mp_para_env_type), pointer para_env,
type(cp_blacs_env_type), pointer blacs_env )

compute eigenvalues and optionally eigenvectors of a real symmetric matrix using scalapack. If eigenvectors are required this routine will replicate a full matrix on each CPU... if more than a handful of vectors are needed, use cp_dbcsr_syevd instead

Parameters
matrix...
eigenvectors...
eigenvalues...
neig...
work_syevx...
para_env...
blacs_env...
matrix is supposed to be in upper triangular form, and overwritten by this routine
neig is the number of vectors needed (default all) work_syevx evec calculation only, is the fraction of the working buffer allowed (1.0 use full buffer) reducing this saves time, but might cause the routine to fail

Definition at line 124 of file cp_dbcsr_diag.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ cp_dbcsr_heevd()

subroutine, public cp_dbcsr_diag::cp_dbcsr_heevd ( type(dbcsr_type), optional matrix_re,
type(dbcsr_type), optional matrix_im,
type(dbcsr_type), optional eigenvectors_re,
type(dbcsr_type), optional eigenvectors_im,
real(kind=dp), dimension(:), intent(out) eigenvalues,
type(mp_para_env_type), pointer para_env,
type(cp_blacs_env_type), pointer blacs_env )

...

Parameters
matrix_re...
matrix_im...
eigenvectors_re...
eigenvectors_im...
eigenvalues...
para_env...
blacs_env...

Definition at line 184 of file cp_dbcsr_diag.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ cp_dbcsr_power()

subroutine, public cp_dbcsr_diag::cp_dbcsr_power ( type(dbcsr_type), intent(inout) matrix,
real(dp), intent(in) exponent,
real(dp), intent(in) threshold,
integer, intent(out) n_dependent,
type(mp_para_env_type), pointer para_env,
type(cp_blacs_env_type), pointer blacs_env,
logical, intent(in), optional verbose,
type(dbcsr_type), intent(inout), optional eigenvectors,
real(kind=dp), dimension(2), intent(out), optional eigenvalues )

...

Parameters
matrix...
exponent...
threshold...
n_dependent...
para_env...
blacs_env...
verbose...
eigenvectors...
eigenvalues...

Definition at line 278 of file cp_dbcsr_diag.F.

Here is the call graph for this function:
Here is the caller graph for this function: