|  | 
| subroutine, public | eigensolver_init (eigens, namespace, gr, st, hm, mc, space, deactivate_oracle) | 
|  | 
| subroutine, public | eigensolver_end (eigens) | 
|  | 
| subroutine | eigensolver_run (eigens, namespace, gr, st, hm, space, ext_partners, iter, conv, nstconv) | 
|  | 
| logical function | eigensolver_parallel_in_states (this) | 
|  | 
| logical function | eigensolver_has_progress_bar (this) | 
|  | 
| subroutine | deigensolver_run (eigens, namespace, mesh, st, hm, space, ext_partners, iter) | 
|  | 
| subroutine | deigensolver_plan (namespace, mesh, st, hm, pre, tol, niter, converged, ik, diff) | 
|  | This subroutine implements the preconditioned Lanczos eigensolver as described in the paper:  More... 
 | 
|  | 
| subroutine | zeigensolver_run (eigens, namespace, mesh, st, hm, space, ext_partners, iter) | 
|  | 
| subroutine | zeigensolver_plan (namespace, mesh, st, hm, pre, tol, niter, converged, ik, diff) | 
|  | This subroutine implements the preconditioned Lanczos eigensolver as described in the paper:  More... 
 | 
|  | 
  
  | 
        
          | subroutine eigensolver_oct_m::deigensolver_plan | ( | type(namespace_t), intent(in) | namespace, |  
          |  |  | type(mesh_t), intent(in) | mesh, |  
          |  |  | type(states_elec_t), intent(inout) | st, |  
          |  |  | type(hamiltonian_elec_t), intent(in) | hm, |  
          |  |  | type(preconditioner_t), intent(in) | pre, |  
          |  |  | real(real64), intent(in) | tol, |  
          |  |  | integer, intent(inout) | niter, |  
          |  |  | integer, intent(out) | converged, |  
          |  |  | integer, intent(in) | ik, |  
          |  |  | real(real64), dimension(:), intent(out), optional | diff |  
          |  | ) |  |  |  | private | 
 
This subroutine implements the preconditioned Lanczos eigensolver as described in the paper: 
Y. Saad, A. Stathopoulos, J. Chelikowsky, K. Wu and S. Ogut, "Solution of Large Eigenvalue Problems in Electronic Structure Calculations", BIT 36 563-578 (1996) doi:10.1007/BF01731934 .
We also implement the "smoothing" preconditioning described in that paper. 
- Parameters
- 
  
  
Definition at line 895 of file eigensolver.F90.
 
 
  
  | 
        
          | subroutine eigensolver_oct_m::zeigensolver_plan | ( | type(namespace_t), intent(in) | namespace, |  
          |  |  | type(mesh_t), intent(in) | mesh, |  
          |  |  | type(states_elec_t), intent(inout) | st, |  
          |  |  | type(hamiltonian_elec_t), intent(in) | hm, |  
          |  |  | type(preconditioner_t), intent(in) | pre, |  
          |  |  | real(real64), intent(in) | tol, |  
          |  |  | integer, intent(inout) | niter, |  
          |  |  | integer, intent(out) | converged, |  
          |  |  | integer, intent(in) | ik, |  
          |  |  | real(real64), dimension(:), intent(out), optional | diff |  
          |  | ) |  |  |  | private | 
 
This subroutine implements the preconditioned Lanczos eigensolver as described in the paper: 
Y. Saad, A. Stathopoulos, J. Chelikowsky, K. Wu and S. Ogut, "Solution of Large Eigenvalue Problems in Electronic Structure Calculations", BIT 36 563-578 (1996) doi:10.1007/BF01731934 .
We also implement the "smoothing" preconditioning described in that paper. 
- Parameters
- 
  
  
Definition at line 1379 of file eigensolver.F90.