========== MRPT_Utils ========== Needed Modules ============== .. Do not edit this section It was auto-generated .. by the `update_README.py` script. Documentation ============= .. Do not edit this section It was auto-generated .. by the `update_README.py` script. Needed Modules ============== .. Do not edit this section It was auto-generated .. by the `update_README.py` script. .. image:: tree_dependency.png * `Determinants `_ * `Davidson `_ * `Psiref_CAS `_ Documentation ============= .. Do not edit this section It was auto-generated .. by the `update_README.py` script. `a_coef `_ Undocumented `add_poly `_ Add two polynomials D(t) =! D(t) +( B(t)+C(t)) `add_poly_multiply `_ Add a polynomial multiplied by a constant D(t) =! D(t) +( cst * B(t)) `apply_exc_to_psi `_ apply a contracted excitation to psi_in_out whose coefficients are psi_in_out_coef hole_particle = 1 ===> creation of an electron in psi_in_out = -1 ===> annhilation of an electron in psi_in_out orb ===> is the index of orbital where you want wether to create or annhilate an electron spin_exc ===> is the spin of the electron (1 == alpha) (2 == beta) the wave function gets out normalized to unity .br norm_out is the sum of the squared of the coefficients on which the excitation has been possible `apply_rotation `_ Apply the rotation found by find_rotation `approx_dble `_ Undocumented `b_coef `_ Undocumented `binom `_ Binomial coefficients `binom_func `_ .. math :: .br \frac{i!}{j!(i-j)!} .br `binom_transp `_ Binomial coefficients `ci_dressed_pt2_new_eigenvectors `_ Eigenvectors/values of the CI matrix `ci_dressed_pt2_new_eigenvectors_s2 `_ Eigenvectors/values of the CI matrix `ci_dressed_pt2_new_energy `_ N_states lowest eigenvalues of the CI matrix `ci_electronic_dressed_pt2_new_energy `_ Eigenvectors/values of the CI matrix `contrib_1h2p_dm_based `_ Undocumented `contrib_2h1p_dm_based `_ Undocumented `corr_e_from_1h1p `_ Undocumented `coulomb_value_no_check `_ Computes `dble_fact `_ Undocumented `dble_fact_even `_ n!! `dble_fact_odd `_ n!! `dble_logfact `_ n!! `ddfact2 `_ Undocumented `degree_max_integration_lebedev `_ integrate correctly a polynom of order "degree_max_integration_lebedev" needed for the angular integration according to LEBEDEV formulae `delta_ij_mrpt `_ Dressing matrix in N_det basis `diag_h_mat_elem_no_elec_check `_ Computes `diag_h_mat_elem_no_elec_check_no_exchange `_ Computes `do_third_order_1h1p `_ If true, compute the third order contribution for the 1h1p `dset_order `_ array A has already been sorted, and iorder has contains the new order of elements of A. This subroutine changes the order of x to match the new order of A. `dset_order_big `_ array A has already been sorted, and iorder has contains the new order of elements of A. This subroutine changes the order of x to match the new order of A. This is a version for very large arrays where the indices need to be in integer*8 format `dsort `_ Sort array x(isize). iorder in input should be (1,2,3,...,isize), and in output contains the new order of the elements. `dtranspose `_ Transpose input matrix A into output matrix B `energy_cas_dyall `_ Undocumented `energy_cas_dyall_no_exchange `_ Undocumented `erf0 `_ Undocumented `extrapolate_data `_ Extrapolate the data to the FCI limit `f_integral `_ function that calculates the following integral \int_{\-infty}^{+\infty} x^n \exp(-p x^2) dx `fact `_ n! `fact_inv `_ 1/n! `find_connections_previous `_ Undocumented `find_rotation `_ Find A.C = B `fock_core_inactive `_ inactive part of the fock operator with contributions only from the inactive `fock_core_inactive_from_act `_ inactive part of the fock operator with contributions only from the active `fock_core_inactive_total `_ inactive part of the fock operator `fock_core_inactive_total_spin_trace `_ inactive part of the fock operator `fock_operator_active_from_core_inact `_ active part of the fock operator with contributions only from the inactive `fock_virt_from_act `_ virtual part of the fock operator with contributions only from the active `fock_virt_from_core_inact `_ fock operator for the virtuals that comes from the doubly occupied orbitals `fock_virt_total `_ inactive part of the fock operator `fock_virt_total_spin_trace `_ inactive part of the fock operator `gammln `_ Undocumented `gammp `_ Undocumented `gaussian_product `_ Gaussian product in 1D. e^{-a (x-x_A)^2} e^{-b (x-x_B)^2} = K_{ab}^x e^{-p (x-x_P)^2} `gaussian_product_x `_ Gaussian product in 1D. e^{-a (x-x_A)^2} e^{-b (x-x_B)^2} = K_{ab}^x e^{-p (x-x_P)^2} `gcf `_ Undocumented `gen_det_ref_idx `_ Undocumented `gen_det_ref_shortcut `_ Undocumented `gen_det_ref_sorted `_ Undocumented `gen_det_ref_version `_ Undocumented `get_delta_e_dyall `_ routine that returns the delta_e with the Moller Plesset and Dyall operators .br with det_1 being a determinant from the cas, and det_2 being a perturber .br Delta_e(det_1,det_2) = sum (hole) epsilon(hole) + sum(part) espilon(part) + delta_e(act) .br where hole is necessary in the inactive, part necessary in the virtuals .br and delta_e(act) is obtained from the contracted application of the excitation .br operator in the active space that lead from det_1 to det_2 `get_delta_e_dyall_general_mp `_ routine that returns the delta_e with the Moller Plesset and Dyall operators .br with det_1 being a determinant from the cas, and det_2 being a perturber .br Delta_e(det_1,det_2) = sum (hole) epsilon(hole) + sum(part) espilon(part) + delta_e(act) .br where hole is necessary in the inactive, part necessary in the virtuals .br and delta_e(act) is obtained as the sum of energies of excitations a la MP .br `get_inverse `_ Returns the inverse of the square matrix A `get_pseudo_inverse `_ Find C = A^-1 `give_1h1p_contrib `_ Undocumented `give_1h1p_only_doubles_spin_cross `_ Undocumented `give_1h1p_sec_order_singles_contrib `_ Undocumented `give_1h2p_contrib `_ Undocumented `give_1h2p_contrib_sec_order `_ Undocumented `give_1h2p_new `_ Undocumented `give_1p_sec_order_singles_contrib `_ Undocumented `give_2h1p_contrib `_ Undocumented `give_2h1p_contrib_sec_order `_ Undocumented `give_2h1p_new `_ Undocumented `give_2h2p `_ Undocumented `give_2p_new `_ Undocumented `give_active_part_determinant `_ Undocumented `give_core_inactive_part_determinant `_ Undocumented `give_explicit_poly_and_gaussian `_ Transforms the product of (x-x_A)^a(1) (x-x_B)^b(1) (x-x_A)^a(2) (y-y_B)^b(2) (z-z_A)^a(3) (z-z_B)^b(3) exp(-(r-A)^2 alpha) exp(-(r-B)^2 beta) into fact_k * [ sum (l_x = 0,i_order(1)) P_new(l_x,1) * (x-P_center(1))^l_x ] exp (- p (x-P_center(1))^2 ) * [ sum (l_y = 0,i_order(2)) P_new(l_y,2) * (y-P_center(2))^l_y ] exp (- p (y-P_center(2))^2 ) * [ sum (l_z = 0,i_order(3)) P_new(l_z,3) * (z-P_center(3))^l_z ] exp (- p (z-P_center(3))^2 ) `give_explicit_poly_and_gaussian_double `_ Transforms the product of (x-x_A)^a(1) (x-x_B)^b(1) (x-x_A)^a(2) (y-y_B)^b(2) (z-z_A)^a(3) (z-z_B)^b(3) exp(-(r-A)^2 alpha) exp(-(r-B)^2 beta) exp(-(r-Nucl_center)^2 gama .br into fact_k * [ sum (l_x = 0,i_order(1)) P_new(l_x,1) * (x-P_center(1))^l_x ] exp (- p (x-P_center(1))^2 ) * [ sum (l_y = 0,i_order(2)) P_new(l_y,2) * (y-P_center(2))^l_y ] exp (- p (y-P_center(2))^2 ) * [ sum (l_z = 0,i_order(3)) P_new(l_z,3) * (z-P_center(3))^l_z ] exp (- p (z-P_center(3))^2 ) `give_explicit_poly_and_gaussian_x `_ Transform the product of (x-x_A)^a(1) (x-x_B)^b(1) (x-x_A)^a(2) (y-y_B)^b(2) (z-z_A)^a(3) (z-z_B)^b(3) exp(-(r-A)^2 alpha) exp(-(r-B)^2 beta) into fact_k (x-x_P)^iorder(1) (y-y_P)^iorder(2) (z-z_P)^iorder(3) exp(-p(r-P)^2) `give_holes_and_particles_in_active_space `_ returns the holes and particles operators WITHIN THE ACTIVE SPACE that connect det_1 and det_2. By definition, the holes/particles are such that one starts from det_1 and goes to det_2 .br n_holes is the total number of holes n_particles is the total number of particles n_holes_spin is the number of number of holes per spin (1=alpha, 2=beta) n_particles_spin is the number of number of particles per spin (1=alpha, 2=beta) holes_active_list is the index of the holes per spin, that ranges from 1 to n_act_orb particles_active_list is the index of the particles per spin, that ranges from 1 to n_act_orb `give_holes_in_inactive_space `_ returns the holes operators WITHIN THE INACTIVE SPACE that has lead to det_1. .br n_holes is the total number of holes n_holes_spin is the number of number of holes per spin (1=alpha, 2=beta) holes_inactive_list is the index of the holes per spin, that ranges from 1 to mo_tot_num `give_particles_in_virt_space `_ returns the holes operators WITHIN THE VIRTUAL SPACE that has lead to det_1. .br n_particles is the total number of particles n_particles_spin is the number of number of particles per spin (1=alpha, 2=beta) particles_inactive_list is the index of the particles per spin, that ranges from 1 to mo_tot_num `give_singles_and_partial_doubles_1h1p_contrib `_ Undocumented `give_virt_part_determinant `_ Undocumented `gser `_ Undocumented h_apply_mrpt Calls H_apply on the HF determinant and selects all connected single and double excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script. h_apply_mrpt_1h Calls H_apply on the HF determinant and selects all connected single and double excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script. h_apply_mrpt_1h1p Calls H_apply on the HF determinant and selects all connected single and double excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script. h_apply_mrpt_1h1p_diexc Undocumented h_apply_mrpt_1h1p_diexcorg Generate all double excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided. h_apply_mrpt_1h1p_diexcp Undocumented h_apply_mrpt_1h1p_monoexc Generate all single excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided. h_apply_mrpt_1h2p Calls H_apply on the HF determinant and selects all connected single and double excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script. h_apply_mrpt_1h2p_diexc Undocumented h_apply_mrpt_1h2p_diexcorg Generate all double excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided. h_apply_mrpt_1h2p_diexcp Undocumented h_apply_mrpt_1h2p_monoexc Generate all single excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided. h_apply_mrpt_1h_diexc Undocumented h_apply_mrpt_1h_diexcorg Generate all double excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided. h_apply_mrpt_1h_diexcp Undocumented h_apply_mrpt_1h_monoexc Generate all single excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided. h_apply_mrpt_1p Calls H_apply on the HF determinant and selects all connected single and double excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script. h_apply_mrpt_1p_diexc Undocumented h_apply_mrpt_1p_diexcorg Generate all double excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided. h_apply_mrpt_1p_diexcp Undocumented h_apply_mrpt_1p_monoexc Generate all single excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided. h_apply_mrpt_2h Calls H_apply on the HF determinant and selects all connected single and double excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script. h_apply_mrpt_2h1p Calls H_apply on the HF determinant and selects all connected single and double excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script. h_apply_mrpt_2h1p_diexc Undocumented h_apply_mrpt_2h1p_diexcorg Generate all double excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided. h_apply_mrpt_2h1p_diexcp Undocumented h_apply_mrpt_2h1p_monoexc Generate all single excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided. h_apply_mrpt_2h2p Calls H_apply on the HF determinant and selects all connected single and double excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script. h_apply_mrpt_2h2p_diexc Undocumented h_apply_mrpt_2h2p_diexcorg Generate all double excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided. h_apply_mrpt_2h2p_diexcp Undocumented h_apply_mrpt_2h2p_monoexc Generate all single excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided. h_apply_mrpt_2h_diexc Undocumented h_apply_mrpt_2h_diexcorg Generate all double excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided. h_apply_mrpt_2h_diexcp Undocumented h_apply_mrpt_2h_monoexc Generate all single excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided. h_apply_mrpt_2p Calls H_apply on the HF determinant and selects all connected single and double excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script. h_apply_mrpt_2p_diexc Undocumented h_apply_mrpt_2p_diexcorg Generate all double excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided. h_apply_mrpt_2p_diexcp Undocumented h_apply_mrpt_2p_monoexc Generate all single excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided. h_apply_mrpt_diexc Undocumented h_apply_mrpt_diexcorg Generate all double excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided. h_apply_mrpt_diexcp Undocumented h_apply_mrpt_monoexc Generate all single excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided. `heap_dsort `_ Sort array x(isize) using the heap sort algorithm. iorder in input should be (1,2,3,...,isize), and in output contains the new order of the elements. `heap_dsort_big `_ Sort array x(isize) using the heap sort algorithm. iorder in input should be (1,2,3,...,isize), and in output contains the new order of the elements. This is a version for very large arrays where the indices need to be in integer*8 format `heap_i2sort `_ Sort array x(isize) using the heap sort algorithm. iorder in input should be (1,2,3,...,isize), and in output contains the new order of the elements. `heap_i2sort_big `_ Sort array x(isize) using the heap sort algorithm. iorder in input should be (1,2,3,...,isize), and in output contains the new order of the elements. This is a version for very large arrays where the indices need to be in integer*8 format `heap_i8sort `_ Sort array x(isize) using the heap sort algorithm. iorder in input should be (1,2,3,...,isize), and in output contains the new order of the elements. `heap_i8sort_big `_ Sort array x(isize) using the heap sort algorithm. iorder in input should be (1,2,3,...,isize), and in output contains the new order of the elements. This is a version for very large arrays where the indices need to be in integer*8 format `heap_isort `_ Sort array x(isize) using the heap sort algorithm. iorder in input should be (1,2,3,...,isize), and in output contains the new order of the elements. `heap_isort_big `_ Sort array x(isize) using the heap sort algorithm. iorder in input should be (1,2,3,...,isize), and in output contains the new order of the elements. This is a version for very large arrays where the indices need to be in integer*8 format `heap_sort `_ Sort array x(isize) using the heap sort algorithm. iorder in input should be (1,2,3,...,isize), and in output contains the new order of the elements. `heap_sort_big `_ Sort array x(isize) using the heap sort algorithm. iorder in input should be (1,2,3,...,isize), and in output contains the new order of the elements. This is a version for very large arrays where the indices need to be in integer*8 format `hermite `_ Hermite polynomial `hmatrix_dressed_pt2_new `_ Undocumented `hmatrix_dressed_pt2_new_symmetrized `_ Undocumented `i2radix_sort `_ Sort integer array x(isize) using the radix sort algorithm. iorder in input should be (1,2,3,...,isize), and in output contains the new order of the elements. iradix should be -1 in input. `i2set_order `_ array A has already been sorted, and iorder has contains the new order of elements of A. This subroutine changes the order of x to match the new order of A. `i2set_order_big `_ array A has already been sorted, and iorder has contains the new order of elements of A. This subroutine changes the order of x to match the new order of A. This is a version for very large arrays where the indices need to be in integer*8 format `i2sort `_ Sort array x(isize). iorder in input should be (1,2,3,...,isize), and in output contains the new order of the elements. `i8radix_sort `_ Sort integer array x(isize) using the radix sort algorithm. iorder in input should be (1,2,3,...,isize), and in output contains the new order of the elements. iradix should be -1 in input. `i8radix_sort_big `_ Sort integer array x(isize) using the radix sort algorithm. iorder in input should be (1,2,3,...,isize), and in output contains the new order of the elements. iradix should be -1 in input. `i8set_order `_ array A has already been sorted, and iorder has contains the new order of elements of A. This subroutine changes the order of x to match the new order of A. `i8set_order_big `_ array A has already been sorted, and iorder has contains the new order of elements of A. This subroutine changes the order of x to match the new order of A. This is a version for very large arrays where the indices need to be in integer*8 format `i8sort `_ Sort array x(isize). iorder in input should be (1,2,3,...,isize), and in output contains the new order of the elements. `i_h_j_dyall `_ Returns where i and j are determinants `i_h_j_dyall_no_exchange `_ Returns where i and j are determinants `insertion_dsort `_ Sort array x(isize) using the insertion sort algorithm. iorder in input should be (1,2,3,...,isize), and in output contains the new order of the elements. `insertion_dsort_big `_ Sort array x(isize) using the insertion sort algorithm. iorder in input should be (1,2,3,...,isize), and in output contains the new order of the elements. This is a version for very large arrays where the indices need to be in integer*8 format `insertion_i2sort `_ Sort array x(isize) using the insertion sort algorithm. iorder in input should be (1,2,3,...,isize), and in output contains the new order of the elements. `insertion_i2sort_big `_ Sort array x(isize) using the insertion sort algorithm. iorder in input should be (1,2,3,...,isize), and in output contains the new order of the elements. This is a version for very large arrays where the indices need to be in integer*8 format `insertion_i8sort `_ Sort array x(isize) using the insertion sort algorithm. iorder in input should be (1,2,3,...,isize), and in output contains the new order of the elements. `insertion_i8sort_big `_ Sort array x(isize) using the insertion sort algorithm. iorder in input should be (1,2,3,...,isize), and in output contains the new order of the elements. This is a version for very large arrays where the indices need to be in integer*8 format `insertion_isort `_ Sort array x(isize) using the insertion sort algorithm. iorder in input should be (1,2,3,...,isize), and in output contains the new order of the elements. `insertion_isort_big `_ Sort array x(isize) using the insertion sort algorithm. iorder in input should be (1,2,3,...,isize), and in output contains the new order of the elements. This is a version for very large arrays where the indices need to be in integer*8 format `insertion_sort `_ Sort array x(isize) using the insertion sort algorithm. iorder in input should be (1,2,3,...,isize), and in output contains the new order of the elements. `insertion_sort_big `_ Sort array x(isize) using the insertion sort algorithm. iorder in input should be (1,2,3,...,isize), and in output contains the new order of the elements. This is a version for very large arrays where the indices need to be in integer*8 format `inv_int `_ 1/i `iradix_sort `_ Sort integer array x(isize) using the radix sort algorithm. iorder in input should be (1,2,3,...,isize), and in output contains the new order of the elements. iradix should be -1 in input. `iradix_sort_big `_ Sort integer array x(isize) using the radix sort algorithm. iorder in input should be (1,2,3,...,isize), and in output contains the new order of the elements. iradix should be -1 in input. `iset_order `_ array A has already been sorted, and iorder has contains the new order of elements of A. This subroutine changes the order of x to match the new order of A. `iset_order_big `_ array A has already been sorted, and iorder has contains the new order of elements of A. This subroutine changes the order of x to match the new order of A. This is a version for very large arrays where the indices need to be in integer*8 format `isort `_ Sort array x(isize). iorder in input should be (1,2,3,...,isize), and in output contains the new order of the elements. `lapack_diag `_ Diagonalize matrix H .br H is untouched between input and ouptut .br eigevalues(i) = ith lowest eigenvalue of the H matrix .br eigvectors(i,j) = where i is the basis function and psi_j is the j th eigenvector .br `lapack_diag_s2 `_ Diagonalize matrix H .br H is untouched between input and ouptut .br eigevalues(i) = ith lowest eigenvalue of the H matrix .br eigvectors(i,j) = where i is the basis function and psi_j is the j th eigenvector .br `lapack_diagd `_ Diagonalize matrix H .br H is untouched between input and ouptut .br eigevalues(i) = ith lowest eigenvalue of the H matrix .br eigvectors(i,j) = where i is the basis function and psi_j is the j th eigenvector .br `lapack_partial_diag `_ Diagonalize matrix H .br H is untouched between input and ouptut .br eigevalues(i) = ith lowest eigenvalue of the H matrix .br eigvectors(i,j) = where i is the basis function and psi_j is the j th eigenvector .br `logfact `_ n! `lowercase `_ Transform to lower case `map_load_from_disk `_ Undocumented `map_save_to_disk `_ Undocumented `matrix_vector_product `_ performs u1 =! performs u1 +( u0 * matrix) `mrpt_dress `_ Undocumented `multiply_poly `_ Multiply two polynomials D(t) =! D(t) +( B(t)*C(t)) `n_points_integration_angular_lebedev `_ Number of points needed for the angular integral `normalize `_ Normalizes vector u `nproc `_ Number of current OpenMP threads `one_anhil `_ Undocumented `one_anhil_inact `_ Undocumented `one_anhil_one_creat `_ Undocumented `one_anhil_one_creat_inact_virt `_ Undocumented `one_anhil_one_creat_inact_virt_bis `_ Undocumented `one_anhil_one_creat_inact_virt_norm `_ Undocumented `one_creat `_ Undocumented `one_creat_virt `_ Undocumented `ortho_canonical `_ Compute C_new=C_old.U.s^-1/2 canonical orthogonalization. .br overlap : overlap matrix .br LDA : leftmost dimension of overlap array .br N : Overlap matrix is NxN (array is (LDA,N) ) .br C : Coefficients of the vectors to orthogonalize. On exit, orthogonal vectors .br LDC : leftmost dimension of C .br m : Coefficients matrix is MxN, ( array is (LDC,N) ) .br `ortho_lowdin `_ Compute C_new=C_old.S^-1/2 orthogonalization. .br overlap : overlap matrix .br LDA : leftmost dimension of overlap array .br N : Overlap matrix is NxN (array is (LDA,N) ) .br C : Coefficients of the vectors to orthogonalize. On exit, orthogonal vectors .br LDC : leftmost dimension of C .br M : Coefficients matrix is MxN, ( array is (LDC,N) ) .br `ortho_qr `_ Orthogonalization using Q.R factorization .br A : matrix to orthogonalize .br LDA : leftmost dimension of A .br n : Number of rows of A .br m : Number of columns of A .br `ortho_qr_unblocked `_ Orthogonalization using Q.R factorization .br A : matrix to orthogonalize .br LDA : leftmost dimension of A .br n : Number of rows of A .br m : Number of columns of A .br `overlap_a_b_c `_ Undocumented `overlap_gaussian_x `_ .. math:: .br \sum_{-infty}^{+infty} (x-A_x)^ax (x-B_x)^bx exp(-alpha(x-A_x)^2) exp(-beta(x-B_X)^2) dx .br `overlap_gaussian_xyz `_ .. math:: .br S_x = \int (x-A_x)^{a_x} exp(-\alpha(x-A_x)^2) (x-B_x)^{b_x} exp(-beta(x-B_x)^2) dx \\ S = S_x S_y S_z .br `overlap_x_abs `_ .. math :: .br \int_{-infty}^{+infty} (x-A_center)^(power_A) * (x-B_center)^power_B * exp(-alpha(x-A_center)^2) * exp(-beta(x-B_center)^2) dx .br `phi_angular_integration_lebedev `_ Theta phi values together with the weights values for the angular integration : integral [dphi,dtheta] f(x,y,z) = 4 * pi * sum (1`_ Current status for displaying progress bars. Global variable. `progress_bar `_ Current status for displaying progress bars. Global variable. `progress_timeout `_ Current status for displaying progress bars. Global variable. `progress_title `_ Current status for displaying progress bars. Global variable. `progress_value `_ Current status for displaying progress bars. Global variable. `psi_active `_ active part of psi `psi_ref_bis_lock `_ Locks on ref determinants to fill delta_ij `quick_dsort `_ Sort array x(isize) using the quicksort algorithm. iorder in input should be (1,2,3,...,isize), and in output contains the new order of the elements. `quick_i2sort `_ Sort array x(isize) using the quicksort algorithm. iorder in input should be (1,2,3,...,isize), and in output contains the new order of the elements. `quick_i8sort `_ Sort array x(isize) using the quicksort algorithm. iorder in input should be (1,2,3,...,isize), and in output contains the new order of the elements. `quick_isort `_ Sort array x(isize) using the quicksort algorithm. iorder in input should be (1,2,3,...,isize), and in output contains the new order of the elements. `quick_sort `_ Sort array x(isize) using the quicksort algorithm. iorder in input should be (1,2,3,...,isize), and in output contains the new order of the elements. `rec__quicksort `_ Undocumented `rec_d_quicksort `_ Undocumented `rec_i2_quicksort `_ Undocumented `rec_i8_quicksort `_ Undocumented `rec_i_quicksort `_ Undocumented `recentered_poly2 `_ Recenter two polynomials `rint `_ .. math:: .br \int_0^1 dx \exp(-p x^2) x^n .br `rint1 `_ Standard version of rint `rint_large_n `_ Version of rint for large values of n `rint_sum `_ Needed for the calculation of two-electron integrals. `rinteg `_ Undocumented `rintgauss `_ Undocumented `run_progress `_ Display a progress bar with documentation of what is happening `sabpartial `_ Undocumented `second_order_pt_new `_ Dressing matrix in N_det basis `second_order_pt_new_1h `_ Dressing matrix in N_det basis `second_order_pt_new_1h1p `_ Dressing matrix in N_det basis `second_order_pt_new_1h2p `_ Dressing matrix in N_det basis `second_order_pt_new_1p `_ Dressing matrix in N_det basis `second_order_pt_new_2h `_ Dressing matrix in N_det basis `second_order_pt_new_2h1p `_ Dressing matrix in N_det basis `second_order_pt_new_2h2p `_ Dressing matrix in N_det basis `second_order_pt_new_2p `_ Dressing matrix in N_det basis `set_order `_ array A has already been sorted, and iorder has contains the new order of elements of A. This subroutine changes the order of x to match the new order of A. `set_order_big `_ array A has already been sorted, and iorder has contains the new order of elements of A. This subroutine changes the order of x to match the new order of A. This is a version for very large arrays where the indices need to be in integer*8 format `set_zero_extra_diag `_ Undocumented `sort `_ Sort array x(isize). iorder in input should be (1,2,3,...,isize), and in output contains the new order of the elements. `sorted_dnumber `_ Returns the number of sorted elements `sorted_i2number `_ Returns the number of sorted elements `sorted_i8number `_ Returns the number of sorted elements `sorted_inumber `_ Returns the number of sorted elements `sorted_number `_ Returns the number of sorted elements `start_progress `_ Starts the progress bar `stop_progress `_ Stop the progress bar `svd `_ Compute A = U.D.Vt .br LDx : leftmost dimension of x .br Dimsneion of A is m x n .br `theta_angular_integration_lebedev `_ Theta phi values together with the weights values for the angular integration : integral [dphi,dtheta] f(x,y,z) = 4 * pi * sum (1`_ Undocumented `three_creat `_ Undocumented `transpose `_ Transpose input matrix A into output matrix B `two_anhil `_ Undocumented `two_anhil_one_creat `_ Undocumented `two_creat `_ Undocumented `two_creat_one_anhil `_ Undocumented `u0_h_dyall_u0 `_ Undocumented `u0_h_dyall_u0_no_exchange `_ Undocumented `u_dot_u `_ Compute `u_dot_v `_ Compute `wall_time `_ The equivalent of cpu_time, but for the wall time. `weights_angular_integration_lebedev `_ Theta phi values together with the weights values for the angular integration : integral [dphi,dtheta] f(x,y,z) = 4 * pi * sum (1`_ Write the last git commit in file iunit.