mirror of
https://github.com/QuantumPackage/qp2.git
synced 2024-12-07 04:03:29 +01:00
8469 lines
174 KiB
ReStructuredText
8469 lines
174 KiB
ReStructuredText
.. _module_determinants:
|
||
|
||
.. program:: determinants
|
||
|
||
.. default-role:: option
|
||
|
||
============
|
||
determinants
|
||
============
|
||
|
||
Contains everything for the computation of the Hamiltonian matrix elements in the basis of orthogonal Slater determinants built on a restricted spin-orbitals basis.
|
||
|
||
The main providers for this module are:
|
||
|
||
* :option:`determinants n_states`: number of states to be computed
|
||
* :c:data:`psi_det`: list of determinants in the wave function used in many routines/providers of the |QP|.
|
||
* :c:data:`psi_coef`: list of coefficients, for all :option:`determinants n_states` states, and all determinants.
|
||
|
||
The main routines for this module are:
|
||
|
||
* :c:func:`i_H_j`: computes the Hamiltonian matrix element between two arbitrary Slater determinants.
|
||
* :c:func:`i_H_j_s2`: computes the Hamiltonian and (|S^2|) matrix element between two arbitrary Slater determinants.
|
||
* :c:func:`i_H_j_verbose`: returns the decomposition in terms of one- and two-body components of the Hamiltonian matrix elements between two arbitrary Slater determinants. Also return the fermionic phase factor.
|
||
* :c:func:`i_H_psi`: computes the Hamiltonian matrix element between an arbitrary Slater determinant and a wave function composed of a sum of arbitrary Slater determinants.
|
||
|
||
|
||
For an example of how to use these routines and providers, take a look at :file:`example.irp.f`.
|
||
|
||
|
||
|
||
EZFIO parameters
|
||
----------------
|
||
|
||
.. option:: n_det_max
|
||
|
||
Maximum number of determinants in the wave function
|
||
|
||
Default: 1000000
|
||
|
||
.. option:: n_det_print_wf
|
||
|
||
Maximum number of determinants to be printed with the program print_wf
|
||
|
||
Default: 10000
|
||
|
||
.. option:: n_states
|
||
|
||
Number of states to consider
|
||
|
||
Default: 1
|
||
|
||
.. option:: read_wf
|
||
|
||
If |true|, read the wave function from the |EZFIO| file
|
||
|
||
Default: False
|
||
|
||
.. option:: pruning
|
||
|
||
If p>0., remove p*Ndet determinants at every iteration
|
||
|
||
Default: 0.
|
||
|
||
.. option:: s2_eig
|
||
|
||
Force the wave function to be an eigenfunction of |S^2|
|
||
|
||
Default: True
|
||
|
||
.. option:: weight_one_e_dm
|
||
|
||
Weight used in the calculation of the one-electron density matrix. 0: 1./(c_0^2), 1: 1/N_states, 2: input state-average weight, 3: 1/(Norm_L3(Psi))
|
||
|
||
Default: 2
|
||
|
||
.. option:: weight_selection
|
||
|
||
Weight used in the selection. 0: input state-average weight, 1: 1./(c_0^2), 2: rPT2 matching, 3: variance matching, 4: variance and rPT2 matching, 5: variance minimization and matching, 6: CI coefficients
|
||
|
||
Default: 2
|
||
|
||
.. option:: threshold_generators
|
||
|
||
Thresholds on generators (fraction of the square of the norm)
|
||
|
||
Default: 0.999
|
||
|
||
.. option:: n_int
|
||
|
||
Number of integers required to represent bitstrings (set in module :ref:`module_bitmask`)
|
||
|
||
|
||
.. option:: bit_kind
|
||
|
||
(set in module :ref:`module_bitmask`)
|
||
|
||
|
||
.. option:: mo_label
|
||
|
||
Label of the |MOs| on which the determinants are expressed
|
||
|
||
|
||
.. option:: n_det
|
||
|
||
Number of determinants in the current wave function
|
||
|
||
|
||
.. option:: n_det_qp_edit
|
||
|
||
Number of determinants to print in qp_edit
|
||
|
||
|
||
.. option:: psi_coef
|
||
|
||
Coefficients of the wave function
|
||
|
||
|
||
.. option:: psi_det
|
||
|
||
Determinants of the variational space
|
||
|
||
|
||
.. option:: psi_coef_qp_edit
|
||
|
||
Coefficients of the wave function
|
||
|
||
|
||
.. option:: psi_det_qp_edit
|
||
|
||
Determinants of the variational space
|
||
|
||
|
||
.. option:: expected_s2
|
||
|
||
Expected value of |S^2|
|
||
|
||
|
||
.. option:: target_energy
|
||
|
||
Energy that should be obtained when truncating the wave function (optional)
|
||
|
||
Default: 0.
|
||
|
||
.. option:: state_average_weight
|
||
|
||
Weight of the states in state-average calculations.
|
||
|
||
|
||
.. option:: selection_factor
|
||
|
||
f such that the number of determinants to add is f * N_det * sqrt(N_states)
|
||
|
||
Default: 1.
|
||
|
||
.. option:: thresh_sym
|
||
|
||
Thresholds to check if a determinant is connected with HF
|
||
|
||
Default: 1.e-15
|
||
|
||
.. option:: pseudo_sym
|
||
|
||
If |true|, discard any Slater determinants with an interaction smaller than thresh_sym with HF.
|
||
|
||
Default: False
|
||
|
||
|
||
Providers
|
||
---------
|
||
|
||
.. c:var:: abs_psi_coef_max
|
||
|
||
|
||
File : :file:`determinants/determinants.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
double precision, allocatable :: psi_coef_max (N_states)
|
||
double precision, allocatable :: psi_coef_min (N_states)
|
||
double precision, allocatable :: abs_psi_coef_max (N_states)
|
||
double precision, allocatable :: abs_psi_coef_min (N_states)
|
||
|
||
|
||
Max and min values of the coefficients
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`mpi_master`
|
||
* :c:data:`n_states`
|
||
* :c:data:`psi_coef`
|
||
|
||
|
||
|
||
.. c:var:: abs_psi_coef_min
|
||
|
||
|
||
File : :file:`determinants/determinants.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
double precision, allocatable :: psi_coef_max (N_states)
|
||
double precision, allocatable :: psi_coef_min (N_states)
|
||
double precision, allocatable :: abs_psi_coef_max (N_states)
|
||
double precision, allocatable :: abs_psi_coef_min (N_states)
|
||
|
||
|
||
Max and min values of the coefficients
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`mpi_master`
|
||
* :c:data:`n_states`
|
||
* :c:data:`psi_coef`
|
||
|
||
|
||
|
||
.. c:var:: barycentric_electronic_energy
|
||
|
||
|
||
File : :file:`determinants/energy.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
double precision, allocatable :: barycentric_electronic_energy (N_states)
|
||
|
||
|
||
:math:`E_n = \sum_i {c_i^{(n)}}^2 H_{ii}`
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`diagonal_h_matrix_on_psi_det`
|
||
* :c:data:`n_det`
|
||
* :c:data:`n_states`
|
||
* :c:data:`psi_coef`
|
||
|
||
|
||
|
||
.. c:var:: c0_weight
|
||
|
||
|
||
File : :file:`determinants/density_matrix.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
double precision, allocatable :: c0_weight (N_states)
|
||
|
||
|
||
Weight of the states in the selection : :math:`\frac{1}{c_0^2}` .
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`n_states`
|
||
* :c:data:`psi_coef`
|
||
|
||
Needed by:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`state_average_weight`
|
||
|
||
|
||
.. c:var:: det_alpha_norm
|
||
|
||
|
||
File : :file:`determinants/spindeterminants.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
double precision, allocatable :: det_alpha_norm (N_det_alpha_unique)
|
||
double precision, allocatable :: det_beta_norm (N_det_beta_unique)
|
||
|
||
|
||
Norm of the :math:`\alpha` and :math:`\beta` spin determinants in the wave function:
|
||
|
||
:math:`||D_\alpha||_i = \sum_j C_{ij}^2`
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`n_det`
|
||
* :c:data:`n_states`
|
||
* :c:data:`psi_bilinear_matrix_values`
|
||
* :c:data:`psi_det_alpha_unique`
|
||
* :c:data:`psi_det_beta_unique`
|
||
* :c:data:`state_average_weight`
|
||
|
||
|
||
|
||
.. c:var:: det_beta_norm
|
||
|
||
|
||
File : :file:`determinants/spindeterminants.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
double precision, allocatable :: det_alpha_norm (N_det_alpha_unique)
|
||
double precision, allocatable :: det_beta_norm (N_det_beta_unique)
|
||
|
||
|
||
Norm of the :math:`\alpha` and :math:`\beta` spin determinants in the wave function:
|
||
|
||
:math:`||D_\alpha||_i = \sum_j C_{ij}^2`
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`n_det`
|
||
* :c:data:`n_states`
|
||
* :c:data:`psi_bilinear_matrix_values`
|
||
* :c:data:`psi_det_alpha_unique`
|
||
* :c:data:`psi_det_beta_unique`
|
||
* :c:data:`state_average_weight`
|
||
|
||
|
||
|
||
.. c:var:: det_to_occ_pattern
|
||
|
||
|
||
File : :file:`determinants/occ_pattern.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
integer, allocatable :: det_to_occ_pattern (N_det)
|
||
|
||
|
||
Returns the index of the occupation pattern for each determinant
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`elec_alpha_num`
|
||
* :c:data:`n_det`
|
||
* :c:data:`n_int`
|
||
* :c:data:`psi_det`
|
||
* :c:data:`psi_occ_pattern`
|
||
|
||
Needed by:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`pruned`
|
||
* :c:data:`psi_occ_pattern_hii`
|
||
* :c:data:`weight_occ_pattern`
|
||
* :c:data:`weight_occ_pattern_average`
|
||
|
||
|
||
.. c:var:: diagonal_h_matrix_on_psi_det
|
||
|
||
|
||
File : :file:`determinants/energy.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
double precision, allocatable :: diagonal_h_matrix_on_psi_det (N_det)
|
||
|
||
|
||
Diagonal of the Hamiltonian ordered as psi_det
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`elec_alpha_num`
|
||
* :c:data:`elec_beta_num`
|
||
* :c:data:`elec_num`
|
||
* :c:data:`n_det`
|
||
* :c:data:`n_int`
|
||
* :c:data:`psi_det`
|
||
* :c:data:`ref_bitmask`
|
||
* :c:data:`ref_bitmask_energy`
|
||
|
||
Needed by:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`barycentric_electronic_energy`
|
||
|
||
|
||
.. c:var:: double_exc_bitmask
|
||
|
||
|
||
File : :file:`determinants/determinants_bitmasks.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
integer(bit_kind), allocatable :: double_exc_bitmask (N_int,4,N_double_exc_bitmasks)
|
||
|
||
|
||
double_exc_bitmask(:,1,i) is the bitmask for holes of excitation 1
|
||
|
||
double_exc_bitmask(:,2,i) is the bitmask for particles of excitation 1
|
||
|
||
double_exc_bitmask(:,3,i) is the bitmask for holes of excitation 2
|
||
|
||
double_exc_bitmask(:,4,i) is the bitmask for particles of excitation 2
|
||
|
||
for a given couple of hole/particle excitations i.
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`hf_bitmask`
|
||
* :c:data:`n_double_exc_bitmasks`
|
||
* :c:data:`n_int`
|
||
|
||
|
||
|
||
.. c:var:: expected_s2
|
||
|
||
|
||
File : :file:`determinants/s2.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
double precision :: expected_s2
|
||
|
||
|
||
Expected value of |S^2| : S*(S+1)
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`elec_alpha_num`
|
||
* :c:data:`elec_beta_num`
|
||
|
||
Needed by:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`ci_electronic_energy`
|
||
|
||
|
||
.. c:var:: fock_operator_closed_shell_ref_bitmask
|
||
|
||
|
||
File : :file:`determinants/single_excitations.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
double precision, allocatable :: fock_operator_closed_shell_ref_bitmask (mo_num,mo_num)
|
||
|
||
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`full_ijkl_bitmask`
|
||
* :c:data:`mo_integrals_map`
|
||
* :c:data:`mo_num`
|
||
* :c:data:`mo_one_e_integrals`
|
||
* :c:data:`mo_two_e_integrals_in_map`
|
||
* :c:data:`n_int`
|
||
* :c:data:`ref_closed_shell_bitmask`
|
||
|
||
|
||
|
||
.. c:var:: fock_wee_closed_shell
|
||
|
||
|
||
File : :file:`determinants/single_excitation_two_e.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
double precision, allocatable :: fock_wee_closed_shell (mo_num,mo_num)
|
||
|
||
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`full_ijkl_bitmask`
|
||
* :c:data:`mo_integrals_map`
|
||
* :c:data:`mo_num`
|
||
* :c:data:`mo_two_e_integrals_in_map`
|
||
* :c:data:`n_int`
|
||
* :c:data:`ref_closed_shell_bitmask`
|
||
|
||
|
||
|
||
.. c:var:: h_apply_buffer_allocated
|
||
|
||
|
||
File : :file:`determinants/h_apply.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
logical :: h_apply_buffer_allocated
|
||
integer(omp_lock_kind), allocatable :: h_apply_buffer_lock (64,0:nproc-1)
|
||
|
||
|
||
Buffer of determinants/coefficients/perturbative energy for H_apply.
|
||
Uninitialized. Filled by H_apply subroutines.
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`n_det`
|
||
* :c:data:`n_int`
|
||
* :c:data:`n_states`
|
||
* :c:data:`nproc`
|
||
|
||
|
||
|
||
.. c:var:: h_apply_buffer_lock
|
||
|
||
|
||
File : :file:`determinants/h_apply.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
logical :: h_apply_buffer_allocated
|
||
integer(omp_lock_kind), allocatable :: h_apply_buffer_lock (64,0:nproc-1)
|
||
|
||
|
||
Buffer of determinants/coefficients/perturbative energy for H_apply.
|
||
Uninitialized. Filled by H_apply subroutines.
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`n_det`
|
||
* :c:data:`n_int`
|
||
* :c:data:`n_states`
|
||
* :c:data:`nproc`
|
||
|
||
|
||
|
||
.. c:var:: h_matrix_all_dets
|
||
|
||
|
||
File : :file:`determinants/utils.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
double precision, allocatable :: h_matrix_all_dets (N_det,N_det)
|
||
|
||
|
||
|H| matrix on the basis of the Slater determinants defined by psi_det
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`big_array_coulomb_integrals`
|
||
* :c:data:`big_array_coulomb_integrals`
|
||
* :c:data:`elec_alpha_num`
|
||
* :c:data:`elec_beta_num`
|
||
* :c:data:`mo_integrals_map`
|
||
* :c:data:`mo_two_e_integrals_in_map`
|
||
* :c:data:`n_det`
|
||
* :c:data:`n_int`
|
||
* :c:data:`psi_det`
|
||
|
||
Needed by:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`ci_electronic_energy`
|
||
* :c:data:`psi_energy`
|
||
|
||
|
||
.. c:var:: h_matrix_cas
|
||
|
||
|
||
File : :file:`determinants/psi_cas.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
double precision, allocatable :: h_matrix_cas (N_det_cas,N_det_cas)
|
||
|
||
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`big_array_coulomb_integrals`
|
||
* :c:data:`big_array_coulomb_integrals`
|
||
* :c:data:`elec_alpha_num`
|
||
* :c:data:`elec_beta_num`
|
||
* :c:data:`mo_integrals_map`
|
||
* :c:data:`mo_two_e_integrals_in_map`
|
||
* :c:data:`n_int`
|
||
* :c:data:`psi_cas`
|
||
|
||
Needed by:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`psi_cas_energy`
|
||
* :c:data:`psi_coef_cas_diagonalized`
|
||
|
||
|
||
.. c:var:: idx_cas
|
||
|
||
|
||
File : :file:`determinants/psi_cas.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
integer(bit_kind), allocatable :: psi_cas (N_int,2,psi_det_size)
|
||
double precision, allocatable :: psi_cas_coef (psi_det_size,n_states)
|
||
integer, allocatable :: idx_cas (psi_det_size)
|
||
integer :: n_det_cas
|
||
|
||
|
||
|CAS| wave function, defined from the application of the |CAS| bitmask on the
|
||
determinants. idx_cas gives the indice of the |CAS| determinant in psi_det.
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`act_bitmask`
|
||
* :c:data:`hf_bitmask`
|
||
* :c:data:`mpi_master`
|
||
* :c:data:`n_det`
|
||
* :c:data:`n_int`
|
||
* :c:data:`n_states`
|
||
* :c:data:`psi_coef`
|
||
* :c:data:`psi_det`
|
||
* :c:data:`psi_det_size`
|
||
|
||
Needed by:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`h_matrix_cas`
|
||
* :c:data:`psi_cas_energy`
|
||
* :c:data:`psi_cas_sorted_bit`
|
||
* :c:data:`psi_coef_cas_diagonalized`
|
||
* :c:data:`psi_non_cas`
|
||
* :c:data:`psi_non_cas_sorted_bit`
|
||
|
||
|
||
.. c:var:: idx_non_cas
|
||
|
||
|
||
File : :file:`determinants/psi_cas.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
integer(bit_kind), allocatable :: psi_non_cas (N_int,2,psi_det_size)
|
||
double precision, allocatable :: psi_non_cas_coef (psi_det_size,n_states)
|
||
integer, allocatable :: idx_non_cas (psi_det_size)
|
||
integer :: n_det_non_cas
|
||
|
||
|
||
Set of determinants which are not part of the |CAS|, defined from the application
|
||
of the |CAS| bitmask on the determinants.
|
||
idx_non_cas gives the indice of the determinant in psi_det.
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`n_det`
|
||
* :c:data:`n_int`
|
||
* :c:data:`n_states`
|
||
* :c:data:`psi_cas`
|
||
* :c:data:`psi_coef`
|
||
* :c:data:`psi_det`
|
||
* :c:data:`psi_det_size`
|
||
|
||
Needed by:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`psi_non_cas_sorted_bit`
|
||
|
||
|
||
.. c:var:: max_degree_exc
|
||
|
||
|
||
File : :file:`determinants/determinants.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
integer :: max_degree_exc
|
||
|
||
|
||
Maximum degree of excitation in the wave function with respect to the Hartree-Fock
|
||
determinant.
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`hf_bitmask`
|
||
* :c:data:`n_det`
|
||
* :c:data:`n_int`
|
||
* :c:data:`psi_det`
|
||
|
||
|
||
|
||
.. c:var:: n_det
|
||
|
||
|
||
File : :file:`determinants/determinants.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
integer :: n_det
|
||
|
||
|
||
Number of determinants in the wave function
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`ezfio_filename`
|
||
* :c:data:`mo_label`
|
||
* :c:data:`mpi_master`
|
||
* :c:data:`nproc`
|
||
* :c:data:`read_wf`
|
||
|
||
Needed by:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`act_2_rdm_aa_mo`
|
||
* :c:data:`act_2_rdm_ab_mo`
|
||
* :c:data:`act_2_rdm_bb_mo`
|
||
* :c:data:`act_2_rdm_spin_trace_mo`
|
||
* :c:data:`barycentric_electronic_energy`
|
||
* :c:data:`ci_electronic_energy`
|
||
* :c:data:`ci_energy`
|
||
* :c:data:`det_alpha_norm`
|
||
* :c:data:`det_to_occ_pattern`
|
||
* :c:data:`diag_algorithm`
|
||
* :c:data:`diagonal_h_matrix_on_psi_det`
|
||
* :c:data:`dressed_column_idx`
|
||
* :c:data:`dressing_column_h`
|
||
* :c:data:`h_apply_buffer_allocated`
|
||
* :c:data:`h_matrix_all_dets`
|
||
* :c:data:`max_degree_exc`
|
||
* :c:data:`n_det_qp_edit`
|
||
* :c:data:`one_e_dm_mo_alpha`
|
||
* :c:data:`pruned`
|
||
* :c:data:`psi_average_norm_contrib`
|
||
* :c:data:`psi_bilinear_matrix`
|
||
* :c:data:`psi_bilinear_matrix_columns_loc`
|
||
* :c:data:`psi_bilinear_matrix_order_reverse`
|
||
* :c:data:`psi_bilinear_matrix_order_transp_reverse`
|
||
* :c:data:`psi_bilinear_matrix_transp_rows_loc`
|
||
* :c:data:`psi_bilinear_matrix_transp_values`
|
||
* :c:data:`psi_bilinear_matrix_values`
|
||
* :c:data:`psi_cas`
|
||
* :c:data:`psi_coef`
|
||
* :c:data:`psi_det`
|
||
* :c:data:`psi_det_alpha`
|
||
* :c:data:`psi_det_alpha_unique`
|
||
* :c:data:`psi_det_beta`
|
||
* :c:data:`psi_det_beta_unique`
|
||
* :c:data:`psi_det_hii`
|
||
* :c:data:`psi_det_sorted`
|
||
* :c:data:`psi_det_sorted_bit`
|
||
* :c:data:`psi_energy`
|
||
* :c:data:`psi_energy_two_e`
|
||
* :c:data:`psi_non_cas`
|
||
* :c:data:`psi_occ_pattern`
|
||
* :c:data:`psi_occ_pattern_hii`
|
||
* :c:data:`s2_matrix_all_dets`
|
||
* :c:data:`s2_values`
|
||
* :c:data:`state_av_act_2_rdm_aa_mo`
|
||
* :c:data:`state_av_act_2_rdm_ab_mo`
|
||
* :c:data:`state_av_act_2_rdm_bb_mo`
|
||
* :c:data:`state_av_act_2_rdm_spin_trace_mo`
|
||
* :c:data:`weight_occ_pattern`
|
||
* :c:data:`weight_occ_pattern_average`
|
||
|
||
|
||
.. c:var:: n_det_alpha_unique
|
||
|
||
|
||
File : :file:`determinants/spindeterminants.irp.f_template_144`
|
||
|
||
.. code:: fortran
|
||
|
||
integer(bit_kind), allocatable :: psi_det_alpha_unique (N_int,psi_det_size)
|
||
integer :: n_det_alpha_unique
|
||
|
||
|
||
Unique :math:`\alpha` determinants
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`mpi_master`
|
||
* :c:data:`n_det`
|
||
* :c:data:`n_int`
|
||
* :c:data:`psi_det_alpha`
|
||
* :c:data:`psi_det_size`
|
||
|
||
Needed by:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`det_alpha_norm`
|
||
* :c:data:`one_e_dm_mo_alpha`
|
||
* :c:data:`psi_bilinear_matrix`
|
||
* :c:data:`psi_bilinear_matrix_transp_rows_loc`
|
||
* :c:data:`psi_bilinear_matrix_transp_values`
|
||
* :c:data:`psi_bilinear_matrix_values`
|
||
* :c:data:`singles_alpha_csc`
|
||
* :c:data:`singles_alpha_csc_idx`
|
||
|
||
|
||
.. c:var:: n_det_beta_unique
|
||
|
||
|
||
File : :file:`determinants/spindeterminants.irp.f_template_144`
|
||
|
||
.. code:: fortran
|
||
|
||
integer(bit_kind), allocatable :: psi_det_beta_unique (N_int,psi_det_size)
|
||
integer :: n_det_beta_unique
|
||
|
||
|
||
Unique :math:`\beta` determinants
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`mpi_master`
|
||
* :c:data:`n_det`
|
||
* :c:data:`n_int`
|
||
* :c:data:`psi_det_beta`
|
||
* :c:data:`psi_det_size`
|
||
|
||
Needed by:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`det_alpha_norm`
|
||
* :c:data:`one_e_dm_mo_alpha`
|
||
* :c:data:`psi_bilinear_matrix`
|
||
* :c:data:`psi_bilinear_matrix_columns_loc`
|
||
* :c:data:`psi_bilinear_matrix_transp_values`
|
||
* :c:data:`psi_bilinear_matrix_values`
|
||
* :c:data:`singles_beta_csc`
|
||
* :c:data:`singles_beta_csc_idx`
|
||
|
||
|
||
.. c:var:: n_det_cas
|
||
|
||
|
||
File : :file:`determinants/psi_cas.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
integer(bit_kind), allocatable :: psi_cas (N_int,2,psi_det_size)
|
||
double precision, allocatable :: psi_cas_coef (psi_det_size,n_states)
|
||
integer, allocatable :: idx_cas (psi_det_size)
|
||
integer :: n_det_cas
|
||
|
||
|
||
|CAS| wave function, defined from the application of the |CAS| bitmask on the
|
||
determinants. idx_cas gives the indice of the |CAS| determinant in psi_det.
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`act_bitmask`
|
||
* :c:data:`hf_bitmask`
|
||
* :c:data:`mpi_master`
|
||
* :c:data:`n_det`
|
||
* :c:data:`n_int`
|
||
* :c:data:`n_states`
|
||
* :c:data:`psi_coef`
|
||
* :c:data:`psi_det`
|
||
* :c:data:`psi_det_size`
|
||
|
||
Needed by:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`h_matrix_cas`
|
||
* :c:data:`psi_cas_energy`
|
||
* :c:data:`psi_cas_sorted_bit`
|
||
* :c:data:`psi_coef_cas_diagonalized`
|
||
* :c:data:`psi_non_cas`
|
||
* :c:data:`psi_non_cas_sorted_bit`
|
||
|
||
|
||
.. c:var:: n_det_non_cas
|
||
|
||
|
||
File : :file:`determinants/psi_cas.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
integer(bit_kind), allocatable :: psi_non_cas (N_int,2,psi_det_size)
|
||
double precision, allocatable :: psi_non_cas_coef (psi_det_size,n_states)
|
||
integer, allocatable :: idx_non_cas (psi_det_size)
|
||
integer :: n_det_non_cas
|
||
|
||
|
||
Set of determinants which are not part of the |CAS|, defined from the application
|
||
of the |CAS| bitmask on the determinants.
|
||
idx_non_cas gives the indice of the determinant in psi_det.
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`n_det`
|
||
* :c:data:`n_int`
|
||
* :c:data:`n_states`
|
||
* :c:data:`psi_cas`
|
||
* :c:data:`psi_coef`
|
||
* :c:data:`psi_det`
|
||
* :c:data:`psi_det_size`
|
||
|
||
Needed by:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`psi_non_cas_sorted_bit`
|
||
|
||
|
||
.. c:var:: n_det_qp_edit
|
||
|
||
|
||
File : :file:`determinants/determinants.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
integer :: n_det_qp_edit
|
||
|
||
|
||
Number of determinants to print in qp_edit
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`n_det`
|
||
|
||
|
||
|
||
.. c:var:: n_double_exc_bitmasks
|
||
|
||
|
||
File : :file:`determinants/determinants_bitmasks.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
integer :: n_double_exc_bitmasks
|
||
|
||
|
||
Number of double excitation bitmasks
|
||
|
||
Needed by:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`double_exc_bitmask`
|
||
|
||
|
||
.. c:var:: n_occ_pattern
|
||
|
||
|
||
File : :file:`determinants/occ_pattern.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
integer(bit_kind), allocatable :: psi_occ_pattern (N_int,2,psi_det_size)
|
||
integer :: n_occ_pattern
|
||
|
||
|
||
Array of the occ_patterns present in the wave function.
|
||
|
||
psi_occ_pattern(:,1,j) = j-th occ_pattern of the wave function : represents all the single occupations
|
||
|
||
psi_occ_pattern(:,2,j) = j-th occ_pattern of the wave function : represents all the double occupations
|
||
|
||
The occ patterns are sorted by :c:func:`occ_pattern_search_key`
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`elec_alpha_num`
|
||
* :c:data:`n_det`
|
||
* :c:data:`n_int`
|
||
* :c:data:`psi_det`
|
||
* :c:data:`psi_det_size`
|
||
|
||
Needed by:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`det_to_occ_pattern`
|
||
* :c:data:`pruned`
|
||
* :c:data:`psi_occ_pattern_hii`
|
||
* :c:data:`psi_occ_pattern_sorted`
|
||
* :c:data:`weight_occ_pattern`
|
||
* :c:data:`weight_occ_pattern_average`
|
||
|
||
|
||
.. c:var:: n_single_exc_bitmasks
|
||
|
||
|
||
File : :file:`determinants/determinants_bitmasks.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
integer :: n_single_exc_bitmasks
|
||
|
||
|
||
Number of single excitation bitmasks
|
||
|
||
Needed by:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`single_exc_bitmask`
|
||
|
||
|
||
.. c:var:: one_e_dm_ao_alpha
|
||
|
||
|
||
File : :file:`determinants/density_matrix.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
double precision, allocatable :: one_e_dm_ao_alpha (ao_num,ao_num)
|
||
double precision, allocatable :: one_e_dm_ao_beta (ao_num,ao_num)
|
||
|
||
|
||
One body density matrix on the |AO| basis : :math:`\rho_{AO}(\alpha), \rho_{AO}(\beta)` .
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`ao_num`
|
||
* :c:data:`mo_coef`
|
||
* :c:data:`mo_num`
|
||
* :c:data:`one_e_dm_mo_alpha_average`
|
||
|
||
|
||
|
||
.. c:var:: one_e_dm_ao_beta
|
||
|
||
|
||
File : :file:`determinants/density_matrix.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
double precision, allocatable :: one_e_dm_ao_alpha (ao_num,ao_num)
|
||
double precision, allocatable :: one_e_dm_ao_beta (ao_num,ao_num)
|
||
|
||
|
||
One body density matrix on the |AO| basis : :math:`\rho_{AO}(\alpha), \rho_{AO}(\beta)` .
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`ao_num`
|
||
* :c:data:`mo_coef`
|
||
* :c:data:`mo_num`
|
||
* :c:data:`one_e_dm_mo_alpha_average`
|
||
|
||
|
||
|
||
.. c:var:: one_e_dm_dagger_mo_spin_index
|
||
|
||
|
||
File : :file:`determinants/density_matrix.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
double precision, allocatable :: one_e_dm_dagger_mo_spin_index (mo_num,mo_num,N_states,2)
|
||
|
||
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`mo_num`
|
||
* :c:data:`n_states`
|
||
* :c:data:`one_e_dm_mo_alpha`
|
||
|
||
|
||
|
||
.. c:var:: one_e_dm_mo
|
||
|
||
|
||
File : :file:`determinants/density_matrix.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
double precision, allocatable :: one_e_dm_mo (mo_num,mo_num)
|
||
|
||
|
||
One-body density matrix
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`mo_num`
|
||
* :c:data:`one_e_dm_mo_alpha_average`
|
||
|
||
|
||
|
||
.. c:var:: one_e_dm_mo_alpha
|
||
|
||
|
||
File : :file:`determinants/density_matrix.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
double precision, allocatable :: one_e_dm_mo_alpha (mo_num,mo_num,N_states)
|
||
double precision, allocatable :: one_e_dm_mo_beta (mo_num,mo_num,N_states)
|
||
|
||
|
||
:math:`\alpha` and :math:`\beta` one-body density matrix for each state
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`elec_alpha_num`
|
||
* :c:data:`elec_beta_num`
|
||
* :c:data:`mo_num`
|
||
* :c:data:`n_det`
|
||
* :c:data:`n_int`
|
||
* :c:data:`n_states`
|
||
* :c:data:`psi_bilinear_matrix_transp_values`
|
||
* :c:data:`psi_bilinear_matrix_values`
|
||
* :c:data:`psi_det`
|
||
* :c:data:`psi_det_alpha_unique`
|
||
* :c:data:`psi_det_beta_unique`
|
||
|
||
Needed by:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`full_occ_2_rdm_aa_mo`
|
||
* :c:data:`full_occ_2_rdm_ab_mo`
|
||
* :c:data:`full_occ_2_rdm_bb_mo`
|
||
* :c:data:`full_occ_2_rdm_spin_trace_mo`
|
||
* :c:data:`one_e_dm_dagger_mo_spin_index`
|
||
* :c:data:`one_e_dm_mo_alpha_average`
|
||
* :c:data:`one_e_dm_mo_alpha_for_dft`
|
||
* :c:data:`one_e_dm_mo_beta_for_dft`
|
||
* :c:data:`one_e_dm_mo_diff`
|
||
* :c:data:`one_e_dm_mo_spin_index`
|
||
* :c:data:`psi_energy_h_core`
|
||
|
||
|
||
.. c:var:: one_e_dm_mo_alpha_average
|
||
|
||
|
||
File : :file:`determinants/density_matrix.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
double precision, allocatable :: one_e_dm_mo_alpha_average (mo_num,mo_num)
|
||
double precision, allocatable :: one_e_dm_mo_beta_average (mo_num,mo_num)
|
||
|
||
|
||
:math:`\alpha` and :math:`\beta` one-body density matrix for each state
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`mo_num`
|
||
* :c:data:`n_states`
|
||
* :c:data:`one_e_dm_mo_alpha`
|
||
* :c:data:`state_average_weight`
|
||
|
||
Needed by:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`one_e_dm_ao_alpha`
|
||
* :c:data:`one_e_dm_mo`
|
||
* :c:data:`one_e_dm_mo_alpha_for_dft`
|
||
* :c:data:`one_e_dm_mo_beta_for_dft`
|
||
* :c:data:`one_e_spin_density_mo`
|
||
* :c:data:`state_av_full_occ_2_rdm_aa_mo`
|
||
* :c:data:`state_av_full_occ_2_rdm_ab_mo`
|
||
* :c:data:`state_av_full_occ_2_rdm_bb_mo`
|
||
* :c:data:`state_av_full_occ_2_rdm_spin_trace_mo`
|
||
|
||
|
||
.. c:var:: one_e_dm_mo_beta
|
||
|
||
|
||
File : :file:`determinants/density_matrix.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
double precision, allocatable :: one_e_dm_mo_alpha (mo_num,mo_num,N_states)
|
||
double precision, allocatable :: one_e_dm_mo_beta (mo_num,mo_num,N_states)
|
||
|
||
|
||
:math:`\alpha` and :math:`\beta` one-body density matrix for each state
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`elec_alpha_num`
|
||
* :c:data:`elec_beta_num`
|
||
* :c:data:`mo_num`
|
||
* :c:data:`n_det`
|
||
* :c:data:`n_int`
|
||
* :c:data:`n_states`
|
||
* :c:data:`psi_bilinear_matrix_transp_values`
|
||
* :c:data:`psi_bilinear_matrix_values`
|
||
* :c:data:`psi_det`
|
||
* :c:data:`psi_det_alpha_unique`
|
||
* :c:data:`psi_det_beta_unique`
|
||
|
||
Needed by:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`full_occ_2_rdm_aa_mo`
|
||
* :c:data:`full_occ_2_rdm_ab_mo`
|
||
* :c:data:`full_occ_2_rdm_bb_mo`
|
||
* :c:data:`full_occ_2_rdm_spin_trace_mo`
|
||
* :c:data:`one_e_dm_dagger_mo_spin_index`
|
||
* :c:data:`one_e_dm_mo_alpha_average`
|
||
* :c:data:`one_e_dm_mo_alpha_for_dft`
|
||
* :c:data:`one_e_dm_mo_beta_for_dft`
|
||
* :c:data:`one_e_dm_mo_diff`
|
||
* :c:data:`one_e_dm_mo_spin_index`
|
||
* :c:data:`psi_energy_h_core`
|
||
|
||
|
||
.. c:var:: one_e_dm_mo_beta_average
|
||
|
||
|
||
File : :file:`determinants/density_matrix.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
double precision, allocatable :: one_e_dm_mo_alpha_average (mo_num,mo_num)
|
||
double precision, allocatable :: one_e_dm_mo_beta_average (mo_num,mo_num)
|
||
|
||
|
||
:math:`\alpha` and :math:`\beta` one-body density matrix for each state
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`mo_num`
|
||
* :c:data:`n_states`
|
||
* :c:data:`one_e_dm_mo_alpha`
|
||
* :c:data:`state_average_weight`
|
||
|
||
Needed by:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`one_e_dm_ao_alpha`
|
||
* :c:data:`one_e_dm_mo`
|
||
* :c:data:`one_e_dm_mo_alpha_for_dft`
|
||
* :c:data:`one_e_dm_mo_beta_for_dft`
|
||
* :c:data:`one_e_spin_density_mo`
|
||
* :c:data:`state_av_full_occ_2_rdm_aa_mo`
|
||
* :c:data:`state_av_full_occ_2_rdm_ab_mo`
|
||
* :c:data:`state_av_full_occ_2_rdm_bb_mo`
|
||
* :c:data:`state_av_full_occ_2_rdm_spin_trace_mo`
|
||
|
||
|
||
.. c:var:: one_e_dm_mo_diff
|
||
|
||
|
||
File : :file:`determinants/density_matrix.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
double precision, allocatable :: one_e_dm_mo_diff (mo_num,mo_num,2:N_states)
|
||
|
||
|
||
Difference of the one-body density matrix with respect to the ground state
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`mo_num`
|
||
* :c:data:`n_states`
|
||
* :c:data:`one_e_dm_mo_alpha`
|
||
|
||
|
||
|
||
.. c:var:: one_e_dm_mo_spin_index
|
||
|
||
|
||
File : :file:`determinants/density_matrix.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
double precision, allocatable :: one_e_dm_mo_spin_index (mo_num,mo_num,N_states,2)
|
||
|
||
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`mo_num`
|
||
* :c:data:`n_states`
|
||
* :c:data:`one_e_dm_mo_alpha`
|
||
|
||
|
||
|
||
.. c:var:: one_e_spin_density_ao
|
||
|
||
|
||
File : :file:`determinants/density_matrix.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
double precision, allocatable :: one_e_spin_density_ao (ao_num,ao_num)
|
||
|
||
|
||
One body spin density matrix on the |AO| basis : :math:`\rho_{AO}(\alpha) - \rho_{AO}(\beta)`
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`ao_num`
|
||
* :c:data:`mo_coef`
|
||
* :c:data:`mo_num`
|
||
* :c:data:`one_e_spin_density_mo`
|
||
|
||
|
||
|
||
.. c:var:: one_e_spin_density_mo
|
||
|
||
|
||
File : :file:`determinants/density_matrix.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
double precision, allocatable :: one_e_spin_density_mo (mo_num,mo_num)
|
||
|
||
|
||
:math:`\rho(\alpha) - \rho(\beta)`
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`mo_num`
|
||
* :c:data:`one_e_dm_mo_alpha_average`
|
||
|
||
Needed by:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`one_e_spin_density_ao`
|
||
|
||
|
||
.. c:var:: pruned
|
||
|
||
|
||
File : :file:`determinants/prune_wf.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
logical, allocatable :: pruned (N_det)
|
||
|
||
|
||
True if determinant is removed by pruning
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`det_to_occ_pattern`
|
||
* :c:data:`n_det`
|
||
* :c:data:`pruning`
|
||
* :c:data:`psi_average_norm_contrib`
|
||
* :c:data:`psi_det_sorted`
|
||
* :c:data:`psi_occ_pattern`
|
||
* :c:data:`psi_occ_pattern_sorted`
|
||
* :c:data:`s2_eig`
|
||
|
||
|
||
|
||
.. c:var:: psi_average_norm_contrib
|
||
|
||
|
||
File : :file:`determinants/determinants.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
double precision, allocatable :: psi_average_norm_contrib (psi_det_size)
|
||
|
||
|
||
Contribution of determinants to the state-averaged density.
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`n_det`
|
||
* :c:data:`n_states`
|
||
* :c:data:`psi_coef`
|
||
* :c:data:`psi_det_size`
|
||
* :c:data:`state_average_weight`
|
||
|
||
Needed by:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`pruned`
|
||
* :c:data:`psi_det_sorted`
|
||
|
||
|
||
.. c:var:: psi_average_norm_contrib_sorted
|
||
|
||
|
||
File : :file:`determinants/determinants.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
integer(bit_kind), allocatable :: psi_det_sorted (N_int,2,psi_det_size)
|
||
double precision, allocatable :: psi_coef_sorted (psi_det_size,N_states)
|
||
double precision, allocatable :: psi_average_norm_contrib_sorted (psi_det_size)
|
||
integer, allocatable :: psi_det_sorted_order (psi_det_size)
|
||
|
||
|
||
Wave function sorted by determinants contribution to the norm (state-averaged)
|
||
|
||
psi_det_sorted_order(i) -> k : index in psi_det
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`n_det`
|
||
* :c:data:`n_int`
|
||
* :c:data:`n_states`
|
||
* :c:data:`psi_average_norm_contrib`
|
||
* :c:data:`psi_coef`
|
||
* :c:data:`psi_det`
|
||
* :c:data:`psi_det_size`
|
||
|
||
Needed by:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`pruned`
|
||
|
||
|
||
.. c:var:: psi_bilinear_matrix
|
||
|
||
|
||
File : :file:`determinants/spindeterminants.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
double precision, allocatable :: psi_bilinear_matrix (N_det_alpha_unique,N_det_beta_unique,N_states)
|
||
|
||
|
||
Coefficient matrix if the wave function is expressed in a bilinear form :
|
||
|
||
:math:`D_\alpha^\dagger.C.D_\beta`
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`n_det`
|
||
* :c:data:`n_states`
|
||
* :c:data:`psi_bilinear_matrix_values`
|
||
* :c:data:`psi_det_alpha_unique`
|
||
* :c:data:`psi_det_beta_unique`
|
||
|
||
|
||
|
||
.. c:var:: psi_bilinear_matrix_columns
|
||
|
||
|
||
File : :file:`determinants/spindeterminants.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
double precision, allocatable :: psi_bilinear_matrix_values (N_det,N_states)
|
||
integer, allocatable :: psi_bilinear_matrix_rows (N_det)
|
||
integer, allocatable :: psi_bilinear_matrix_columns (N_det)
|
||
integer, allocatable :: psi_bilinear_matrix_order (N_det)
|
||
|
||
|
||
Sparse coefficient matrix if the wave function is expressed in a bilinear form :
|
||
:math:`D_\alpha^\dagger.C.D_\beta`
|
||
|
||
Rows are :math:`\alpha` determinants and columns are :math:`\beta` .
|
||
|
||
Order refers to psi_det
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`n_det`
|
||
* :c:data:`n_int`
|
||
* :c:data:`n_states`
|
||
* :c:data:`psi_coef`
|
||
* :c:data:`psi_det_sorted_bit`
|
||
* :c:data:`psi_det`
|
||
* :c:data:`psi_det_alpha_unique`
|
||
* :c:data:`psi_det_beta_unique`
|
||
|
||
Needed by:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`act_2_rdm_aa_mo`
|
||
* :c:data:`act_2_rdm_ab_mo`
|
||
* :c:data:`act_2_rdm_bb_mo`
|
||
* :c:data:`act_2_rdm_spin_trace_mo`
|
||
* :c:data:`det_alpha_norm`
|
||
* :c:data:`one_e_dm_mo_alpha`
|
||
* :c:data:`psi_bilinear_matrix`
|
||
* :c:data:`psi_bilinear_matrix_columns_loc`
|
||
* :c:data:`psi_bilinear_matrix_order_reverse`
|
||
* :c:data:`psi_bilinear_matrix_transp_values`
|
||
* :c:data:`state_av_act_2_rdm_aa_mo`
|
||
* :c:data:`state_av_act_2_rdm_ab_mo`
|
||
* :c:data:`state_av_act_2_rdm_bb_mo`
|
||
* :c:data:`state_av_act_2_rdm_spin_trace_mo`
|
||
|
||
|
||
.. c:var:: psi_bilinear_matrix_columns_loc
|
||
|
||
|
||
File : :file:`determinants/spindeterminants.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
integer, allocatable :: psi_bilinear_matrix_columns_loc (N_det_beta_unique+1)
|
||
|
||
|
||
Sparse coefficient matrix if the wave function is expressed in a bilinear form :
|
||
|
||
:math:`D_\alpha^\dagger.C.D_\beta`
|
||
|
||
Rows are :math:`\alpha` determinants and columns are :math:`\beta` .
|
||
|
||
Order refers to :c:data:`psi_det`
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`n_det`
|
||
* :c:data:`psi_bilinear_matrix_values`
|
||
* :c:data:`psi_det_beta_unique`
|
||
|
||
|
||
|
||
.. c:var:: psi_bilinear_matrix_order
|
||
|
||
|
||
File : :file:`determinants/spindeterminants.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
double precision, allocatable :: psi_bilinear_matrix_values (N_det,N_states)
|
||
integer, allocatable :: psi_bilinear_matrix_rows (N_det)
|
||
integer, allocatable :: psi_bilinear_matrix_columns (N_det)
|
||
integer, allocatable :: psi_bilinear_matrix_order (N_det)
|
||
|
||
|
||
Sparse coefficient matrix if the wave function is expressed in a bilinear form :
|
||
:math:`D_\alpha^\dagger.C.D_\beta`
|
||
|
||
Rows are :math:`\alpha` determinants and columns are :math:`\beta` .
|
||
|
||
Order refers to psi_det
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`n_det`
|
||
* :c:data:`n_int`
|
||
* :c:data:`n_states`
|
||
* :c:data:`psi_coef`
|
||
* :c:data:`psi_det_sorted_bit`
|
||
* :c:data:`psi_det`
|
||
* :c:data:`psi_det_alpha_unique`
|
||
* :c:data:`psi_det_beta_unique`
|
||
|
||
Needed by:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`act_2_rdm_aa_mo`
|
||
* :c:data:`act_2_rdm_ab_mo`
|
||
* :c:data:`act_2_rdm_bb_mo`
|
||
* :c:data:`act_2_rdm_spin_trace_mo`
|
||
* :c:data:`det_alpha_norm`
|
||
* :c:data:`one_e_dm_mo_alpha`
|
||
* :c:data:`psi_bilinear_matrix`
|
||
* :c:data:`psi_bilinear_matrix_columns_loc`
|
||
* :c:data:`psi_bilinear_matrix_order_reverse`
|
||
* :c:data:`psi_bilinear_matrix_transp_values`
|
||
* :c:data:`state_av_act_2_rdm_aa_mo`
|
||
* :c:data:`state_av_act_2_rdm_ab_mo`
|
||
* :c:data:`state_av_act_2_rdm_bb_mo`
|
||
* :c:data:`state_av_act_2_rdm_spin_trace_mo`
|
||
|
||
|
||
.. c:var:: psi_bilinear_matrix_order_reverse
|
||
|
||
|
||
File : :file:`determinants/spindeterminants.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
integer, allocatable :: psi_bilinear_matrix_order_reverse (N_det)
|
||
|
||
|
||
Order which allows to go from :c:data:`psi_bilinear_matrix` to :c:data:`psi_det`
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`n_det`
|
||
* :c:data:`psi_bilinear_matrix_values`
|
||
|
||
Needed by:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`act_2_rdm_aa_mo`
|
||
* :c:data:`act_2_rdm_ab_mo`
|
||
* :c:data:`act_2_rdm_bb_mo`
|
||
* :c:data:`act_2_rdm_spin_trace_mo`
|
||
* :c:data:`state_av_act_2_rdm_aa_mo`
|
||
* :c:data:`state_av_act_2_rdm_ab_mo`
|
||
* :c:data:`state_av_act_2_rdm_bb_mo`
|
||
* :c:data:`state_av_act_2_rdm_spin_trace_mo`
|
||
|
||
|
||
.. c:var:: psi_bilinear_matrix_order_transp_reverse
|
||
|
||
|
||
File : :file:`determinants/spindeterminants.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
integer, allocatable :: psi_bilinear_matrix_order_transp_reverse (N_det)
|
||
|
||
|
||
Order which allows to go from :c:data:`psi_bilinear_matrix_order_transp` to
|
||
:c:data:`psi_bilinear_matrix`
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`n_det`
|
||
* :c:data:`psi_bilinear_matrix_transp_values`
|
||
|
||
|
||
|
||
.. c:var:: psi_bilinear_matrix_rows
|
||
|
||
|
||
File : :file:`determinants/spindeterminants.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
double precision, allocatable :: psi_bilinear_matrix_values (N_det,N_states)
|
||
integer, allocatable :: psi_bilinear_matrix_rows (N_det)
|
||
integer, allocatable :: psi_bilinear_matrix_columns (N_det)
|
||
integer, allocatable :: psi_bilinear_matrix_order (N_det)
|
||
|
||
|
||
Sparse coefficient matrix if the wave function is expressed in a bilinear form :
|
||
:math:`D_\alpha^\dagger.C.D_\beta`
|
||
|
||
Rows are :math:`\alpha` determinants and columns are :math:`\beta` .
|
||
|
||
Order refers to psi_det
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`n_det`
|
||
* :c:data:`n_int`
|
||
* :c:data:`n_states`
|
||
* :c:data:`psi_coef`
|
||
* :c:data:`psi_det_sorted_bit`
|
||
* :c:data:`psi_det`
|
||
* :c:data:`psi_det_alpha_unique`
|
||
* :c:data:`psi_det_beta_unique`
|
||
|
||
Needed by:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`act_2_rdm_aa_mo`
|
||
* :c:data:`act_2_rdm_ab_mo`
|
||
* :c:data:`act_2_rdm_bb_mo`
|
||
* :c:data:`act_2_rdm_spin_trace_mo`
|
||
* :c:data:`det_alpha_norm`
|
||
* :c:data:`one_e_dm_mo_alpha`
|
||
* :c:data:`psi_bilinear_matrix`
|
||
* :c:data:`psi_bilinear_matrix_columns_loc`
|
||
* :c:data:`psi_bilinear_matrix_order_reverse`
|
||
* :c:data:`psi_bilinear_matrix_transp_values`
|
||
* :c:data:`state_av_act_2_rdm_aa_mo`
|
||
* :c:data:`state_av_act_2_rdm_ab_mo`
|
||
* :c:data:`state_av_act_2_rdm_bb_mo`
|
||
* :c:data:`state_av_act_2_rdm_spin_trace_mo`
|
||
|
||
|
||
.. c:var:: psi_bilinear_matrix_transp_columns
|
||
|
||
|
||
File : :file:`determinants/spindeterminants.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
double precision, allocatable :: psi_bilinear_matrix_transp_values (N_det,N_states)
|
||
integer, allocatable :: psi_bilinear_matrix_transp_rows (N_det)
|
||
integer, allocatable :: psi_bilinear_matrix_transp_columns (N_det)
|
||
integer, allocatable :: psi_bilinear_matrix_transp_order (N_det)
|
||
|
||
|
||
Transpose of :c:data:`psi_bilinear_matrix`
|
||
|
||
:math:`D_\beta^\dagger.C^\dagger.D_\alpha`
|
||
|
||
Rows are :math:`\alpha` determinants and columns are :math:`\beta` , but the matrix is stored in row major
|
||
format.
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`n_det`
|
||
* :c:data:`n_states`
|
||
* :c:data:`psi_bilinear_matrix_values`
|
||
* :c:data:`psi_det_sorted_bit`
|
||
* :c:data:`psi_det_alpha_unique`
|
||
* :c:data:`psi_det_beta_unique`
|
||
|
||
Needed by:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`one_e_dm_mo_alpha`
|
||
* :c:data:`psi_bilinear_matrix_order_transp_reverse`
|
||
* :c:data:`psi_bilinear_matrix_transp_rows_loc`
|
||
|
||
|
||
.. c:var:: psi_bilinear_matrix_transp_order
|
||
|
||
|
||
File : :file:`determinants/spindeterminants.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
double precision, allocatable :: psi_bilinear_matrix_transp_values (N_det,N_states)
|
||
integer, allocatable :: psi_bilinear_matrix_transp_rows (N_det)
|
||
integer, allocatable :: psi_bilinear_matrix_transp_columns (N_det)
|
||
integer, allocatable :: psi_bilinear_matrix_transp_order (N_det)
|
||
|
||
|
||
Transpose of :c:data:`psi_bilinear_matrix`
|
||
|
||
:math:`D_\beta^\dagger.C^\dagger.D_\alpha`
|
||
|
||
Rows are :math:`\alpha` determinants and columns are :math:`\beta` , but the matrix is stored in row major
|
||
format.
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`n_det`
|
||
* :c:data:`n_states`
|
||
* :c:data:`psi_bilinear_matrix_values`
|
||
* :c:data:`psi_det_sorted_bit`
|
||
* :c:data:`psi_det_alpha_unique`
|
||
* :c:data:`psi_det_beta_unique`
|
||
|
||
Needed by:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`one_e_dm_mo_alpha`
|
||
* :c:data:`psi_bilinear_matrix_order_transp_reverse`
|
||
* :c:data:`psi_bilinear_matrix_transp_rows_loc`
|
||
|
||
|
||
.. c:var:: psi_bilinear_matrix_transp_rows
|
||
|
||
|
||
File : :file:`determinants/spindeterminants.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
double precision, allocatable :: psi_bilinear_matrix_transp_values (N_det,N_states)
|
||
integer, allocatable :: psi_bilinear_matrix_transp_rows (N_det)
|
||
integer, allocatable :: psi_bilinear_matrix_transp_columns (N_det)
|
||
integer, allocatable :: psi_bilinear_matrix_transp_order (N_det)
|
||
|
||
|
||
Transpose of :c:data:`psi_bilinear_matrix`
|
||
|
||
:math:`D_\beta^\dagger.C^\dagger.D_\alpha`
|
||
|
||
Rows are :math:`\alpha` determinants and columns are :math:`\beta` , but the matrix is stored in row major
|
||
format.
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`n_det`
|
||
* :c:data:`n_states`
|
||
* :c:data:`psi_bilinear_matrix_values`
|
||
* :c:data:`psi_det_sorted_bit`
|
||
* :c:data:`psi_det_alpha_unique`
|
||
* :c:data:`psi_det_beta_unique`
|
||
|
||
Needed by:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`one_e_dm_mo_alpha`
|
||
* :c:data:`psi_bilinear_matrix_order_transp_reverse`
|
||
* :c:data:`psi_bilinear_matrix_transp_rows_loc`
|
||
|
||
|
||
.. c:var:: psi_bilinear_matrix_transp_rows_loc
|
||
|
||
|
||
File : :file:`determinants/spindeterminants.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
integer, allocatable :: psi_bilinear_matrix_transp_rows_loc (N_det_alpha_unique+1)
|
||
|
||
|
||
Location of the columns in the :c:data:`psi_bilinear_matrix`
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`n_det`
|
||
* :c:data:`psi_bilinear_matrix_transp_values`
|
||
* :c:data:`psi_det_alpha_unique`
|
||
|
||
|
||
|
||
.. c:var:: psi_bilinear_matrix_transp_values
|
||
|
||
|
||
File : :file:`determinants/spindeterminants.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
double precision, allocatable :: psi_bilinear_matrix_transp_values (N_det,N_states)
|
||
integer, allocatable :: psi_bilinear_matrix_transp_rows (N_det)
|
||
integer, allocatable :: psi_bilinear_matrix_transp_columns (N_det)
|
||
integer, allocatable :: psi_bilinear_matrix_transp_order (N_det)
|
||
|
||
|
||
Transpose of :c:data:`psi_bilinear_matrix`
|
||
|
||
:math:`D_\beta^\dagger.C^\dagger.D_\alpha`
|
||
|
||
Rows are :math:`\alpha` determinants and columns are :math:`\beta` , but the matrix is stored in row major
|
||
format.
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`n_det`
|
||
* :c:data:`n_states`
|
||
* :c:data:`psi_bilinear_matrix_values`
|
||
* :c:data:`psi_det_sorted_bit`
|
||
* :c:data:`psi_det_alpha_unique`
|
||
* :c:data:`psi_det_beta_unique`
|
||
|
||
Needed by:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`one_e_dm_mo_alpha`
|
||
* :c:data:`psi_bilinear_matrix_order_transp_reverse`
|
||
* :c:data:`psi_bilinear_matrix_transp_rows_loc`
|
||
|
||
|
||
.. c:var:: psi_bilinear_matrix_values
|
||
|
||
|
||
File : :file:`determinants/spindeterminants.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
double precision, allocatable :: psi_bilinear_matrix_values (N_det,N_states)
|
||
integer, allocatable :: psi_bilinear_matrix_rows (N_det)
|
||
integer, allocatable :: psi_bilinear_matrix_columns (N_det)
|
||
integer, allocatable :: psi_bilinear_matrix_order (N_det)
|
||
|
||
|
||
Sparse coefficient matrix if the wave function is expressed in a bilinear form :
|
||
:math:`D_\alpha^\dagger.C.D_\beta`
|
||
|
||
Rows are :math:`\alpha` determinants and columns are :math:`\beta` .
|
||
|
||
Order refers to psi_det
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`n_det`
|
||
* :c:data:`n_int`
|
||
* :c:data:`n_states`
|
||
* :c:data:`psi_coef`
|
||
* :c:data:`psi_det_sorted_bit`
|
||
* :c:data:`psi_det`
|
||
* :c:data:`psi_det_alpha_unique`
|
||
* :c:data:`psi_det_beta_unique`
|
||
|
||
Needed by:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`act_2_rdm_aa_mo`
|
||
* :c:data:`act_2_rdm_ab_mo`
|
||
* :c:data:`act_2_rdm_bb_mo`
|
||
* :c:data:`act_2_rdm_spin_trace_mo`
|
||
* :c:data:`det_alpha_norm`
|
||
* :c:data:`one_e_dm_mo_alpha`
|
||
* :c:data:`psi_bilinear_matrix`
|
||
* :c:data:`psi_bilinear_matrix_columns_loc`
|
||
* :c:data:`psi_bilinear_matrix_order_reverse`
|
||
* :c:data:`psi_bilinear_matrix_transp_values`
|
||
* :c:data:`state_av_act_2_rdm_aa_mo`
|
||
* :c:data:`state_av_act_2_rdm_ab_mo`
|
||
* :c:data:`state_av_act_2_rdm_bb_mo`
|
||
* :c:data:`state_av_act_2_rdm_spin_trace_mo`
|
||
|
||
|
||
.. c:var:: psi_cas
|
||
|
||
|
||
File : :file:`determinants/psi_cas.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
integer(bit_kind), allocatable :: psi_cas (N_int,2,psi_det_size)
|
||
double precision, allocatable :: psi_cas_coef (psi_det_size,n_states)
|
||
integer, allocatable :: idx_cas (psi_det_size)
|
||
integer :: n_det_cas
|
||
|
||
|
||
|CAS| wave function, defined from the application of the |CAS| bitmask on the
|
||
determinants. idx_cas gives the indice of the |CAS| determinant in psi_det.
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`act_bitmask`
|
||
* :c:data:`hf_bitmask`
|
||
* :c:data:`mpi_master`
|
||
* :c:data:`n_det`
|
||
* :c:data:`n_int`
|
||
* :c:data:`n_states`
|
||
* :c:data:`psi_coef`
|
||
* :c:data:`psi_det`
|
||
* :c:data:`psi_det_size`
|
||
|
||
Needed by:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`h_matrix_cas`
|
||
* :c:data:`psi_cas_energy`
|
||
* :c:data:`psi_cas_sorted_bit`
|
||
* :c:data:`psi_coef_cas_diagonalized`
|
||
* :c:data:`psi_non_cas`
|
||
* :c:data:`psi_non_cas_sorted_bit`
|
||
|
||
|
||
.. c:var:: psi_cas_coef
|
||
|
||
|
||
File : :file:`determinants/psi_cas.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
integer(bit_kind), allocatable :: psi_cas (N_int,2,psi_det_size)
|
||
double precision, allocatable :: psi_cas_coef (psi_det_size,n_states)
|
||
integer, allocatable :: idx_cas (psi_det_size)
|
||
integer :: n_det_cas
|
||
|
||
|
||
|CAS| wave function, defined from the application of the |CAS| bitmask on the
|
||
determinants. idx_cas gives the indice of the |CAS| determinant in psi_det.
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`act_bitmask`
|
||
* :c:data:`hf_bitmask`
|
||
* :c:data:`mpi_master`
|
||
* :c:data:`n_det`
|
||
* :c:data:`n_int`
|
||
* :c:data:`n_states`
|
||
* :c:data:`psi_coef`
|
||
* :c:data:`psi_det`
|
||
* :c:data:`psi_det_size`
|
||
|
||
Needed by:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`h_matrix_cas`
|
||
* :c:data:`psi_cas_energy`
|
||
* :c:data:`psi_cas_sorted_bit`
|
||
* :c:data:`psi_coef_cas_diagonalized`
|
||
* :c:data:`psi_non_cas`
|
||
* :c:data:`psi_non_cas_sorted_bit`
|
||
|
||
|
||
.. c:var:: psi_cas_coef_sorted_bit
|
||
|
||
|
||
File : :file:`determinants/psi_cas.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
integer(bit_kind), allocatable :: psi_cas_sorted_bit (N_int,2,psi_det_size)
|
||
double precision, allocatable :: psi_cas_coef_sorted_bit (psi_det_size,N_states)
|
||
|
||
|
||
|CAS| determinants sorted to accelerate the search of a random determinant in the wave
|
||
function.
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`n_int`
|
||
* :c:data:`n_states`
|
||
* :c:data:`psi_cas`
|
||
* :c:data:`psi_det_size`
|
||
|
||
|
||
|
||
.. c:var:: psi_cas_energy
|
||
|
||
|
||
File : :file:`determinants/psi_cas.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
double precision, allocatable :: psi_cas_energy (N_states)
|
||
|
||
|
||
Variational energy of :math:`\Psi_{CAS}` , where :math:`\Psi_{CAS} = \sum_{I \in CAS} \I \rangle \langle I | \Psi \rangle` .
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`h_matrix_cas`
|
||
* :c:data:`n_states`
|
||
* :c:data:`psi_cas`
|
||
|
||
|
||
|
||
.. c:var:: psi_cas_energy_diagonalized
|
||
|
||
|
||
File : :file:`determinants/psi_cas.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
double precision, allocatable :: psi_coef_cas_diagonalized (N_det_cas,N_states)
|
||
double precision, allocatable :: psi_cas_energy_diagonalized (N_states)
|
||
|
||
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`h_matrix_cas`
|
||
* :c:data:`n_states`
|
||
* :c:data:`psi_cas`
|
||
|
||
|
||
|
||
.. c:var:: psi_cas_sorted_bit
|
||
|
||
|
||
File : :file:`determinants/psi_cas.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
integer(bit_kind), allocatable :: psi_cas_sorted_bit (N_int,2,psi_det_size)
|
||
double precision, allocatable :: psi_cas_coef_sorted_bit (psi_det_size,N_states)
|
||
|
||
|
||
|CAS| determinants sorted to accelerate the search of a random determinant in the wave
|
||
function.
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`n_int`
|
||
* :c:data:`n_states`
|
||
* :c:data:`psi_cas`
|
||
* :c:data:`psi_det_size`
|
||
|
||
|
||
|
||
.. c:var:: psi_coef
|
||
|
||
|
||
File : :file:`determinants/determinants.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
double precision, allocatable :: psi_coef (psi_det_size,N_states)
|
||
|
||
|
||
The wave function coefficients. Initialized with Hartree-Fock if the |EZFIO| file
|
||
is empty.
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`ezfio_filename`
|
||
* :c:data:`mo_label`
|
||
* :c:data:`mpi_master`
|
||
* :c:data:`n_det`
|
||
* :c:data:`n_states`
|
||
* :c:data:`psi_det_size`
|
||
* :c:data:`read_wf`
|
||
|
||
Needed by:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`act_2_rdm_aa_mo`
|
||
* :c:data:`act_2_rdm_ab_mo`
|
||
* :c:data:`act_2_rdm_bb_mo`
|
||
* :c:data:`act_2_rdm_spin_trace_mo`
|
||
* :c:data:`barycentric_electronic_energy`
|
||
* :c:data:`c0_weight`
|
||
* :c:data:`ci_electronic_energy`
|
||
* :c:data:`dressed_column_idx`
|
||
* :c:data:`psi_average_norm_contrib`
|
||
* :c:data:`psi_bilinear_matrix_values`
|
||
* :c:data:`psi_cas`
|
||
* :c:data:`psi_coef_max`
|
||
* :c:data:`psi_det_sorted`
|
||
* :c:data:`psi_det_sorted_bit`
|
||
* :c:data:`psi_energy`
|
||
* :c:data:`psi_energy_two_e`
|
||
* :c:data:`psi_non_cas`
|
||
* :c:data:`s2_values`
|
||
* :c:data:`state_av_act_2_rdm_aa_mo`
|
||
* :c:data:`state_av_act_2_rdm_ab_mo`
|
||
* :c:data:`state_av_act_2_rdm_bb_mo`
|
||
* :c:data:`state_av_act_2_rdm_spin_trace_mo`
|
||
* :c:data:`weight_occ_pattern`
|
||
* :c:data:`weight_occ_pattern_average`
|
||
|
||
|
||
.. c:var:: psi_coef_cas_diagonalized
|
||
|
||
|
||
File : :file:`determinants/psi_cas.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
double precision, allocatable :: psi_coef_cas_diagonalized (N_det_cas,N_states)
|
||
double precision, allocatable :: psi_cas_energy_diagonalized (N_states)
|
||
|
||
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`h_matrix_cas`
|
||
* :c:data:`n_states`
|
||
* :c:data:`psi_cas`
|
||
|
||
|
||
|
||
.. c:var:: psi_coef_max
|
||
|
||
|
||
File : :file:`determinants/determinants.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
double precision, allocatable :: psi_coef_max (N_states)
|
||
double precision, allocatable :: psi_coef_min (N_states)
|
||
double precision, allocatable :: abs_psi_coef_max (N_states)
|
||
double precision, allocatable :: abs_psi_coef_min (N_states)
|
||
|
||
|
||
Max and min values of the coefficients
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`mpi_master`
|
||
* :c:data:`n_states`
|
||
* :c:data:`psi_coef`
|
||
|
||
|
||
|
||
.. c:var:: psi_coef_min
|
||
|
||
|
||
File : :file:`determinants/determinants.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
double precision, allocatable :: psi_coef_max (N_states)
|
||
double precision, allocatable :: psi_coef_min (N_states)
|
||
double precision, allocatable :: abs_psi_coef_max (N_states)
|
||
double precision, allocatable :: abs_psi_coef_min (N_states)
|
||
|
||
|
||
Max and min values of the coefficients
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`mpi_master`
|
||
* :c:data:`n_states`
|
||
* :c:data:`psi_coef`
|
||
|
||
|
||
|
||
.. c:var:: psi_coef_sorted
|
||
|
||
|
||
File : :file:`determinants/determinants.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
integer(bit_kind), allocatable :: psi_det_sorted (N_int,2,psi_det_size)
|
||
double precision, allocatable :: psi_coef_sorted (psi_det_size,N_states)
|
||
double precision, allocatable :: psi_average_norm_contrib_sorted (psi_det_size)
|
||
integer, allocatable :: psi_det_sorted_order (psi_det_size)
|
||
|
||
|
||
Wave function sorted by determinants contribution to the norm (state-averaged)
|
||
|
||
psi_det_sorted_order(i) -> k : index in psi_det
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`n_det`
|
||
* :c:data:`n_int`
|
||
* :c:data:`n_states`
|
||
* :c:data:`psi_average_norm_contrib`
|
||
* :c:data:`psi_coef`
|
||
* :c:data:`psi_det`
|
||
* :c:data:`psi_det_size`
|
||
|
||
Needed by:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`pruned`
|
||
|
||
|
||
.. c:var:: psi_coef_sorted_bit
|
||
|
||
|
||
File : :file:`determinants/determinants.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
integer(bit_kind), allocatable :: psi_det_sorted_bit (N_int,2,psi_det_size)
|
||
double precision, allocatable :: psi_coef_sorted_bit (psi_det_size,N_states)
|
||
|
||
|
||
Determinants on which we apply :math:`\langle i|H|psi \rangle` for perturbation.
|
||
They are sorted by determinants interpreted as integers. Useful
|
||
to accelerate the search of a random determinant in the wave
|
||
function.
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`n_det`
|
||
* :c:data:`n_int`
|
||
* :c:data:`n_states`
|
||
* :c:data:`psi_coef`
|
||
* :c:data:`psi_det`
|
||
* :c:data:`psi_det_size`
|
||
|
||
Needed by:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`psi_bilinear_matrix_transp_values`
|
||
* :c:data:`psi_bilinear_matrix_values`
|
||
|
||
|
||
.. c:var:: psi_det
|
||
|
||
|
||
File : :file:`determinants/determinants.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
integer(bit_kind), allocatable :: psi_det (N_int,2,psi_det_size)
|
||
|
||
|
||
The determinants of the wave function. Initialized with Hartree-Fock if the |EZFIO| file
|
||
is empty.
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`ezfio_filename`
|
||
* :c:data:`hf_bitmask`
|
||
* :c:data:`mo_coef`
|
||
* :c:data:`mo_label`
|
||
* :c:data:`mpi_master`
|
||
* :c:data:`n_det`
|
||
* :c:data:`n_int`
|
||
* :c:data:`psi_det_size`
|
||
* :c:data:`read_wf`
|
||
|
||
Needed by:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`ci_electronic_energy`
|
||
* :c:data:`det_to_occ_pattern`
|
||
* :c:data:`diagonal_h_matrix_on_psi_det`
|
||
* :c:data:`h_matrix_all_dets`
|
||
* :c:data:`max_degree_exc`
|
||
* :c:data:`one_e_dm_mo_alpha`
|
||
* :c:data:`psi_bilinear_matrix_values`
|
||
* :c:data:`psi_cas`
|
||
* :c:data:`psi_det_alpha`
|
||
* :c:data:`psi_det_beta`
|
||
* :c:data:`psi_det_hii`
|
||
* :c:data:`psi_det_sorted`
|
||
* :c:data:`psi_det_sorted_bit`
|
||
* :c:data:`psi_energy`
|
||
* :c:data:`psi_energy_two_e`
|
||
* :c:data:`psi_non_cas`
|
||
* :c:data:`psi_occ_pattern`
|
||
* :c:data:`s2_matrix_all_dets`
|
||
* :c:data:`s2_values`
|
||
|
||
|
||
.. c:var:: psi_det_alpha
|
||
|
||
|
||
File : :file:`determinants/spindeterminants.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
integer(bit_kind), allocatable :: psi_det_alpha (N_int,psi_det_size)
|
||
|
||
|
||
List of :math:`\alpha` determinants of psi_det
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`n_det`
|
||
* :c:data:`n_int`
|
||
* :c:data:`psi_det`
|
||
* :c:data:`psi_det_size`
|
||
|
||
Needed by:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`psi_det_alpha_unique`
|
||
|
||
|
||
.. c:var:: psi_det_alpha_unique
|
||
|
||
|
||
File : :file:`determinants/spindeterminants.irp.f_template_144`
|
||
|
||
.. code:: fortran
|
||
|
||
integer(bit_kind), allocatable :: psi_det_alpha_unique (N_int,psi_det_size)
|
||
integer :: n_det_alpha_unique
|
||
|
||
|
||
Unique :math:`\alpha` determinants
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`mpi_master`
|
||
* :c:data:`n_det`
|
||
* :c:data:`n_int`
|
||
* :c:data:`psi_det_alpha`
|
||
* :c:data:`psi_det_size`
|
||
|
||
Needed by:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`det_alpha_norm`
|
||
* :c:data:`one_e_dm_mo_alpha`
|
||
* :c:data:`psi_bilinear_matrix`
|
||
* :c:data:`psi_bilinear_matrix_transp_rows_loc`
|
||
* :c:data:`psi_bilinear_matrix_transp_values`
|
||
* :c:data:`psi_bilinear_matrix_values`
|
||
* :c:data:`singles_alpha_csc`
|
||
* :c:data:`singles_alpha_csc_idx`
|
||
|
||
|
||
.. c:var:: psi_det_beta
|
||
|
||
|
||
File : :file:`determinants/spindeterminants.irp.f`
|
||
|
||
.. code:: fortran
|
||
|
||
integer(bit_kind), allocatable :: psi_det_beta (N_int,psi_det_size)
|
||
|
||
|
||
List of :math:`\beta` determinants of psi_det
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`n_det`
|
||
* :c:data:`n_int`
|
||
* :c:data:`psi_det`
|
||
* :c:data:`psi_det_size`
|
||
|
||
Needed by:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`psi_det_beta_unique`
|
||
|
||
|
||
.. c:var:: psi_det_beta_unique
|
||
|
||
|
||
File : :file:`determinants/spindeterminants.irp.f_template_144`
|
||
|
||
.. code:: fortran
|
||
|
||
integer(bit_kind), allocatable :: psi_det_beta_unique (N_int,psi_det_size)
|
||
integer :: n_det_beta_unique
|
||
|
||
|
||
Unique :math:`\beta` determinants
|
||
|
||
Needs:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`mpi_master`
|
||
* :c:data:`n_det`
|
||
* :c:data:`n_int`
|
||
* :c:data:`psi_det_beta`
|
||
* :c:data:`psi_det_size`
|
||
|
||
Needed by:
|
||
|
||
.. hlist::
|
||
:columns: 3
|
||
|
||
* :c:data:`det_alpha_norm`
|
||
* :c:data:`one_e_dm_mo_alpha`
|
||
* :c:data:`psi_bilinear_matrix`
|
||
* :c:data:`psi_bilinear_matrix_columns_loc`
|
||
* :c:data:`psi_bilinear_matrix_transp_values`
|
||
* :c:data:`psi_bilinear_matrix_values`
|
||
* :c:data:`singles_beta_csc`
|
||
* :c:data:`singles_beta_csc_idx`
|
||
|
||
|
||
.. c:var:: psi_det_hii
|
||
|
||
|
||
File : :file:`determinants/determinants.irp.f`
|
||
|