qp2/src/davidson
Yann Damour 7a3379a43e bugfix davidson recontraction + update 2024-03-27 16:56:05 +01:00
..
EZFIO.cfg non_sym dress: comb 2023-03-15 10:23:48 +01:00
NEED non_sym dress: comb 2023-03-15 10:23:48 +01:00
README.rst Warnings in documentation 2019-01-29 17:09:08 +01:00
davidson_parallel.irp.f Merge branch 'master' into dev-stable 2023-06-15 13:31:25 +02:00
davidson_parallel_csf.irp.f OpenMP nested merged 2021-11-29 10:39:34 +01:00
davidson_parallel_nos2.irp.f OpenMP nested merged 2021-11-29 10:39:34 +01:00
diagonalization_h_dressed.irp.f Changed formats E to ES 2023-07-04 22:17:31 +02:00
diagonalization_hcsf_dressed.irp.f Changed formats E to ES 2023-07-04 22:17:31 +02:00
diagonalization_hs2_dressed.irp.f bugfix davidson recontraction + update 2024-03-27 16:56:05 +01:00
diagonalization_nonsym_h_dressed.irp.f Changed formats E to ES 2023-07-04 22:17:31 +02:00
diagonalize_ci.irp.f bugfix large N_det 2024-03-26 15:22:20 +01:00
overlap_states.irp.f non_sym dress: comb 2023-03-15 10:23:48 +01:00
u0_h_u0.irp.f CSF-based davidson as an option0 2021-06-16 09:49:53 +02:00
u0_hs2_u0.irp.f Accelerated PT2 2022-03-08 11:24:17 +01:00
u0_wee_u0.irp.f added transition two rdm 2024-02-10 12:48:29 +01:00

README.rst

========
davidson
========

Abstract module for Davidson's diagonalization.
It contains everything required for the Davidson algorithm, dressed or
not. If a dressing is used, the dressing column should be defined and
the :ref:`module_davidson_dressed` module should be used. If no dressing
is required, the :ref:`module_davidson` module should be used, and it
has a default zero dressing vector.

The important providers for that module are:

#. :c:data:`psi_energy` which is the expectation value over the wave
   function (:c:data:`psi_det`, :c:data:`psi_coef`) of the Hamiltonian,
   dressed or not. It uses the general subroutine :c:func:`u_0_H_u_0`.

#. :c:data:`psi_energy_two_e` which is the expectation value over the
   wave function (:c:data:`psi_det`, :c:data:`psi_coef`) of the standard
   two-electron Coulomb operator. It uses the general routine
   :c:func:`u_0_H_u_0_two_e`.