10
0
mirror of https://github.com/LCPQ/quantum_package synced 2024-10-20 06:48:20 +02:00
quantum_package/docs/source/modules/determinants.rst
2018-11-26 13:45:32 +01:00

4546 lines
98 KiB
ReStructuredText

.. _determinants:
.. program:: determinants
.. default-role:: option
============
Determinants
============
Contains everything for the computation of the Hamiltonian in the basis of Slater determinants.
EZFIO parameters
----------------
.. option:: n_det_max
Maximum number of determinants in the wave function
Default: 1000000
.. option:: n_det_max_full
Maximum number of determinants where |H| is fully diagonalized
Default: 1000
.. 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:: s2_eig
Force the wave function to be an eigenfunction of |S^2|
Default: True
.. option:: used_weight
0: 1./(c_0^2), 1: 1/N_states, 2: input state-average weight, 3: 1/(Norm_L3(Psi))
Default: 0
.. option:: threshold_generators
Thresholds on generators (fraction of the square of the norm)
Default: 0.99
.. option:: threshold_selectors
Thresholds on selectors (fraction of the square of the norm)
Default: 0.999
.. option:: n_int
Number of integers required to represent bitstrings (set in module :ref:`bitmask`)
.. option:: bit_kind
(set in module :ref:`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:: psi_coef
Coefficients of the wave function
.. option:: psi_det
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:: store_full_H_mat
If |true|, the Davidson diagonalization is performed by storing the full |H| matrix up to n_det_max_stored. Be careful, it can cost a lot of memory but can also save a lot of CPU time
Default: False
.. option:: n_det_max_stored
Maximum number of determinants for which the full |H| matrix is stored. be careful, the memory requested scales as 10*n_det_max_stored**2. for instance, 90000 determinants represents a matrix of size 60 Gb.
Default: 90000
.. option:: state_average_weight
Weight of the states in state-average calculations.
Providers
---------
.. c:var:: abs_psi_coef_max
.. code:: text
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)
File: :file:`determinants.irp.f`
Max and min values of the coefficients
.. c:var:: abs_psi_coef_min
.. code:: text
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)
File: :file:`determinants.irp.f`
Max and min values of the coefficients
.. c:var:: barycentric_electronic_energy
.. code:: text
double precision, allocatable :: barycentric_electronic_energy (N_states)
File: :file:`energy.irp.f`
TODO : ASCII Elephant
.. c:var:: bi_elec_ref_bitmask_energy
.. code:: text
double precision :: ref_bitmask_energy
double precision :: mono_elec_ref_bitmask_energy
double precision :: kinetic_ref_bitmask_energy
double precision :: nucl_elec_ref_bitmask_energy
double precision :: bi_elec_ref_bitmask_energy
File: :file:`ref_bitmask.irp.f`
Energy of the reference bitmask used in Slater rules
.. c:var:: c0_weight
.. code:: text
double precision, allocatable :: c0_weight (N_states)
File: :file:`density_matrix.irp.f`
Weight of the states in the selection : 1/c_0^2
.. c:var:: det_alpha_norm
.. code:: text
double precision, allocatable :: det_alpha_norm (N_det_alpha_unique)
double precision, allocatable :: det_beta_norm (N_det_beta_unique)
File: :file:`spindeterminants.irp.f`
Norm of the alpha and beta spin determinants in the wave function:
||Da||_i \sum_j C_{ij}**2
.. c:var:: det_beta_norm
.. code:: text
double precision, allocatable :: det_alpha_norm (N_det_alpha_unique)
double precision, allocatable :: det_beta_norm (N_det_beta_unique)
File: :file:`spindeterminants.irp.f`
Norm of the alpha and beta spin determinants in the wave function:
||Da||_i \sum_j C_{ij}**2
.. c:var:: det_to_occ_pattern
.. code:: text
integer, allocatable :: det_to_occ_pattern (N_det)
File: :file:`occ_pattern.irp.f`
Returns the index of the occupation pattern for each determinant
.. c:var:: diag_algorithm
.. code:: text
character*(64) :: diag_algorithm
File: :file:`determinants.irp.f`
Diagonalization algorithm (Davidson or Lapack)
.. c:var:: diagonal_h_matrix_on_psi_det
.. code:: text
double precision, allocatable :: diagonal_h_matrix_on_psi_det (N_det)
File: :file:`energy.irp.f`
Diagonal of the Hamiltonian ordered as psi_det
.. c:var:: double_exc_bitmask
.. code:: text
integer(bit_kind), allocatable :: double_exc_bitmask (N_int,4,N_double_exc_bitmasks)
File: :file:`determinants_bitmasks.irp.f`
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.
.. c:var:: expected_s2
.. code:: text
double precision :: expected_s2
File: :file:`s2.irp.f`
Expected value of S2 : S*(S+1)
.. c:var:: fock_operator_closed_shell_ref_bitmask
.. code:: text
double precision, allocatable :: fock_operator_closed_shell_ref_bitmask (mo_tot_num,mo_tot_num)
File: :file:`mono_excitations.irp.f`
.. c:var:: h_apply_buffer_allocated
.. code:: text
logical :: h_apply_buffer_allocated
integer(omp_lock_kind), allocatable :: h_apply_buffer_lock (64,0:nproc-1)
File: :file:`H_apply.irp.f`
Buffer of determinants/coefficients/perturbative energy for H_apply. Uninitialized. Filled by H_apply subroutines.
.. c:var:: h_apply_buffer_lock
.. code:: text
logical :: h_apply_buffer_allocated
integer(omp_lock_kind), allocatable :: h_apply_buffer_lock (64,0:nproc-1)
File: :file:`H_apply.irp.f`
Buffer of determinants/coefficients/perturbative energy for H_apply. Uninitialized. Filled by H_apply subroutines.
.. c:var:: h_matrix_all_dets
.. code:: text
double precision, allocatable :: h_matrix_all_dets (N_det,N_det)
File: :file:`utils.irp.f`
H matrix on the basis of the slater determinants defined by psi_det
.. c:var:: h_matrix_cas
.. code:: text
double precision, allocatable :: h_matrix_cas (N_det_cas,N_det_cas)
File: :file:`psi_cas.irp.f`
.. c:var:: idx_cas
.. code:: text
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
File: :file:`psi_cas.irp.f`
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.
.. c:var:: idx_non_cas
.. code:: text
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
File: :file:`psi_cas.irp.f`
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.
.. c:var:: kinetic_ref_bitmask_energy
.. code:: text
double precision :: ref_bitmask_energy
double precision :: mono_elec_ref_bitmask_energy
double precision :: kinetic_ref_bitmask_energy
double precision :: nucl_elec_ref_bitmask_energy
double precision :: bi_elec_ref_bitmask_energy
File: :file:`ref_bitmask.irp.f`
Energy of the reference bitmask used in Slater rules
.. c:var:: l3_weight
.. code:: text
double precision, allocatable :: l3_weight (N_states)
File: :file:`density_matrix.irp.f`
Weight of the states in the selection : 1/(sum_i |c_i|^3)
.. c:var:: max_degree_exc
.. code:: text
integer :: max_degree_exc
File: :file:`determinants.irp.f`
Maximum degree of excitation in the wf
.. c:var:: mo_energy_expval
.. code:: text
double precision, allocatable :: mo_energy_expval (N_states,mo_tot_num,2,2)
File: :file:`mo_energy_expval.irp.f`
Third index is spin. Fourth index is 1:creation, 2:annihilation
.. c:var:: mono_elec_ref_bitmask_energy
.. code:: text
double precision :: ref_bitmask_energy
double precision :: mono_elec_ref_bitmask_energy
double precision :: kinetic_ref_bitmask_energy
double precision :: nucl_elec_ref_bitmask_energy
double precision :: bi_elec_ref_bitmask_energy
File: :file:`ref_bitmask.irp.f`
Energy of the reference bitmask used in Slater rules
.. c:var:: n_det
.. code:: text
integer :: n_det
File: :file:`determinants.irp.f`
Number of determinants in the wave function
.. c:var:: n_det_alpha_unique
.. code:: text
integer(bit_kind), allocatable :: psi_det_alpha_unique (N_int,psi_det_size)
integer :: n_det_alpha_unique
File: :file:`spindeterminants.irp.f_template_141`
Unique alpha determinants
.. c:var:: n_det_beta_unique
.. code:: text
integer(bit_kind), allocatable :: psi_det_beta_unique (N_int,psi_det_size)
integer :: n_det_beta_unique
File: :file:`spindeterminants.irp.f_template_141`
Unique beta determinants
.. c:var:: n_det_cas
.. code:: text
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
File: :file:`psi_cas.irp.f`
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.
.. c:var:: n_det_non_cas
.. code:: text
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
File: :file:`psi_cas.irp.f`
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.
.. c:var:: n_double_exc_bitmasks
.. code:: text
integer :: n_double_exc_bitmasks
File: :file:`determinants_bitmasks.irp.f`
Number of double excitation bitmasks
.. c:var:: n_occ_pattern
.. code:: text
integer(bit_kind), allocatable :: psi_occ_pattern (N_int,2,psi_det_size)
integer :: n_occ_pattern
File: :file:`occ_pattern.irp.f`
array of the occ_pattern present in the wf psi_occ_pattern(:,1,j) = jth occ_pattern of the wave function : represent all the single occupations psi_occ_pattern(:,2,j) = jth occ_pattern of the wave function : represent all the double occupations The occ patterns are sorted by occ_pattern_search_key
.. c:var:: n_single_exc_bitmasks
.. code:: text
integer :: n_single_exc_bitmasks
File: :file:`determinants_bitmasks.irp.f`
Number of single excitation bitmasks
.. c:var:: nucl_elec_ref_bitmask_energy
.. code:: text
double precision :: ref_bitmask_energy
double precision :: mono_elec_ref_bitmask_energy
double precision :: kinetic_ref_bitmask_energy
double precision :: nucl_elec_ref_bitmask_energy
double precision :: bi_elec_ref_bitmask_energy
File: :file:`ref_bitmask.irp.f`
Energy of the reference bitmask used in Slater rules
.. c:var:: one_body_dm_ao_alpha
.. code:: text
double precision, allocatable :: one_body_dm_ao_alpha (ao_num,ao_num)
double precision, allocatable :: one_body_dm_ao_beta (ao_num,ao_num)
File: :file:`density_matrix.irp.f`
one body density matrix on the AO basis : rho_AO(alpha) , rho_AO(beta)
.. c:var:: one_body_dm_ao_beta
.. code:: text
double precision, allocatable :: one_body_dm_ao_alpha (ao_num,ao_num)
double precision, allocatable :: one_body_dm_ao_beta (ao_num,ao_num)
File: :file:`density_matrix.irp.f`
one body density matrix on the AO basis : rho_AO(alpha) , rho_AO(beta)
.. c:var:: one_body_dm_dagger_mo_spin_index
.. code:: text
double precision, allocatable :: one_body_dm_dagger_mo_spin_index (mo_tot_num,mo_tot_num,N_states,2)
File: :file:`density_matrix.irp.f`
.. c:var:: one_body_dm_mo
.. code:: text
double precision, allocatable :: one_body_dm_mo (mo_tot_num,mo_tot_num)
File: :file:`density_matrix.irp.f`
One-body density matrix
.. c:var:: one_body_dm_mo_alpha
.. code:: text
double precision, allocatable :: one_body_dm_mo_alpha (mo_tot_num,mo_tot_num,N_states)
double precision, allocatable :: one_body_dm_mo_beta (mo_tot_num,mo_tot_num,N_states)
File: :file:`density_matrix.irp.f`
Alpha and beta one-body density matrix for each state
.. c:var:: one_body_dm_mo_alpha_average
.. code:: text
double precision, allocatable :: one_body_dm_mo_alpha_average (mo_tot_num,mo_tot_num)
double precision, allocatable :: one_body_dm_mo_beta_average (mo_tot_num,mo_tot_num)
File: :file:`density_matrix.irp.f`
Alpha and beta one-body density matrix for each state
.. c:var:: one_body_dm_mo_alpha_old
.. code:: text
double precision, allocatable :: one_body_dm_mo_alpha_old (mo_tot_num,mo_tot_num,N_states)
double precision, allocatable :: one_body_dm_mo_beta_old (mo_tot_num,mo_tot_num,N_states)
File: :file:`density_matrix.irp.f`
Alpha and beta one-body density matrix for each state
.. c:var:: one_body_dm_mo_beta
.. code:: text
double precision, allocatable :: one_body_dm_mo_alpha (mo_tot_num,mo_tot_num,N_states)
double precision, allocatable :: one_body_dm_mo_beta (mo_tot_num,mo_tot_num,N_states)
File: :file:`density_matrix.irp.f`
Alpha and beta one-body density matrix for each state
.. c:var:: one_body_dm_mo_beta_average
.. code:: text
double precision, allocatable :: one_body_dm_mo_alpha_average (mo_tot_num,mo_tot_num)
double precision, allocatable :: one_body_dm_mo_beta_average (mo_tot_num,mo_tot_num)
File: :file:`density_matrix.irp.f`
Alpha and beta one-body density matrix for each state
.. c:var:: one_body_dm_mo_beta_old
.. code:: text
double precision, allocatable :: one_body_dm_mo_alpha_old (mo_tot_num,mo_tot_num,N_states)
double precision, allocatable :: one_body_dm_mo_beta_old (mo_tot_num,mo_tot_num,N_states)
File: :file:`density_matrix.irp.f`
Alpha and beta one-body density matrix for each state
.. c:var:: one_body_dm_mo_diff
.. code:: text
double precision, allocatable :: one_body_dm_mo_diff (mo_tot_num,mo_tot_num,2:N_states)
File: :file:`density_matrix.irp.f`
Difference of the one-body density matrix with respect to the ground state
.. c:var:: one_body_dm_mo_spin_index
.. code:: text
double precision, allocatable :: one_body_dm_mo_spin_index (mo_tot_num,mo_tot_num,N_states,2)
File: :file:`density_matrix.irp.f`
.. c:var:: one_body_single_double_dm_mo_alpha
.. code:: text
double precision, allocatable :: one_body_single_double_dm_mo_alpha (mo_tot_num,mo_tot_num)
double precision, allocatable :: one_body_single_double_dm_mo_beta (mo_tot_num,mo_tot_num)
File: :file:`density_matrix.irp.f`
Alpha and beta one-body density matrix for each state
.. c:var:: one_body_single_double_dm_mo_beta
.. code:: text
double precision, allocatable :: one_body_single_double_dm_mo_alpha (mo_tot_num,mo_tot_num)
double precision, allocatable :: one_body_single_double_dm_mo_beta (mo_tot_num,mo_tot_num)
File: :file:`density_matrix.irp.f`
Alpha and beta one-body density matrix for each state
.. c:var:: one_body_spin_density_ao
.. code:: text
double precision, allocatable :: one_body_spin_density_ao (ao_num,ao_num)
File: :file:`density_matrix.irp.f`
one body spin density matrix on the AO basis : rho_AO(alpha) - rho_AO(beta)
.. c:var:: one_body_spin_density_mo
.. code:: text
double precision, allocatable :: one_body_spin_density_mo (mo_tot_num,mo_tot_num)
File: :file:`density_matrix.irp.f`
rho(alpha) - rho(beta)
.. c:var:: psi_average_norm_contrib
.. code:: text
double precision, allocatable :: psi_average_norm_contrib (psi_det_size)
File: :file:`determinants.irp.f`
Contribution of determinants to the state-averaged density
.. c:var:: psi_average_norm_contrib_sorted
.. code:: text
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)
File: :file:`determinants.irp.f`
Wave function sorted by determinants contribution to the norm (state-averaged)
psi_det_sorted_order(i) -> k : index in psi_det
.. c:var:: psi_bilinear_matrix
.. code:: text
double precision, allocatable :: psi_bilinear_matrix (N_det_alpha_unique,N_det_beta_unique,N_states)
File: :file:`spindeterminants.irp.f`
Coefficient matrix if the wave function is expressed in a bilinear form : D_a^t C D_b
.. c:var:: psi_bilinear_matrix_columns
.. code:: text
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)
File: :file:`spindeterminants.irp.f`
Sparse coefficient matrix if the wave function is expressed in a bilinear form : D_a^t C D_b
Rows are alpha determinants and columns are beta.
Order refers to psi_det
.. c:var:: psi_bilinear_matrix_columns_loc
.. code:: text
integer, allocatable :: psi_bilinear_matrix_columns_loc (N_det_beta_unique+1)
File: :file:`spindeterminants.irp.f`
Sparse coefficient matrix if the wave function is expressed in a bilinear form : D_a^t C D_b
Rows are alpha determinants and columns are beta.
Order refers to psi_det
.. c:var:: psi_bilinear_matrix_order
.. code:: text
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)
File: :file:`spindeterminants.irp.f`
Sparse coefficient matrix if the wave function is expressed in a bilinear form : D_a^t C D_b
Rows are alpha determinants and columns are beta.
Order refers to psi_det
.. c:var:: psi_bilinear_matrix_order_reverse
.. code:: text
integer, allocatable :: psi_bilinear_matrix_order_reverse (N_det)
File: :file:`spindeterminants.irp.f`
Order which allows to go from psi_bilinear_matrix to psi_det
.. c:var:: psi_bilinear_matrix_order_transp_reverse
.. code:: text
integer, allocatable :: psi_bilinear_matrix_order_transp_reverse (N_det)
File: :file:`spindeterminants.irp.f`
Order which allows to go from psi_bilinear_matrix_order_transp to psi_bilinear_matrix
.. c:var:: psi_bilinear_matrix_rows
.. code:: text
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)
File: :file:`spindeterminants.irp.f`
Sparse coefficient matrix if the wave function is expressed in a bilinear form : D_a^t C D_b
Rows are alpha determinants and columns are beta.
Order refers to psi_det
.. c:var:: psi_bilinear_matrix_transp_columns
.. code:: text
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)
File: :file:`spindeterminants.irp.f`
Transpose of psi_bilinear_matrix D_b^t C^t D_a
Rows are Alpha determinants and columns are beta, but the matrix is stored in row major format
.. c:var:: psi_bilinear_matrix_transp_order
.. code:: text
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)
File: :file:`spindeterminants.irp.f`
Transpose of psi_bilinear_matrix D_b^t C^t D_a
Rows are Alpha determinants and columns are beta, but the matrix is stored in row major format
.. c:var:: psi_bilinear_matrix_transp_rows
.. code:: text
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)
File: :file:`spindeterminants.irp.f`
Transpose of psi_bilinear_matrix D_b^t C^t D_a
Rows are Alpha determinants and columns are beta, but the matrix is stored in row major format
.. c:var:: psi_bilinear_matrix_transp_rows_loc
.. code:: text
integer, allocatable :: psi_bilinear_matrix_transp_rows_loc (N_det_alpha_unique+1)
File: :file:`spindeterminants.irp.f`
Location of the columns in the psi_bilinear_matrix
.. c:var:: psi_bilinear_matrix_transp_values
.. code:: text
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)
File: :file:`spindeterminants.irp.f`
Transpose of psi_bilinear_matrix D_b^t C^t D_a
Rows are Alpha determinants and columns are beta, but the matrix is stored in row major format
.. c:var:: psi_bilinear_matrix_values
.. code:: text
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)
File: :file:`spindeterminants.irp.f`
Sparse coefficient matrix if the wave function is expressed in a bilinear form : D_a^t C D_b
Rows are alpha determinants and columns are beta.
Order refers to psi_det
.. c:var:: psi_cas
.. code:: text
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
File: :file:`psi_cas.irp.f`
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.
.. c:var:: psi_cas_coef
.. code:: text
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
File: :file:`psi_cas.irp.f`
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.
.. c:var:: psi_cas_coef_sorted_bit
.. code:: text
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)
File: :file:`psi_cas.irp.f`
CAS determinants sorted to accelerate the search of a random determinant in the wave function.
.. c:var:: psi_cas_energy
.. code:: text
double precision, allocatable :: psi_cas_energy (N_states)
File: :file:`psi_cas.irp.f`
.. c:var:: psi_cas_energy_diagonalized
.. code:: text
double precision, allocatable :: psi_coef_cas_diagonalized (N_det_cas,N_states)
double precision, allocatable :: psi_cas_energy_diagonalized (N_states)
File: :file:`psi_cas.irp.f`
.. c:var:: psi_cas_sorted_bit
.. code:: text
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)
File: :file:`psi_cas.irp.f`
CAS determinants sorted to accelerate the search of a random determinant in the wave function.
.. c:var:: psi_coef
.. code:: text
double precision, allocatable :: psi_coef (psi_det_size,N_states)
File: :file:`determinants.irp.f`
The wave function coefficients. Initialized with Hartree-Fock if the EZFIO file is empty
.. c:var:: psi_coef_cas_diagonalized
.. code:: text
double precision, allocatable :: psi_coef_cas_diagonalized (N_det_cas,N_states)
double precision, allocatable :: psi_cas_energy_diagonalized (N_states)
File: :file:`psi_cas.irp.f`
.. c:var:: psi_coef_max
.. code:: text
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)
File: :file:`determinants.irp.f`
Max and min values of the coefficients
.. c:var:: psi_coef_min
.. code:: text
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)
File: :file:`determinants.irp.f`
Max and min values of the coefficients
.. c:var:: psi_coef_sorted
.. code:: text
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)
File: :file:`determinants.irp.f`
Wave function sorted by determinants contribution to the norm (state-averaged)
psi_det_sorted_order(i) -> k : index in psi_det
.. c:var:: psi_coef_sorted_bit
.. code:: text
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)
File: :file:`determinants.irp.f`
Determinants on which we apply <i|H|psi> for perturbation. They are sorted by determinants interpreted as integers. Useful to accelerate the search of a random determinant in the wave function.
.. c:var:: psi_det
.. code:: text
integer(bit_kind), allocatable :: psi_det (N_int,2,psi_det_size)
File: :file:`determinants.irp.f`
The wave function determinants. Initialized with Hartree-Fock if the EZFIO file is empty
.. c:var:: psi_det_alpha
.. code:: text
integer(bit_kind), allocatable :: psi_det_alpha (N_int,psi_det_size)
File: :file:`spindeterminants.irp.f`
List of alpha determinants of psi_det
.. c:var:: psi_det_alpha_unique
.. code:: text
integer(bit_kind), allocatable :: psi_det_alpha_unique (N_int,psi_det_size)
integer :: n_det_alpha_unique
File: :file:`spindeterminants.irp.f_template_141`
Unique alpha determinants
.. c:var:: psi_det_beta
.. code:: text
integer(bit_kind), allocatable :: psi_det_beta (N_int,psi_det_size)
File: :file:`spindeterminants.irp.f`
List of beta determinants of psi_det
.. c:var:: psi_det_beta_unique
.. code:: text
integer(bit_kind), allocatable :: psi_det_beta_unique (N_int,psi_det_size)
integer :: n_det_beta_unique
File: :file:`spindeterminants.irp.f_template_141`
Unique beta determinants
.. c:var:: psi_det_hii
.. code:: text
double precision, allocatable :: psi_det_hii (N_det)
File: :file:`determinants.irp.f`
<i|h|i> for all determinants.
.. c:var:: psi_det_size
.. code:: text
integer :: psi_det_size
File: :file:`determinants.irp.f`
Size of the psi_det/psi_coef arrays
.. c:var:: psi_det_sorted
.. code:: text
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)
File: :file:`determinants.irp.f`
Wave function sorted by determinants contribution to the norm (state-averaged)
psi_det_sorted_order(i) -> k : index in psi_det
.. c:var:: psi_det_sorted_bit
.. code:: text
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)
File: :file:`determinants.irp.f`
Determinants on which we apply <i|H|psi> for perturbation. They are sorted by determinants interpreted as integers. Useful to accelerate the search of a random determinant in the wave function.
.. c:var:: psi_det_sorted_order
.. code:: text
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)
File: :file:`determinants.irp.f`
Wave function sorted by determinants contribution to the norm (state-averaged)
psi_det_sorted_order(i) -> k : index in psi_det
.. c:var:: psi_non_cas
.. code:: text
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
File: :file:`psi_cas.irp.f`
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.
.. c:var:: psi_non_cas_coef
.. code:: text
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
File: :file:`psi_cas.irp.f`
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.
.. c:var:: psi_non_cas_coef_sorted_bit
.. code:: text
integer(bit_kind), allocatable :: psi_non_cas_sorted_bit (N_int,2,psi_det_size)
double precision, allocatable :: psi_non_cas_coef_sorted_bit (psi_det_size,N_states)
File: :file:`psi_cas.irp.f`
CAS determinants sorted to accelerate the search of a random determinant in the wave function.
.. c:var:: psi_non_cas_sorted_bit
.. code:: text
integer(bit_kind), allocatable :: psi_non_cas_sorted_bit (N_int,2,psi_det_size)
double precision, allocatable :: psi_non_cas_coef_sorted_bit (psi_det_size,N_states)
File: :file:`psi_cas.irp.f`
CAS determinants sorted to accelerate the search of a random determinant in the wave function.
.. c:var:: psi_occ_pattern
.. code:: text
integer(bit_kind), allocatable :: psi_occ_pattern (N_int,2,psi_det_size)
integer :: n_occ_pattern
File: :file:`occ_pattern.irp.f`
array of the occ_pattern present in the wf psi_occ_pattern(:,1,j) = jth occ_pattern of the wave function : represent all the single occupations psi_occ_pattern(:,2,j) = jth occ_pattern of the wave function : represent all the double occupations The occ patterns are sorted by occ_pattern_search_key
.. c:var:: psi_occ_pattern_hii
.. code:: text
double precision, allocatable :: psi_occ_pattern_hii (N_occ_pattern)
File: :file:`occ_pattern.irp.f`
<I|h|I> where |I> is an occupation pattern. This is the minimum Hii of all <i|h|i>, where the |i> are the determinants if oI>
.. c:var:: ref_bitmask_energy
.. code:: text
double precision :: ref_bitmask_energy
double precision :: mono_elec_ref_bitmask_energy
double precision :: kinetic_ref_bitmask_energy
double precision :: nucl_elec_ref_bitmask_energy
double precision :: bi_elec_ref_bitmask_energy
File: :file:`ref_bitmask.irp.f`
Energy of the reference bitmask used in Slater rules
.. c:var:: ref_closed_shell_bitmask
.. code:: text
integer(bit_kind), allocatable :: ref_closed_shell_bitmask (N_int,2)
File: :file:`mono_excitations.irp.f`
.. c:var:: s2_values
.. code:: text
double precision, allocatable :: s2_values (N_states)
File: :file:`s2.irp.f`
array of the averaged values of the S^2 operator on the various states
.. c:var:: s_z
.. code:: text
double precision :: s_z
double precision :: s_z2_sz
File: :file:`s2.irp.f`
z component of the Spin
.. c:var:: s_z2_sz
.. code:: text
double precision :: s_z
double precision :: s_z2_sz
File: :file:`s2.irp.f`
z component of the Spin
.. c:var:: single_exc_bitmask
.. code:: text
integer(bit_kind), allocatable :: single_exc_bitmask (N_int,2,N_single_exc_bitmasks)
File: :file:`determinants_bitmasks.irp.f`
single_exc_bitmask(:,1,i) is the bitmask for holes single_exc_bitmask(:,2,i) is the bitmask for particles for a given couple of hole/particle excitations i.
.. c:var:: singles_alpha_csc
.. code:: text
integer, allocatable :: singles_alpha_csc (singles_alpha_csc_size)
File: :file:`spindeterminants.irp.f`
Dimension of the singles_alpha array
.. c:var:: singles_alpha_csc_idx
.. code:: text
integer*8, allocatable :: singles_alpha_csc_idx (N_det_alpha_unique+1)
integer*8 :: singles_alpha_csc_size
File: :file:`spindeterminants.irp.f`
Dimension of the singles_alpha array
.. c:var:: singles_alpha_csc_size
.. code:: text
integer*8, allocatable :: singles_alpha_csc_idx (N_det_alpha_unique+1)
integer*8 :: singles_alpha_csc_size
File: :file:`spindeterminants.irp.f`
Dimension of the singles_alpha array
.. c:var:: singles_alpha_size
.. code:: text
integer :: singles_alpha_size
File: :file:`spindeterminants.irp.f`
Dimension of the singles_alpha array
.. c:var:: state_average_weight
.. code:: text
double precision, allocatable :: state_average_weight (N_states)
File: :file:`density_matrix.irp.f`
Weights in the state-average calculation of the density matrix
.. c:var:: two_body_dm_ab_big_array_act
.. code:: text
double precision, allocatable :: two_body_dm_ab_big_array_act (n_act_orb,n_act_orb,n_act_orb,n_act_orb)
double precision, allocatable :: two_body_dm_ab_big_array_core_act (n_core_orb_allocate,n_act_orb,n_act_orb)
File: :file:`two_body_dm_map.irp.f`
two_body_dm_ab_big_array_act = Purely active part of the two body density matrix two_body_dm_ab_big_array_act_core takes only into account the single excitation within the active space that adds terms in the act <-> core two body dm two_body_dm_ab_big_array_act_core(i,j,k) = < a^\dagger_i n_k a_j > with i,j in the ACTIVE SPACE with k in the CORE SPACE
The alpha-beta extra diagonal energy FOR WF DEFINED AS AN APPROXIMATION OF A CAS can be computed thanks to sum_{h1,p1,h2,p2} two_body_dm_ab_big_array_act(h1,p1,h2,p2) * (h1p1|h2p2) + sum_{h1,p1,h2,p2} two_body_dm_ab_big_array_core_act(h1,p1,h2,p2) * (h1p1|h2p2)
.. c:var:: two_body_dm_ab_big_array_core_act
.. code:: text
double precision, allocatable :: two_body_dm_ab_big_array_act (n_act_orb,n_act_orb,n_act_orb,n_act_orb)
double precision, allocatable :: two_body_dm_ab_big_array_core_act (n_core_orb_allocate,n_act_orb,n_act_orb)
File: :file:`two_body_dm_map.irp.f`
two_body_dm_ab_big_array_act = Purely active part of the two body density matrix two_body_dm_ab_big_array_act_core takes only into account the single excitation within the active space that adds terms in the act <-> core two body dm two_body_dm_ab_big_array_act_core(i,j,k) = < a^\dagger_i n_k a_j > with i,j in the ACTIVE SPACE with k in the CORE SPACE
The alpha-beta extra diagonal energy FOR WF DEFINED AS AN APPROXIMATION OF A CAS can be computed thanks to sum_{h1,p1,h2,p2} two_body_dm_ab_big_array_act(h1,p1,h2,p2) * (h1p1|h2p2) + sum_{h1,p1,h2,p2} two_body_dm_ab_big_array_core_act(h1,p1,h2,p2) * (h1p1|h2p2)
.. c:var:: two_body_dm_ab_diag_act
.. code:: text
double precision, allocatable :: two_body_dm_ab_diag_act (n_act_orb,n_act_orb)
double precision, allocatable :: two_body_dm_ab_diag_inact (n_inact_orb_allocate,n_inact_orb_allocate)
double precision, allocatable :: two_body_dm_ab_diag_core (n_core_orb_allocate,n_core_orb_allocate)
double precision, allocatable :: two_body_dm_ab_diag_all (mo_tot_num,mo_tot_num)
double precision, allocatable :: two_body_dm_diag_core_a_act_b (n_core_orb_allocate,n_act_orb)
double precision, allocatable :: two_body_dm_diag_core_b_act_a (n_core_orb_allocate,n_act_orb)
double precision, allocatable :: two_body_dm_diag_core_act (n_core_orb_allocate,n_act_orb)
File: :file:`two_body_dm_map.irp.f`
two_body_dm_ab_diag_all(k,m) = <\Psi | n_(k\alpha) n_(m\beta) | \Psi> two_body_dm_ab_diag_act(k,m) is restricted to the active orbitals : orbital k = list_act(k) two_body_dm_ab_diag_inact(k,m) is restricted to the inactive orbitals : orbital k = list_inact(k) two_body_dm_ab_diag_core(k,m) is restricted to the core orbitals : orbital k = list_core(k) two_body_dm_ab_diag_core_b_act_a(k,m) represents the core beta <-> active alpha part of the two body dm orbital k = list_core(k) orbital m = list_act(m) two_body_dm_ab_diag_core_a_act_b(k,m) represents the core alpha <-> active beta part of the two body dm orbital k = list_core(k) orbital m = list_act(m) two_body_dm_ab_diag_core_act(k,m) represents the core<->active part of the diagonal two body dm when we traced on the spin orbital k = list_core(k) orbital m = list_act(m)
.. c:var:: two_body_dm_ab_diag_all
.. code:: text
double precision, allocatable :: two_body_dm_ab_diag_act (n_act_orb,n_act_orb)
double precision, allocatable :: two_body_dm_ab_diag_inact (n_inact_orb_allocate,n_inact_orb_allocate)
double precision, allocatable :: two_body_dm_ab_diag_core (n_core_orb_allocate,n_core_orb_allocate)
double precision, allocatable :: two_body_dm_ab_diag_all (mo_tot_num,mo_tot_num)
double precision, allocatable :: two_body_dm_diag_core_a_act_b (n_core_orb_allocate,n_act_orb)
double precision, allocatable :: two_body_dm_diag_core_b_act_a (n_core_orb_allocate,n_act_orb)
double precision, allocatable :: two_body_dm_diag_core_act (n_core_orb_allocate,n_act_orb)
File: :file:`two_body_dm_map.irp.f`
two_body_dm_ab_diag_all(k,m) = <\Psi | n_(k\alpha) n_(m\beta) | \Psi> two_body_dm_ab_diag_act(k,m) is restricted to the active orbitals : orbital k = list_act(k) two_body_dm_ab_diag_inact(k,m) is restricted to the inactive orbitals : orbital k = list_inact(k) two_body_dm_ab_diag_core(k,m) is restricted to the core orbitals : orbital k = list_core(k) two_body_dm_ab_diag_core_b_act_a(k,m) represents the core beta <-> active alpha part of the two body dm orbital k = list_core(k) orbital m = list_act(m) two_body_dm_ab_diag_core_a_act_b(k,m) represents the core alpha <-> active beta part of the two body dm orbital k = list_core(k) orbital m = list_act(m) two_body_dm_ab_diag_core_act(k,m) represents the core<->active part of the diagonal two body dm when we traced on the spin orbital k = list_core(k) orbital m = list_act(m)
.. c:var:: two_body_dm_ab_diag_core
.. code:: text
double precision, allocatable :: two_body_dm_ab_diag_act (n_act_orb,n_act_orb)
double precision, allocatable :: two_body_dm_ab_diag_inact (n_inact_orb_allocate,n_inact_orb_allocate)
double precision, allocatable :: two_body_dm_ab_diag_core (n_core_orb_allocate,n_core_orb_allocate)
double precision, allocatable :: two_body_dm_ab_diag_all (mo_tot_num,mo_tot_num)
double precision, allocatable :: two_body_dm_diag_core_a_act_b (n_core_orb_allocate,n_act_orb)
double precision, allocatable :: two_body_dm_diag_core_b_act_a (n_core_orb_allocate,n_act_orb)
double precision, allocatable :: two_body_dm_diag_core_act (n_core_orb_allocate,n_act_orb)
File: :file:`two_body_dm_map.irp.f`
two_body_dm_ab_diag_all(k,m) = <\Psi | n_(k\alpha) n_(m\beta) | \Psi> two_body_dm_ab_diag_act(k,m) is restricted to the active orbitals : orbital k = list_act(k) two_body_dm_ab_diag_inact(k,m) is restricted to the inactive orbitals : orbital k = list_inact(k) two_body_dm_ab_diag_core(k,m) is restricted to the core orbitals : orbital k = list_core(k) two_body_dm_ab_diag_core_b_act_a(k,m) represents the core beta <-> active alpha part of the two body dm orbital k = list_core(k) orbital m = list_act(m) two_body_dm_ab_diag_core_a_act_b(k,m) represents the core alpha <-> active beta part of the two body dm orbital k = list_core(k) orbital m = list_act(m) two_body_dm_ab_diag_core_act(k,m) represents the core<->active part of the diagonal two body dm when we traced on the spin orbital k = list_core(k) orbital m = list_act(m)
.. c:var:: two_body_dm_ab_diag_inact
.. code:: text
double precision, allocatable :: two_body_dm_ab_diag_act (n_act_orb,n_act_orb)
double precision, allocatable :: two_body_dm_ab_diag_inact (n_inact_orb_allocate,n_inact_orb_allocate)
double precision, allocatable :: two_body_dm_ab_diag_core (n_core_orb_allocate,n_core_orb_allocate)
double precision, allocatable :: two_body_dm_ab_diag_all (mo_tot_num,mo_tot_num)
double precision, allocatable :: two_body_dm_diag_core_a_act_b (n_core_orb_allocate,n_act_orb)
double precision, allocatable :: two_body_dm_diag_core_b_act_a (n_core_orb_allocate,n_act_orb)
double precision, allocatable :: two_body_dm_diag_core_act (n_core_orb_allocate,n_act_orb)
File: :file:`two_body_dm_map.irp.f`
two_body_dm_ab_diag_all(k,m) = <\Psi | n_(k\alpha) n_(m\beta) | \Psi> two_body_dm_ab_diag_act(k,m) is restricted to the active orbitals : orbital k = list_act(k) two_body_dm_ab_diag_inact(k,m) is restricted to the inactive orbitals : orbital k = list_inact(k) two_body_dm_ab_diag_core(k,m) is restricted to the core orbitals : orbital k = list_core(k) two_body_dm_ab_diag_core_b_act_a(k,m) represents the core beta <-> active alpha part of the two body dm orbital k = list_core(k) orbital m = list_act(m) two_body_dm_ab_diag_core_a_act_b(k,m) represents the core alpha <-> active beta part of the two body dm orbital k = list_core(k) orbital m = list_act(m) two_body_dm_ab_diag_core_act(k,m) represents the core<->active part of the diagonal two body dm when we traced on the spin orbital k = list_core(k) orbital m = list_act(m)
.. c:var:: two_body_dm_ab_map
.. code:: text
type(map_type) :: two_body_dm_ab_map
File: :file:`two_body_dm_map.irp.f`
Map of the two body density matrix elements for the alpha/beta elements
.. c:var:: two_body_dm_diag_core_a_act_b
.. code:: text
double precision, allocatable :: two_body_dm_ab_diag_act (n_act_orb,n_act_orb)
double precision, allocatable :: two_body_dm_ab_diag_inact (n_inact_orb_allocate,n_inact_orb_allocate)
double precision, allocatable :: two_body_dm_ab_diag_core (n_core_orb_allocate,n_core_orb_allocate)
double precision, allocatable :: two_body_dm_ab_diag_all (mo_tot_num,mo_tot_num)
double precision, allocatable :: two_body_dm_diag_core_a_act_b (n_core_orb_allocate,n_act_orb)
double precision, allocatable :: two_body_dm_diag_core_b_act_a (n_core_orb_allocate,n_act_orb)
double precision, allocatable :: two_body_dm_diag_core_act (n_core_orb_allocate,n_act_orb)
File: :file:`two_body_dm_map.irp.f`
two_body_dm_ab_diag_all(k,m) = <\Psi | n_(k\alpha) n_(m\beta) | \Psi> two_body_dm_ab_diag_act(k,m) is restricted to the active orbitals : orbital k = list_act(k) two_body_dm_ab_diag_inact(k,m) is restricted to the inactive orbitals : orbital k = list_inact(k) two_body_dm_ab_diag_core(k,m) is restricted to the core orbitals : orbital k = list_core(k) two_body_dm_ab_diag_core_b_act_a(k,m) represents the core beta <-> active alpha part of the two body dm orbital k = list_core(k) orbital m = list_act(m) two_body_dm_ab_diag_core_a_act_b(k,m) represents the core alpha <-> active beta part of the two body dm orbital k = list_core(k) orbital m = list_act(m) two_body_dm_ab_diag_core_act(k,m) represents the core<->active part of the diagonal two body dm when we traced on the spin orbital k = list_core(k) orbital m = list_act(m)
.. c:var:: two_body_dm_diag_core_act
.. code:: text
double precision, allocatable :: two_body_dm_ab_diag_act (n_act_orb,n_act_orb)
double precision, allocatable :: two_body_dm_ab_diag_inact (n_inact_orb_allocate,n_inact_orb_allocate)
double precision, allocatable :: two_body_dm_ab_diag_core (n_core_orb_allocate,n_core_orb_allocate)
double precision, allocatable :: two_body_dm_ab_diag_all (mo_tot_num,mo_tot_num)
double precision, allocatable :: two_body_dm_diag_core_a_act_b (n_core_orb_allocate,n_act_orb)
double precision, allocatable :: two_body_dm_diag_core_b_act_a (n_core_orb_allocate,n_act_orb)
double precision, allocatable :: two_body_dm_diag_core_act (n_core_orb_allocate,n_act_orb)
File: :file:`two_body_dm_map.irp.f`
two_body_dm_ab_diag_all(k,m) = <\Psi | n_(k\alpha) n_(m\beta) | \Psi> two_body_dm_ab_diag_act(k,m) is restricted to the active orbitals : orbital k = list_act(k) two_body_dm_ab_diag_inact(k,m) is restricted to the inactive orbitals : orbital k = list_inact(k) two_body_dm_ab_diag_core(k,m) is restricted to the core orbitals : orbital k = list_core(k) two_body_dm_ab_diag_core_b_act_a(k,m) represents the core beta <-> active alpha part of the two body dm orbital k = list_core(k) orbital m = list_act(m) two_body_dm_ab_diag_core_a_act_b(k,m) represents the core alpha <-> active beta part of the two body dm orbital k = list_core(k) orbital m = list_act(m) two_body_dm_ab_diag_core_act(k,m) represents the core<->active part of the diagonal two body dm when we traced on the spin orbital k = list_core(k) orbital m = list_act(m)
.. c:var:: two_body_dm_diag_core_b_act_a
.. code:: text
double precision, allocatable :: two_body_dm_ab_diag_act (n_act_orb,n_act_orb)
double precision, allocatable :: two_body_dm_ab_diag_inact (n_inact_orb_allocate,n_inact_orb_allocate)
double precision, allocatable :: two_body_dm_ab_diag_core (n_core_orb_allocate,n_core_orb_allocate)
double precision, allocatable :: two_body_dm_ab_diag_all (mo_tot_num,mo_tot_num)
double precision, allocatable :: two_body_dm_diag_core_a_act_b (n_core_orb_allocate,n_act_orb)
double precision, allocatable :: two_body_dm_diag_core_b_act_a (n_core_orb_allocate,n_act_orb)
double precision, allocatable :: two_body_dm_diag_core_act (n_core_orb_allocate,n_act_orb)
File: :file:`two_body_dm_map.irp.f`
two_body_dm_ab_diag_all(k,m) = <\Psi | n_(k\alpha) n_(m\beta) | \Psi> two_body_dm_ab_diag_act(k,m) is restricted to the active orbitals : orbital k = list_act(k) two_body_dm_ab_diag_inact(k,m) is restricted to the inactive orbitals : orbital k = list_inact(k) two_body_dm_ab_diag_core(k,m) is restricted to the core orbitals : orbital k = list_core(k) two_body_dm_ab_diag_core_b_act_a(k,m) represents the core beta <-> active alpha part of the two body dm orbital k = list_core(k) orbital m = list_act(m) two_body_dm_ab_diag_core_a_act_b(k,m) represents the core alpha <-> active beta part of the two body dm orbital k = list_core(k) orbital m = list_act(m) two_body_dm_ab_diag_core_act(k,m) represents the core<->active part of the diagonal two body dm when we traced on the spin orbital k = list_core(k) orbital m = list_act(m)
.. c:var:: two_body_dm_in_map
.. code:: text
logical :: two_body_dm_in_map
File: :file:`two_body_dm_map.irp.f`
If True, the map of the two body density matrix alpha/beta is provided
.. c:var:: weight_occ_pattern
.. code:: text
double precision, allocatable :: weight_occ_pattern (N_occ_pattern,N_states)
File: :file:`occ_pattern.irp.f`
Weight of the occupation patterns in the wave function
Subroutines / functions
-----------------------
.. c:function:: a_operator
.. code:: text
subroutine a_operator(iorb,ispin,key,hjj,Nint,na,nb)
File: :file:`slater_rules.irp.f`
Needed for diag_H_mat_elem
.. c:function:: ac_operator
.. code:: text
subroutine ac_operator(iorb,ispin,key,hjj,Nint,na,nb)
File: :file:`slater_rules.irp.f`
Needed for diag_H_mat_elem
.. c:function:: add_values_to_two_body_dm_map
.. code:: text
subroutine add_values_to_two_body_dm_map(mask_ijkl)
File: :file:`two_body_dm_map.irp.f`
Adds values to the map of two_body_dm according to some bitmask
.. c:function:: apply_excitation
.. code:: text
subroutine apply_excitation(det, exc, res, ok, Nint)
File: :file:`determinants.irp.f`
.. c:function:: apply_hole
.. code:: text
subroutine apply_hole(det, s1, h1, res, ok, Nint)
File: :file:`determinants.irp.f`
.. c:function:: apply_holes
.. code:: text
subroutine apply_holes(det, s1, h1, s2, h2, res, ok, Nint)
File: :file:`determinants.irp.f`
.. c:function:: apply_mono
.. code:: text
subroutine apply_mono(i_hole,i_particle,ispin_excit,key_in,Nint)
File: :file:`excitations_utils.irp.f`
.. c:function:: apply_particle
.. code:: text
subroutine apply_particle(det, s1, p1, res, ok, Nint)
File: :file:`determinants.irp.f`
.. c:function:: apply_particles
.. code:: text
subroutine apply_particles(det, s1, p1, s2, p2, res, ok, Nint)
File: :file:`determinants.irp.f`
.. c:function:: au0_h_au0
.. code:: text
subroutine au0_h_au0(energies,psi_in,psi_in_coef,ndet,dim_psi_coef)
File: :file:`mo_energy_expval.irp.f`
.. c:function:: bitstring_to_list_ab
.. code:: text
subroutine bitstring_to_list_ab( string, list, n_elements, Nint)
File: :file:`slater_rules.irp.f`
Gives the inidices(+1) of the bits set to 1 in the bit string For alpha/beta determinants
.. c:function:: bitstring_to_list_ab_old
.. code:: text
subroutine bitstring_to_list_ab_old( string, list, n_elements, Nint)
File: :file:`slater_rules.irp.f`
Gives the inidices(+1) of the bits set to 1 in the bit string For alpha/beta determinants
.. c:function:: build_fock_tmp
.. code:: text
subroutine build_fock_tmp(fock_diag_tmp,det_ref,Nint)
File: :file:`Fock_diag.irp.f`
Build the diagonal of the Fock matrix corresponding to a generator determinant. F_00 is <i|H|i> = E0.
.. c:function:: clear_bit_to_integer
.. code:: text
subroutine clear_bit_to_integer(i_physical,key,Nint)
File: :file:`create_excitations.irp.f`
.. c:function:: compute_diag_two_body_dm_ab
.. code:: text
double precision function compute_diag_two_body_dm_ab(r1,r2)
File: :file:`two_body_dm_map.irp.f`
.. c:function:: compute_diag_two_body_dm_ab_act
.. code:: text
double precision function compute_diag_two_body_dm_ab_act(r1,r2)
File: :file:`two_body_dm_map.irp.f`
.. c:function:: compute_diag_two_body_dm_ab_core
.. code:: text
double precision function compute_diag_two_body_dm_ab_core(r1,r2)
File: :file:`two_body_dm_map.irp.f`
.. c:function:: compute_diag_two_body_dm_ab_core_act
.. code:: text
double precision function compute_diag_two_body_dm_ab_core_act(r1,r2)
File: :file:`two_body_dm_map.irp.f`
.. c:function:: compute_extra_diag_two_body_dm_ab
.. code:: text
double precision function compute_extra_diag_two_body_dm_ab(r1,r2)
File: :file:`two_body_dm_map.irp.f`
compute the extra diagonal contribution to the alpha/bet two body density at r1, r2
.. c:function:: compute_extra_diag_two_body_dm_ab_act
.. code:: text
double precision function compute_extra_diag_two_body_dm_ab_act(r1,r2)
File: :file:`two_body_dm_map.irp.f`
compute the extra diagonal contribution to the two body density at r1, r2 involving ONLY THE ACTIVE PART, which means that the four index of the excitations involved in the two body density matrix are ACTIVE
.. c:function:: compute_extra_diag_two_body_dm_ab_core_act
.. code:: text
double precision function compute_extra_diag_two_body_dm_ab_core_act(r1,r2)
File: :file:`two_body_dm_map.irp.f`
compute the extra diagonal contribution to the two body density at r1, r2 involving ONLY THE ACTIVE PART, which means that the four index of the excitations involved in the two body density matrix are ACTIVE
.. c:function:: connected_to_ref
.. code:: text
integer function connected_to_ref(key,keys,Nint,N_past_in,Ndet)
File: :file:`connected_to_ref.irp.f`
.. c:function:: connected_to_ref_by_mono
.. code:: text
integer function connected_to_ref_by_mono(key,keys,Nint,N_past_in,Ndet)
File: :file:`connected_to_ref.irp.f`
.. c:function:: copy_h_apply_buffer_to_wf
.. code:: text
subroutine copy_H_apply_buffer_to_wf
File: :file:`H_apply.irp.f`
Copies the H_apply buffer to psi_coef. After calling this subroutine, N_det, psi_det and psi_coef need to be touched
.. c:function:: copy_psi_bilinear_to_psi
.. code:: text
subroutine copy_psi_bilinear_to_psi(psi, isize)
File: :file:`spindeterminants.irp.f`
Overwrites psi_det and psi_coef with the wf in bilinear order
.. c:function:: create_microlist
.. code:: text
subroutine create_microlist(minilist, N_minilist, key_mask, microlist, idx_microlist, N_microlist, ptr_microlist, Nint)
File: :file:`filter_connected.irp.f`
.. c:function:: create_minilist
.. code:: text
subroutine create_minilist(key_mask, fullList, miniList, idx_miniList, N_fullList, N_miniList, Nint)
File: :file:`slater_rules.irp.f`
.. c:function:: create_minilist_find_previous
.. code:: text
subroutine create_minilist_find_previous(key_mask, fullList, miniList, N_fullList, N_miniList, fullMatch, Nint)
File: :file:`slater_rules.irp.f`
.. c:function:: create_wf_of_psi_bilinear_matrix
.. code:: text
subroutine create_wf_of_psi_bilinear_matrix(truncate)
File: :file:`spindeterminants.irp.f`
Generate a wave function containing all possible products of alpha and beta determinants
.. c:function:: decode_exc
.. code:: text
subroutine decode_exc(exc,degree,h1,p1,h2,p2,s1,s2)
File: :file:`slater_rules.irp.f`
Decodes the exc arrays returned by get_excitation. h1,h2 : Holes p1,p2 : Particles s1,s2 : Spins (1:alpha, 2:beta) degree : Degree of excitation
.. c:function:: decode_exc_spin
.. code:: text
subroutine decode_exc_spin(exc,h1,p1,h2,p2)
File: :file:`slater_rules.irp.f`
Decodes the exc arrays returned by get_excitation. h1,h2 : Holes p1,p2 : Particles
.. c:function:: decode_exc_spin_new
.. code:: text
subroutine decode_exc_spin_new(exc,h1,p1,h2,p2)
File: :file:`slater_rules.irp.f`
Decodes the exc arrays returned by get_excitation. h1,h2 : Holes p1,p2 : Particles
.. c:function:: det_inf
.. code:: text
logical function det_inf(key1, key2, Nint)
File: :file:`sort_dets_ab.irp.f`
Ordering function for determinants
.. c:function:: det_search_key
.. code:: text
integer*8 function det_search_key(det,Nint)
File: :file:`connected_to_ref.irp.f`
Return an integer*8 corresponding to a determinant index for searching
.. c:function:: detcmp
.. code:: text
integer function detCmp(a,b,Nint)
File: :file:`determinants.irp.f`
.. c:function:: deteq
.. code:: text
logical function detEq(a,b,Nint)
File: :file:`determinants.irp.f`
.. c:function:: diag_h_mat_elem
.. code:: text
double precision function diag_H_mat_elem(det_in,Nint)
File: :file:`slater_rules.irp.f`
Computes <i|H|i>
.. c:function:: diag_h_mat_elem_au0_h_au0
.. code:: text
subroutine diag_H_mat_elem_au0_h_au0(det_in,Nint,hii)
File: :file:`mo_energy_expval.irp.f`
Computes <i|H|i> for any determinant i. Used for wave functions with an additional electron.
.. c:function:: diag_h_mat_elem_fock
.. code:: text
double precision function diag_H_mat_elem_fock(det_ref,det_pert,fock_diag_tmp,Nint)
File: :file:`slater_rules.irp.f`
Computes <i|H|i> when i is at most a double excitation from a reference.
.. c:function:: diag_s_mat_elem
.. code:: text
double precision function diag_S_mat_elem(key_i,Nint)
File: :file:`s2.irp.f`
Returns <i|S^2|i>
.. c:function:: diagonalize_s2_betweenstates
.. code:: text
subroutine diagonalize_s2_betweenstates(keys_tmp,u_0,n,nmax_keys,nmax_coefs,nstates,s2_eigvalues)
File: :file:`s2.irp.f`
You enter with nstates vectors in u_0 that may be coupled by S^2 The subroutine diagonalize the S^2 operator in the basis of these states. The vectors that you obtain in output are no more coupled by S^2, which does not necessary mean that they are eigenfunction of S^2. n,nmax,nstates = number of determinants, physical dimension of the arrays and number of states keys_tmp = array of integer(bit_kind) that represents the determinants psi_coefs(i,j) = coeff of the ith determinant in the jth state VECTORS ARE SUPPOSED TO BE ORTHONORMAL IN INPUT
.. c:function:: do_mono_excitation
.. code:: text
subroutine do_mono_excitation(key_in,i_hole,i_particle,ispin,i_ok)
File: :file:`create_excitations.irp.f`
Apply the mono excitation operator : a^{dager}_(i_particle) a_(i_hole) of spin = ispin on key_in ispin = 1 == alpha ispin = 2 == beta i_ok = 1 == the excitation is possible i_ok = -1 == the excitation is not possible
.. c:function:: do_spin_flip
.. code:: text
subroutine do_spin_flip(key_in,i_flip,ispin,i_ok)
File: :file:`create_excitations.irp.f`
flip the spin ispin in the orbital i_flip on key_in ispin = 1 == alpha ispin = 2 == beta i_ok = 1 == the flip is possible i_ok = -1 == the flip is not possible
.. c:function:: doubly_occ_empty_in_couple
.. code:: text
subroutine doubly_occ_empty_in_couple(det_in,n_couples,couples,couples_out)
File: :file:`useful_for_ovb.irp.f`
n_couples is the number of couples of orbitals to be checked couples(i,1) = first orbital of the ith couple couples(i,2) = second orbital of the ith couple returns the array couples_out couples_out(i) = .True. if det_in contains an orbital empty in the ith couple AND an orbital doubly occupied in the ith couple
.. c:function:: doubly_occ_empty_in_couple_and_no_hund_elsewhere
.. code:: text
subroutine doubly_occ_empty_in_couple_and_no_hund_elsewhere(det_in,n_couple_no_hund,couple_ion,couple_no_hund,is_ok)
File: :file:`useful_for_ovb.irp.f`
n_couples is the number of couples of orbitals to be checked couples(i,1) = first orbital of the ith couple couples(i,2) = second orbital of the ith couple returns the array couples_out couples_out(i) = .True. if det_in contains an orbital empty in the ith couple AND an orbital doubly occupied in the ith couple
.. c:function:: fill_h_apply_buffer_no_selection
.. code:: text
subroutine fill_H_apply_buffer_no_selection(n_selected,det_buffer,Nint,iproc)
File: :file:`H_apply.irp.f`
Fill the H_apply buffer with determiants for CISD
.. c:function:: filter_connected
.. code:: text
subroutine filter_connected(key1,key2,Nint,sze,idx)
File: :file:`filter_connected.irp.f`
Filters out the determinants that are not connected by H
returns the array idx which contains the index of the
determinants in the array key1 that interact
via the H operator with key2.
idx(0) is the number of determinants that interact with key1
.. c:function:: filter_connected_i_h_psi0
.. code:: text
subroutine filter_connected_i_H_psi0(key1,key2,Nint,sze,idx)
File: :file:`filter_connected.irp.f`
returns the array idx which contains the index of the
determinants in the array key1 that interact
via the H operator with key2.
idx(0) is the number of determinants that interact with key1
.. c:function:: filter_connected_i_h_psi0_sc2
.. code:: text
subroutine filter_connected_i_H_psi0_SC2(key1,key2,Nint,sze,idx,idx_repeat)
File: :file:`filter_connected.irp.f`
standard filter_connected_i_H_psi but returns in addition
the array of the index of the non connected determinants to key1
in order to know what double excitation can be repeated on key1
idx_repeat(0) is the number of determinants that can be used
to repeat the excitations
.. c:function:: filter_not_connected
.. code:: text
subroutine filter_not_connected(key1,key2,Nint,sze,idx)
File: :file:`filter_connected.irp.f`
Returns the array idx which contains the index of the
determinants in the array key1 that DO NOT interact
via the H operator with key2.
idx(0) is the number of determinants that DO NOT interact with key1
.. c:function:: flip_generators
.. code:: text
subroutine flip_generators()
File: :file:`determinants.irp.f`
.. c:function:: generate_all_alpha_beta_det_products
.. code:: text
subroutine generate_all_alpha_beta_det_products
File: :file:`spindeterminants.irp.f`
Create a wave function from all possible alpha x beta determinants
.. c:function:: get_all_spin_doubles
.. code:: text
subroutine get_all_spin_doubles(buffer, idx, spindet, Nint, size_buffer, doubles, n_doubles)
File: :file:`spindeterminants.irp.f`
Returns the indices of all the double excitations in the list of unique alpha determinants.
.. c:function:: get_all_spin_doubles_1
.. code:: text
subroutine get_all_spin_doubles_1(buffer, idx, spindet, size_buffer, doubles, n_doubles)
File: :file:`spindeterminants.irp.f`
Returns the indices of all the double excitations in the list of unique alpha determinants.
.. c:function:: get_all_spin_doubles_2
.. code:: text
subroutine get_all_spin_doubles_2(buffer, idx, spindet, size_buffer, doubles, n_doubles)
File: :file:`spindeterminants.irp.f_template_1215`
Returns the indices of all the double excitations in the list of unique alpha determinants.
.. c:function:: get_all_spin_doubles_3
.. code:: text
subroutine get_all_spin_doubles_3(buffer, idx, spindet, size_buffer, doubles, n_doubles)
File: :file:`spindeterminants.irp.f_template_1215`
Returns the indices of all the double excitations in the list of unique alpha determinants.
.. c:function:: get_all_spin_doubles_4
.. code:: text
subroutine get_all_spin_doubles_4(buffer, idx, spindet, size_buffer, doubles, n_doubles)
File: :file:`spindeterminants.irp.f_template_1215`
Returns the indices of all the double excitations in the list of unique alpha determinants.
.. c:function:: get_all_spin_doubles_n_int
.. code:: text
subroutine get_all_spin_doubles_N_int(buffer, idx, spindet, size_buffer, doubles, n_doubles)
File: :file:`spindeterminants.irp.f_template_1215`
Returns the indices of all the double excitations in the list of unique alpha determinants.
.. c:function:: get_all_spin_singles
.. code:: text
subroutine get_all_spin_singles(buffer, idx, spindet, Nint, size_buffer, singles, n_singles)
File: :file:`spindeterminants.irp.f`
Returns the indices of all the single excitations in the list of unique alpha determinants.
.. c:function:: get_all_spin_singles_1
.. code:: text
subroutine get_all_spin_singles_1(buffer, idx, spindet, size_buffer, singles, n_singles)
File: :file:`spindeterminants.irp.f`
Returns the indices of all the single excitations in the list of unique alpha determinants.
.. c:function:: get_all_spin_singles_2
.. code:: text
subroutine get_all_spin_singles_2(buffer, idx, spindet, size_buffer, singles, n_singles)
File: :file:`spindeterminants.irp.f_template_1215`
Returns the indices of all the single excitations in the list of unique alpha determinants.
.. c:function:: get_all_spin_singles_3
.. code:: text
subroutine get_all_spin_singles_3(buffer, idx, spindet, size_buffer, singles, n_singles)
File: :file:`spindeterminants.irp.f_template_1215`
Returns the indices of all the single excitations in the list of unique alpha determinants.
.. c:function:: get_all_spin_singles_4
.. code:: text
subroutine get_all_spin_singles_4(buffer, idx, spindet, size_buffer, singles, n_singles)
File: :file:`spindeterminants.irp.f_template_1215`
Returns the indices of all the single excitations in the list of unique alpha determinants.
.. c:function:: get_all_spin_singles_and_doubles
.. code:: text
subroutine get_all_spin_singles_and_doubles(buffer, idx, spindet, Nint, size_buffer, singles, doubles, n_singles, n_doubles)
File: :file:`spindeterminants.irp.f`
Returns the indices of all the single and double excitations in the list of unique alpha determinants.
/!\ : The buffer is transposed !
.. c:function:: get_all_spin_singles_and_doubles_1
.. code:: text
subroutine get_all_spin_singles_and_doubles_1(buffer, idx, spindet, size_buffer, singles, doubles, n_singles, n_doubles)
File: :file:`spindeterminants.irp.f`
Returns the indices of all the single and double excitations in the list of unique alpha determinants.
/!\ : The buffer is transposed !
.. c:function:: get_all_spin_singles_and_doubles_2
.. code:: text
subroutine get_all_spin_singles_and_doubles_2(buffer, idx, spindet, size_buffer, singles, doubles, n_singles, n_doubles)
File: :file:`spindeterminants.irp.f_template_1215`
Returns the indices of all the single and double excitations in the list of unique alpha determinants.
/!\ : The buffer is transposed !
.. c:function:: get_all_spin_singles_and_doubles_3
.. code:: text
subroutine get_all_spin_singles_and_doubles_3(buffer, idx, spindet, size_buffer, singles, doubles, n_singles, n_doubles)
File: :file:`spindeterminants.irp.f_template_1215`
Returns the indices of all the single and double excitations in the list of unique alpha determinants.
/!\ : The buffer is transposed !
.. c:function:: get_all_spin_singles_and_doubles_4
.. code:: text
subroutine get_all_spin_singles_and_doubles_4(buffer, idx, spindet, size_buffer, singles, doubles, n_singles, n_doubles)
File: :file:`spindeterminants.irp.f_template_1215`
Returns the indices of all the single and double excitations in the list of unique alpha determinants.
/!\ : The buffer is transposed !
.. c:function:: get_all_spin_singles_and_doubles_n_int
.. code:: text
subroutine get_all_spin_singles_and_doubles_N_int(buffer, idx, spindet, size_buffer, singles, doubles, n_singles, n_doubles)
File: :file:`spindeterminants.irp.f_template_1215`
Returns the indices of all the single and double excitations in the list of unique alpha determinants.
/!\ : The buffer is transposed !
.. c:function:: get_all_spin_singles_n_int
.. code:: text
subroutine get_all_spin_singles_N_int(buffer, idx, spindet, size_buffer, singles, n_singles)
File: :file:`spindeterminants.irp.f_template_1215`
Returns the indices of all the single excitations in the list of unique alpha determinants.
.. c:function:: get_double_excitation
.. code:: text
subroutine get_double_excitation(det1,det2,exc,phase,Nint)
File: :file:`slater_rules.irp.f`
Returns the two excitation operators between two doubly excited determinants and the phase
.. c:function:: get_double_excitation_phase
.. code:: text
subroutine get_double_excitation_phase(det1,det2,exc,phase,Nint)
File: :file:`slater_rules.irp.f`
.. c:function:: get_double_excitation_phase_new
.. code:: text
subroutine get_double_excitation_phase_new(det1,det2,exc,phase,Nint)
File: :file:`slater_rules.irp.f`
.. c:function:: get_double_excitation_spin
.. code:: text
subroutine get_double_excitation_spin(det1,det2,exc,phase,Nint)
File: :file:`slater_rules.irp.f`
Returns the two excitation operators between two doubly excited spin-determinants and the phase
.. c:function:: get_double_excitation_spin_new
.. code:: text
subroutine get_double_excitation_spin_new(det1,det2,exc,phase,Nint)
File: :file:`slater_rules.irp.f`
Returns the two excitation operators between two doubly excited spin-determinants and the phase
.. c:function:: get_excitation
.. code:: text
subroutine get_excitation(det1,det2,exc,degree,phase,Nint)
File: :file:`slater_rules.irp.f`
Returns the excitation operators between two determinants and the phase
.. c:function:: get_excitation_degree
.. code:: text
subroutine get_excitation_degree(key1,key2,degree,Nint)
File: :file:`slater_rules.irp.f`
Returns the excitation degree between two determinants
.. c:function:: get_excitation_degree_spin
.. code:: text
subroutine get_excitation_degree_spin(key1,key2,degree,Nint)
File: :file:`slater_rules.irp.f`
Returns the excitation degree between two determinants
.. c:function:: get_excitation_degree_spin_new
.. code:: text
subroutine get_excitation_degree_spin_new(key1,key2,degree,Nint)
File: :file:`slater_rules.irp.f`
Returns the excitation degree between two determinants
.. c:function:: get_excitation_degree_vector
.. code:: text
subroutine get_excitation_degree_vector(key1,key2,degree,Nint,sze,idx)
File: :file:`slater_rules.irp.f`
Applies get_excitation_degree to an array of determinants
.. c:function:: get_excitation_degree_vector_double_alpha_beta
.. code:: text
subroutine get_excitation_degree_vector_double_alpha_beta(key1,key2,degree,Nint,sze,idx)
File: :file:`slater_rules.irp.f`
Applies get_excitation_degree to an array of determinants and return only the mono excitations and the connections through exchange integrals
.. c:function:: get_excitation_degree_vector_mono
.. code:: text
subroutine get_excitation_degree_vector_mono(key1,key2,degree,Nint,sze,idx)
File: :file:`slater_rules.irp.f`
Applies get_excitation_degree to an array of determinants and return only the mono excitations
.. c:function:: get_excitation_degree_vector_mono_or_exchange
.. code:: text
subroutine get_excitation_degree_vector_mono_or_exchange(key1,key2,degree,Nint,sze,idx)
File: :file:`slater_rules.irp.f`
Applies get_excitation_degree to an array of determinants and return only the mono excitations and the connections through exchange integrals
.. c:function:: get_excitation_degree_vector_mono_or_exchange_verbose
.. code:: text
subroutine get_excitation_degree_vector_mono_or_exchange_verbose(key1,key2,degree,Nint,sze,idx)
File: :file:`slater_rules.irp.f`
Applies get_excitation_degree to an array of determinants and return only the mono excitations and the connections through exchange integrals
.. c:function:: get_excitation_spin
.. code:: text
subroutine get_excitation_spin(det1,det2,exc,degree,phase,Nint)
File: :file:`slater_rules.irp.f`
Returns the excitation operators between two determinants and the phase
.. c:function:: get_excitation_spin_new
.. code:: text
subroutine get_excitation_spin_new(det1,det2,exc,degree,phase,Nint)
File: :file:`slater_rules.irp.f`
Returns the excitation operators between two determinants and the phase
.. c:function:: get_get_two_body_dm_ab_map_elements
.. code:: text
subroutine get_get_two_body_dm_ab_map_elements(j,k,l,sze,out_val,map)
File: :file:`two_body_dm_map.irp.f`
Returns multiple elements of the \rho_{ijkl}^{\alpha \beta }, all i for j,k,l fixed.
.. c:function:: get_index_in_psi_det_alpha_unique
.. code:: text
integer function get_index_in_psi_det_alpha_unique(key,Nint)
File: :file:`spindeterminants.irp.f`
Returns the index of the determinant in the ``psi_det_alpha_unique`` array
.. c:function:: get_index_in_psi_det_beta_unique
.. code:: text
integer function get_index_in_psi_det_beta_unique(key,Nint)
File: :file:`spindeterminants.irp.f`
Returns the index of the determinant in the ``psi_det_beta_unique`` array
.. c:function:: get_index_in_psi_det_sorted_bit
.. code:: text
integer function get_index_in_psi_det_sorted_bit(key,Nint)
File: :file:`connected_to_ref.irp.f`
Returns the index of the determinant in the ``psi_det_sorted_bit`` array
.. c:function:: get_mono_excitation
.. code:: text
subroutine get_mono_excitation(det1,det2,exc,phase,Nint)
File: :file:`slater_rules.irp.f`
Returns the excitation operator between two singly excited determinants and the phase
.. c:function:: get_mono_excitation_from_fock
.. code:: text
subroutine get_mono_excitation_from_fock(det_1,det_2,h,p,spin,phase,hij)
File: :file:`mono_excitations.irp.f`
.. c:function:: get_mono_excitation_spin
.. code:: text
subroutine get_mono_excitation_spin(det1,det2,exc,phase,Nint)
File: :file:`slater_rules.irp.f`
Returns the excitation operator between two singly excited determinants and the phase
.. c:function:: get_mono_excitation_spin_new
.. code:: text
subroutine get_mono_excitation_spin_new(det1,det2,exc,phase,Nint)
File: :file:`slater_rules.irp.f`
Returns the excitation operator between two singly excited determinants and the phase
.. c:function:: get_occ_from_key
.. code:: text
subroutine get_occ_from_key(key,occ,Nint)
File: :file:`slater_rules.irp.f`
Returns a list of occupation numbers from a bitstring
.. c:function:: get_phase
.. code:: text
subroutine get_phase(key1,key2,phase,Nint)
File: :file:`slater_rules.irp.f`
Returns the phase between key1 and key2
.. c:function:: get_phasemask_bit
.. code:: text
subroutine get_phasemask_bit(det1, pm, Nint)
File: :file:`slater_rules.irp.f`
.. c:function:: get_s2
.. code:: text
subroutine get_s2(key_i,key_j,Nint,s2)
File: :file:`s2.irp.f`
Returns <S^2>
.. c:function:: get_two_body_dm_ab_map_element
.. code:: text
double precision function get_two_body_dm_ab_map_element(i,j,k,l,map)
File: :file:`two_body_dm_map.irp.f`
Returns one value of the wo body density matrix \rho_{ijkl}^{\alpha \beta} defined as : \rho_{ijkl}^{\alpha \beta } = <\Psi|a^{\dagger}_{i\alpha} a^{\dagger}_{j\beta} a_{k\beta} a_{l\alpha}|\Psi>
.. c:function:: get_uj_s2_ui
.. code:: text
subroutine get_uJ_s2_uI(psi_keys_tmp,psi_coefs_tmp,n,nmax_coefs,nmax_keys,s2,nstates)
File: :file:`s2.irp.f`
returns the matrix elements of S^2 "s2(i,j)" between the "nstates" states psi_coefs_tmp(:,i) and psi_coefs_tmp(:,j)
.. c:function:: getmobiles
.. code:: text
subroutine getMobiles(key,key_mask, mobiles,Nint)
File: :file:`filter_connected.irp.f`
.. c:function:: give_index_of_doubly_occ_in_active_space
.. code:: text
subroutine give_index_of_doubly_occ_in_active_space(det_in,doubly_occupied_array)
File: :file:`useful_for_ovb.irp.f`
.. c:function:: h_u_0_stored
.. code:: text
subroutine H_u_0_stored(v_0,u_0,hmatrix,sze)
File: :file:`slater_rules.irp.f`
Computes v_0 = H|u_0>
n : number of determinants
uses the big_matrix_stored array
.. c:function:: i_h_j
.. code:: text
subroutine i_H_j(key_i,key_j,Nint,hij)
File: :file:`slater_rules.irp.f`
Returns <i|H|j> where i and j are determinants
.. c:function:: i_h_j_double_alpha_beta
.. code:: text
subroutine i_H_j_double_alpha_beta(key_i,key_j,Nint,hij)
File: :file:`slater_rules.irp.f`
Returns <i|H|j> where i and j are determinants differing by an opposite-spin double excitation
.. c:function:: i_h_j_double_spin
.. code:: text
subroutine i_H_j_double_spin(key_i,key_j,Nint,hij)
File: :file:`slater_rules.irp.f`
Returns <i|H|j> where i and j are determinants differing by a same-spin double excitation
.. c:function:: i_h_j_mono_spin
.. code:: text
subroutine i_H_j_mono_spin(key_i,key_j,Nint,spin,hij)
File: :file:`slater_rules.irp.f`
Returns <i|H|j> where i and j are determinants differing by a single excitation
.. c:function:: i_h_j_phase_out
.. code:: text
subroutine i_H_j_phase_out(key_i,key_j,Nint,hij,phase,exc,degree)
File: :file:`slater_rules.irp.f`
Returns <i|H|j> where i and j are determinants
.. c:function:: i_h_j_s2
.. code:: text
subroutine i_H_j_s2(key_i,key_j,Nint,hij,s2)
File: :file:`slater_rules.irp.f`
Returns <i|H|j> where i and j are determinants
.. c:function:: i_h_j_verbose
.. code:: text
subroutine i_H_j_verbose(key_i,key_j,Nint,hij,hmono,hdouble)
File: :file:`slater_rules.irp.f`
Returns <i|H|j> where i and j are determinants
.. c:function:: i_h_psi
.. code:: text
subroutine i_H_psi(key,keys,coef,Nint,Ndet,Ndet_max,Nstate,i_H_psi_array)
File: :file:`slater_rules.irp.f`
Computes <i|H|Psi> = \sum_J c_J <i|H|J>.
Uses filter_connected_i_H_psi0 to get all the |J> to which |i> is connected. The i_H_psi_minilist is much faster but requires to build the minilists
.. c:function:: i_h_psi_minilist
.. code:: text
subroutine i_H_psi_minilist(key,keys,idx_key,N_minilist,coef,Nint,Ndet,Ndet_max,Nstate,i_H_psi_array)
File: :file:`slater_rules.irp.f`
Computes <i|H|Psi> = \sum_J c_J <i|H|J>.
Uses filter_connected_i_H_psi0 to get all the |J> to which |i> is connected. The |J> are searched in short pre-computed lists.
.. c:function:: i_h_psi_sc2
.. code:: text
subroutine i_H_psi_SC2(key,keys,coef,Nint,Ndet,Ndet_max,Nstate,i_H_psi_array,idx_repeat)
File: :file:`slater_rules.irp.f`
<key|H|psi> for the various Nstate
returns in addition
the array of the index of the non connected determinants to key1
in order to know what double excitation can be repeated on key1
idx_repeat(0) is the number of determinants that can be used
to repeat the excitations
.. c:function:: i_h_psi_sc2_verbose
.. code:: text
subroutine i_H_psi_SC2_verbose(key,keys,coef,Nint,Ndet,Ndet_max,Nstate,i_H_psi_array,idx_repeat)
File: :file:`slater_rules.irp.f`
<key|H|psi> for the various Nstate
returns in addition
the array of the index of the non connected determinants to key1
in order to know what double excitation can be repeated on key1
idx_repeat(0) is the number of determinants that can be used
to repeat the excitations
.. c:function:: i_h_psi_sec_ord
.. code:: text
subroutine i_H_psi_sec_ord(key,keys,coef,Nint,Ndet,Ndet_max,Nstate,i_H_psi_array,idx_interaction,interactions)
File: :file:`slater_rules.irp.f`
<key|H|psi> for the various Nstates
.. c:function:: i_s2_psi_minilist
.. code:: text
subroutine i_S2_psi_minilist(key,keys,idx_key,N_minilist,coef,Nint,Ndet,Ndet_max,Nstate,i_S2_psi_array)
File: :file:`s2.irp.f`
Computes <i|S2|Psi> = \sum_J c_J <i|S2|J>.
Uses filter_connected_i_H_psi0 to get all the |J> to which |i> is connected. The |J> are searched in short pre-computed lists.
.. c:function:: insert_into_two_body_dm_ab_map
.. code:: text
subroutine insert_into_two_body_dm_ab_map(n_product,buffer_i, buffer_values, thr)
File: :file:`two_body_dm_map.irp.f`
Create new entry into two_body_dm_ab_map, or accumulate in an existing entry
.. c:function:: insert_into_two_body_dm_big_array
.. code:: text
subroutine insert_into_two_body_dm_big_array(big_array,dim1,dim2,dim3,dim4,contrib,h1,p1,h2,p2)
File: :file:`two_body_dm_map.irp.f`
.. c:function:: is_connected_to
.. code:: text
logical function is_connected_to(key,keys,Nint,Ndet)
File: :file:`connected_to_ref.irp.f`
.. c:function:: is_connected_to_by_mono
.. code:: text
logical function is_connected_to_by_mono(key,keys,Nint,Ndet)
File: :file:`connected_to_ref.irp.f`
.. c:function:: is_generable_cassd
.. code:: text
logical function is_generable_cassd(det1, det2, Nint)
File: :file:`connected_to_ref.irp.f`
.. c:function:: is_in_wavefunction
.. code:: text
logical function is_in_wavefunction(key,Nint)
File: :file:`connected_to_ref.irp.f`
True if the determinant ``det`` is in the wave function
.. c:function:: is_spin_flip_possible
.. code:: text
logical function is_spin_flip_possible(key_in,i_flip,ispin)
File: :file:`create_excitations.irp.f`
returns .True. if the spin-flip of spin ispin in the orbital i_flip is possible on key_in
.. c:function:: make_s2_eigenfunction
.. code:: text
subroutine make_s2_eigenfunction
File: :file:`occ_pattern.irp.f`
.. c:function:: n_closed_shell
.. code:: text
integer function n_closed_shell(det_in,nint)
File: :file:`useful_for_ovb.irp.f`
.. c:function:: n_closed_shell_cas
.. code:: text
integer function n_closed_shell_cas(det_in,nint)
File: :file:`useful_for_ovb.irp.f`
.. c:function:: n_open_shell
.. code:: text
integer function n_open_shell(det_in,nint)
File: :file:`useful_for_ovb.irp.f`
.. c:function:: neutral_no_hund_in_couple
.. code:: text
subroutine neutral_no_hund_in_couple(det_in,n_couples,couples,couples_out)
File: :file:`useful_for_ovb.irp.f`
n_couples is the number of couples of orbitals to be checked couples(i,1) = first orbital of the ith couple couples(i,2) = second orbital of the ith couple returns the array couples_out couples_out(i) = .True. if det_in contains an orbital empty in the ith couple AND an orbital doubly occupied in the ith couple
.. c:function:: occ_pattern_of_det
.. code:: text
subroutine occ_pattern_of_det(d,o,Nint)
File: :file:`occ_pattern.irp.f`
Transforms a determinant to an occupation pattern
occ(:,1) : Single occupations
occ(:,2) : Double occupations
.. c:function:: occ_pattern_search_key
.. code:: text
integer*8 function occ_pattern_search_key(det,Nint)
File: :file:`connected_to_ref.irp.f`
Return an integer*8 corresponding to a determinant index for searching
.. c:function:: occ_pattern_to_dets
.. code:: text
subroutine occ_pattern_to_dets(o,d,sze,n_alpha,Nint)
File: :file:`occ_pattern.irp.f`
Generate all possible determinants for a give occ_pattern
.. c:function:: occ_pattern_to_dets_size
.. code:: text
subroutine occ_pattern_to_dets_size(o,sze,n_alpha,Nint)
File: :file:`occ_pattern.irp.f`
Number of possible determinants for a given occ_pattern
.. c:function:: pull_pt2
.. code:: text
subroutine pull_pt2(zmq_socket_pull,pt2,norm_pert,H_pert_diag,i_generator,N_st,n,task_id)
File: :file:`H_apply.irp.f`
Pull PT2 calculation in the collector
.. c:function:: push_pt2
.. code:: text
subroutine push_pt2(zmq_socket_push,pt2,norm_pert,H_pert_diag,i_generator,N_st,task_id)
File: :file:`H_apply.irp.f`
Push PT2 calculation to the collector
.. c:function:: read_dets
.. code:: text
subroutine read_dets(det,Nint,Ndet)
File: :file:`determinants.irp.f`
Reads the determinants from the EZFIO file
.. c:function:: remove_duplicates_in_psi_det
.. code:: text
subroutine remove_duplicates_in_psi_det(found_duplicates)
File: :file:`H_apply.irp.f`
Removes duplicate determinants in the wave function.
.. c:function:: resize_h_apply_buffer
.. code:: text
subroutine resize_H_apply_buffer(new_size,iproc)
File: :file:`H_apply.irp.f`
Resizes the H_apply buffer of proc iproc. The buffer lock should be set before calling this function.
.. c:function:: s2_u_0
.. code:: text
subroutine S2_u_0(v_0,u_0,n,keys_tmp,Nint)
File: :file:`s2.irp.f`
Computes v_0 = S^2|u_0>
n : number of determinants
.. c:function:: s2_u_0_nstates
.. code:: text
subroutine S2_u_0_nstates(v_0,u_0,n,keys_tmp,Nint,N_st,sze_8)
File: :file:`s2.irp.f`
Computes v_0 = S^2|u_0>
n : number of determinants
.. c:function:: save_natural_mos
.. code:: text
subroutine save_natural_mos
File: :file:`density_matrix.irp.f`
Save natural orbitals, obtained by diagonalization of the one-body density matrix in the MO basis
.. c:function:: save_ref_determinant
.. code:: text
subroutine save_ref_determinant
File: :file:`determinants.irp.f`
.. c:function:: save_wavefunction
.. code:: text
subroutine save_wavefunction
File: :file:`determinants.irp.f`
Save the wave function into the EZFIO file
.. c:function:: save_wavefunction_general
.. code:: text
subroutine save_wavefunction_general(ndet,nstates,psidet,dim_psicoef,psicoef)
File: :file:`determinants.irp.f`
Save the wave function into the EZFIO file
.. c:function:: save_wavefunction_specified
.. code:: text
subroutine save_wavefunction_specified(ndet,nstates,psidet,psicoef,ndetsave,index_det_save)
File: :file:`determinants.irp.f`
Save the wave function into the EZFIO file
.. c:function:: save_wavefunction_truncated
.. code:: text
subroutine save_wavefunction_truncated(thr)
File: :file:`determinants.irp.f`
Save the wave function into the EZFIO file
.. c:function:: save_wavefunction_unsorted
.. code:: text
subroutine save_wavefunction_unsorted
File: :file:`determinants.irp.f`
Save the wave function into the EZFIO file
.. c:function:: set_bit_to_integer
.. code:: text
subroutine set_bit_to_integer(i_physical,key,Nint)
File: :file:`create_excitations.irp.f`
.. c:function:: set_natural_mos
.. code:: text
subroutine set_natural_mos
File: :file:`density_matrix.irp.f`
Set natural orbitals, obtained by diagonalization of the one-body density matrix in the MO basis
.. c:function:: sort_dets_ab
.. code:: text
subroutine sort_dets_ab(key, idx, shortcut, N_key, Nint)
File: :file:`sort_dets_ab.irp.f`
Uncodumented : TODO
.. c:function:: sort_dets_ab_v
.. code:: text
subroutine sort_dets_ab_v(key_in, key_out, idx, shortcut, version, N_key, Nint)
File: :file:`sort_dets_ab.irp.f`
Uncodumented : TODO
.. c:function:: sort_dets_ba_v
.. code:: text
subroutine sort_dets_ba_v(key_in, key_out, idx, shortcut, version, N_key, Nint)
File: :file:`sort_dets_ab.irp.f`
Uncodumented : TODO
.. c:function:: sort_dets_by_det_search_key
.. code:: text
subroutine sort_dets_by_det_search_key(Ndet, det_in, coef_in, sze, det_out, coef_out, N_st)
File: :file:`determinants.irp.f`
Determinants are sorted are sorted according to their det_search_key. Useful to accelerate the search of a random determinant in the wave function.
/!\ The first dimension of coef_out and coef_in need to be psi_det_size
.. c:function:: spin_det_search_key
.. code:: text
integer*8 function spin_det_search_key(det,Nint)
File: :file:`spindeterminants.irp.f`
Return an integer(8) corresponding to a determinant index for searching
.. c:function:: tamiser
.. code:: text
subroutine tamiser(key, idx, no, n, Nint, N_key)
File: :file:`sort_dets_ab.irp.f`
Uncodumented : TODO
.. c:function:: u_0_h_u_0_stored
.. code:: text
subroutine u_0_H_u_0_stored(e_0,u_0,hmatrix,sze)
File: :file:`slater_rules.irp.f`
Computes e_0 = <u_0|H|u_0>
n : number of determinants
uses the big_matrix_stored array
.. c:function:: u_0_s2_u_0
.. code:: text
subroutine u_0_S2_u_0(e_0,u_0,n,keys_tmp,Nint,N_st,sze_8)
File: :file:`s2.irp.f`
Computes e_0 = <u_0|S2|u_0>/<u_0|u_0>
n : number of determinants
.. c:function:: wf_of_psi_bilinear_matrix
.. code:: text
subroutine wf_of_psi_bilinear_matrix(truncate)
File: :file:`spindeterminants.irp.f`
Generate a wave function containing all possible products of alpha and beta determinants
.. c:function:: write_spindeterminants
.. code:: text
subroutine write_spindeterminants
File: :file:`spindeterminants.irp.f`
.. c:function:: zmq_get_n_det
.. code:: text
integer function zmq_get_N_det(zmq_to_qp_run_socket, worker_id)
File: :file:`zmq.irp.f_template_379`
Get N_det from the qp_run scheduler
.. c:function:: zmq_get_n_det_alpha_unique
.. code:: text
integer function zmq_get_N_det_alpha_unique(zmq_to_qp_run_socket, worker_id)
File: :file:`zmq.irp.f_template_379`
Get N_det_alpha_unique from the qp_run scheduler
.. c:function:: zmq_get_n_det_beta_unique
.. code:: text
integer function zmq_get_N_det_beta_unique(zmq_to_qp_run_socket, worker_id)
File: :file:`zmq.irp.f_template_379`
Get N_det_beta_unique from the qp_run scheduler
.. c:function:: zmq_get_n_states
.. code:: text
integer function zmq_get_N_states(zmq_to_qp_run_socket, worker_id)
File: :file:`zmq.irp.f_template_379`
Get N_states from the qp_run scheduler
.. c:function:: zmq_get_psi
.. code:: text
integer function zmq_get_psi(zmq_to_qp_run_socket, worker_id)
File: :file:`zmq.irp.f`
Get the wave function from the qp_run scheduler
.. c:function:: zmq_get_psi_bilinear
.. code:: text
integer function zmq_get_psi_bilinear(zmq_to_qp_run_socket, worker_id)
File: :file:`zmq.irp.f`
Get the wave function from the qp_run scheduler
.. c:function:: zmq_get_psi_bilinear_matrix_columns
.. code:: text
integer*8 function zmq_get_psi_bilinear_matrix_columns(zmq_to_qp_run_socket,worker_id)
File: :file:`zmq.irp.f_template_500`
Get psi_bilinear_matrix_columns on the qp_run scheduler
.. c:function:: zmq_get_psi_bilinear_matrix_order
.. code:: text
integer*8 function zmq_get_psi_bilinear_matrix_order(zmq_to_qp_run_socket,worker_id)
File: :file:`zmq.irp.f_template_500`
Get psi_bilinear_matrix_order on the qp_run scheduler
.. c:function:: zmq_get_psi_bilinear_matrix_rows
.. code:: text
integer*8 function zmq_get_psi_bilinear_matrix_rows(zmq_to_qp_run_socket,worker_id)
File: :file:`zmq.irp.f_template_500`
Get psi_bilinear_matrix_rows on the qp_run scheduler
.. c:function:: zmq_get_psi_bilinear_matrix_values
.. code:: text
integer*8 function zmq_get_psi_bilinear_matrix_values(zmq_to_qp_run_socket,worker_id)
File: :file:`zmq.irp.f_template_564`
get psi_bilinear_matrix_values on the qp_run scheduler
.. c:function:: zmq_get_psi_coef
.. code:: text
integer*8 function zmq_get_psi_coef(zmq_to_qp_run_socket,worker_id)
File: :file:`zmq.irp.f_template_564`
get psi_coef on the qp_run scheduler
.. c:function:: zmq_get_psi_det
.. code:: text
integer*8 function zmq_get_psi_det(zmq_to_qp_run_socket,worker_id)
File: :file:`zmq.irp.f_template_440`
Get psi_det on the qp_run scheduler
.. c:function:: zmq_get_psi_det_alpha_unique
.. code:: text
integer*8 function zmq_get_psi_det_alpha_unique(zmq_to_qp_run_socket,worker_id)
File: :file:`zmq.irp.f_template_440`
Get psi_det_alpha_unique on the qp_run scheduler
.. c:function:: zmq_get_psi_det_beta_unique
.. code:: text
integer*8 function zmq_get_psi_det_beta_unique(zmq_to_qp_run_socket,worker_id)
File: :file:`zmq.irp.f_template_440`
Get psi_det_beta_unique on the qp_run scheduler
.. c:function:: zmq_get_psi_det_size
.. code:: text
integer function zmq_get_psi_det_size(zmq_to_qp_run_socket, worker_id)
File: :file:`zmq.irp.f_template_379`
Get psi_det_size from the qp_run scheduler
.. c:function:: zmq_get_psi_notouch
.. code:: text
integer function zmq_get_psi_notouch(zmq_to_qp_run_socket, worker_id)
File: :file:`zmq.irp.f`
Get the wave function from the qp_run scheduler
.. c:function:: zmq_put_n_det
.. code:: text
integer function zmq_put_N_det(zmq_to_qp_run_socket,worker_id)
File: :file:`zmq.irp.f_template_379`
Put N_det on the qp_run scheduler
.. c:function:: zmq_put_n_det_alpha_unique
.. code:: text
integer function zmq_put_N_det_alpha_unique(zmq_to_qp_run_socket,worker_id)
File: :file:`zmq.irp.f_template_379`
Put N_det_alpha_unique on the qp_run scheduler
.. c:function:: zmq_put_n_det_beta_unique
.. code:: text
integer function zmq_put_N_det_beta_unique(zmq_to_qp_run_socket,worker_id)
File: :file:`zmq.irp.f_template_379`
Put N_det_beta_unique on the qp_run scheduler
.. c:function:: zmq_put_n_states
.. code:: text
integer function zmq_put_N_states(zmq_to_qp_run_socket,worker_id)
File: :file:`zmq.irp.f_template_379`
Put N_states on the qp_run scheduler
.. c:function:: zmq_put_psi
.. code:: text
integer function zmq_put_psi(zmq_to_qp_run_socket,worker_id)
File: :file:`zmq.irp.f`
Put the wave function on the qp_run scheduler
.. c:function:: zmq_put_psi_bilinear
.. code:: text
integer function zmq_put_psi_bilinear(zmq_to_qp_run_socket,worker_id)
File: :file:`zmq.irp.f`
Put the wave function on the qp_run scheduler
.. c:function:: zmq_put_psi_bilinear_matrix_columns
.. code:: text
integer*8 function zmq_put_psi_bilinear_matrix_columns(zmq_to_qp_run_socket,worker_id)
File: :file:`zmq.irp.f_template_500`
Put psi_bilinear_matrix_columns on the qp_run scheduler
.. c:function:: zmq_put_psi_bilinear_matrix_order
.. code:: text
integer*8 function zmq_put_psi_bilinear_matrix_order(zmq_to_qp_run_socket,worker_id)
File: :file:`zmq.irp.f_template_500`
Put psi_bilinear_matrix_order on the qp_run scheduler
.. c:function:: zmq_put_psi_bilinear_matrix_rows
.. code:: text
integer*8 function zmq_put_psi_bilinear_matrix_rows(zmq_to_qp_run_socket,worker_id)
File: :file:`zmq.irp.f_template_500`
Put psi_bilinear_matrix_rows on the qp_run scheduler
.. c:function:: zmq_put_psi_bilinear_matrix_values
.. code:: text
integer*8 function zmq_put_psi_bilinear_matrix_values(zmq_to_qp_run_socket,worker_id)
File: :file:`zmq.irp.f_template_564`
Put psi_bilinear_matrix_values on the qp_run scheduler
.. c:function:: zmq_put_psi_coef
.. code:: text
integer*8 function zmq_put_psi_coef(zmq_to_qp_run_socket,worker_id)
File: :file:`zmq.irp.f_template_564`
Put psi_coef on the qp_run scheduler
.. c:function:: zmq_put_psi_det
.. code:: text
integer*8 function zmq_put_psi_det(zmq_to_qp_run_socket,worker_id)
File: :file:`zmq.irp.f_template_440`
Put psi_det on the qp_run scheduler
.. c:function:: zmq_put_psi_det_alpha_unique
.. code:: text
integer*8 function zmq_put_psi_det_alpha_unique(zmq_to_qp_run_socket,worker_id)
File: :file:`zmq.irp.f_template_440`
Put psi_det_alpha_unique on the qp_run scheduler
.. c:function:: zmq_put_psi_det_beta_unique
.. code:: text
integer*8 function zmq_put_psi_det_beta_unique(zmq_to_qp_run_socket,worker_id)
File: :file:`zmq.irp.f_template_440`
Put psi_det_beta_unique on the qp_run scheduler
.. c:function:: zmq_put_psi_det_size
.. code:: text
integer function zmq_put_psi_det_size(zmq_to_qp_run_socket,worker_id)
File: :file:`zmq.irp.f_template_379`
Put psi_det_size on the qp_run scheduler