diff --git a/configure b/configure index c2877eae..d583831f 100755 --- a/configure +++ b/configure @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python2 # -*- coding: utf-8 -*- """configure @@ -133,7 +133,7 @@ emsl = Info( default_path=join(QP_ROOT_INSTALL, "emsl")) ezfio = Info( - url=path_gitlab("scemama","EZFIO","master"), + url='https://gitlab.com/scemama/EZFIO/-/archive/v1.3.5/EZFIO-v1.3.5.tar.gz', description=' EZFIO', default_path=join(QP_ROOT_INSTALL, "EZFIO")) diff --git a/plugins/All_singles/README.rst b/plugins/All_singles/README.rst index 8836ddd6..91efa671 100644 --- a/plugins/All_singles/README.rst +++ b/plugins/All_singles/README.rst @@ -48,6 +48,81 @@ h_apply_just_1h_1p_monoexc Assume N_int is already provided. +h_apply_just_1h_1p_singles + 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_just_1h_1p_singles_diexc + Undocumented + + +h_apply_just_1h_1p_singles_diexcorg + Generate all double excitations of key_in using the bit masks of holes and + particles. + Assume N_int is already provided. + + +h_apply_just_1h_1p_singles_diexcp + Undocumented + + +h_apply_just_1h_1p_singles_monoexc + Generate all single excitations of key_in using the bit masks of holes and + particles. + Assume N_int is already provided. + + +h_apply_just_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_just_1p_diexc + Undocumented + + +h_apply_just_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_just_1p_diexcp + Undocumented + + +h_apply_just_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_just_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_just_2p_diexc + Undocumented + + +h_apply_just_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_just_2p_diexcp + Undocumented + + +h_apply_just_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_just_mono 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. diff --git a/plugins/CAS_SD_ZMQ/README.rst b/plugins/CAS_SD_ZMQ/README.rst index 45ba97e4..d201a676 100644 --- a/plugins/CAS_SD_ZMQ/README.rst +++ b/plugins/CAS_SD_ZMQ/README.rst @@ -8,7 +8,342 @@ Needed Modules ============== .. Do not edit this section It was auto-generated .. by the `update_README.py` script. + + +.. image:: tree_dependency.png + +* `Generators_CAS `_ +* `Perturbation `_ +* `Selectors_CASSD `_ +* `ZMQ `_ + Documentation ============= .. Do not edit this section It was auto-generated .. by the `update_README.py` script. + + +`add_task_to_taskserver `_ + Get a task from the task server + + +`add_to_selection_buffer `_ + Undocumented + + +`assert `_ + Undocumented + + +`cassd_zmq `_ + Undocumented + + +`connect_to_taskserver `_ + Connect to the task server and obtain the worker ID + + +`create_selection_buffer `_ + Undocumented + + +`delete_selection_buffer `_ + Undocumented + + +`disconnect_from_taskserver `_ + Disconnect from the task server + + +`do_ddci `_ + If true, remove purely inactive double excitations + + +`end_parallel_job `_ + End a new parallel job with name 'name'. The slave tasks execute subroutine 'slave' + + +`end_zmq_pair_socket `_ + Terminate socket on which the results are sent. + + +`end_zmq_pull_socket `_ + Terminate socket on which the results are sent. + + +`end_zmq_push_socket `_ + Terminate socket on which the results are sent. + + +`end_zmq_sub_socket `_ + Terminate socket on which the results are sent. + + +`end_zmq_to_qp_run_socket `_ + Terminate the socket from the application to qp_run + + +`fci_zmq `_ + Undocumented + + +`fill_buffer_double `_ + Undocumented + + +`fill_buffer_single `_ + Undocumented + + +`get_d0 `_ + Undocumented + + +`get_d1 `_ + Undocumented + + +`get_d2 `_ + Undocumented + + +`get_m0 `_ + Undocumented + + +`get_m1 `_ + Undocumented + + +`get_m2 `_ + Undocumented + + +`get_mask_phase `_ + Undocumented + + +`get_phase_bi `_ + Undocumented + + +`get_task_from_taskserver `_ + Get a task from the task server + + +`get_tasks_from_taskserver `_ + Get multiple tasks from the task server + + +`new_parallel_job `_ + Start a new parallel job with name 'name'. The slave tasks execute subroutine 'slave' + + +`new_zmq_pair_socket `_ + Socket on which the collector and the main communicate + + +`new_zmq_pull_socket `_ + Socket on which the results are sent. If thread is 1, use inproc + + +`new_zmq_push_socket `_ + Socket on which the results are sent. If thread is 1, use inproc + + +`new_zmq_sub_socket `_ + Socket to read the state published by the Task server + + +`new_zmq_to_qp_run_socket `_ + Socket on which the qp_run process replies + + +`past_d1 `_ + Undocumented + + +`past_d2 `_ + Undocumented + + +`prog_selection_slave `_ + Helper program to compute the PT2 in distributed mode. + + +`provide_everything `_ + Undocumented + + +`psi_phasemask `_ + Undocumented + + +`pt2_e0_denominator `_ + E0 in the denominator of the PT2 + + +`pull_selection_results `_ + Undocumented + + +`push_selection_results `_ + Undocumented + + +`qp_run_address `_ + Address of the qp_run socket + Example : tcp://130.120.229.139:12345 + + +`reset_zmq_addresses `_ + Socket which pulls the results (2) + + +`run_selection_slave `_ + Undocumented + + +`run_wf `_ + Undocumented + + +`select_connected `_ + Undocumented + + +`select_doubles `_ + Undocumented + + +`select_singles `_ + Select determinants connected to i_det by H + + +`selection_collector `_ + Undocumented + + +`selection_slave_inproc `_ + Undocumented + + +`sort_selection_buffer `_ + Undocumented + + +`splash_p `_ + Undocumented + + +`splash_pq `_ + Undocumented + + +`spot_hasbeen `_ + Undocumented + + +`spot_isinwf `_ + Undocumented + + +`switch_qp_run_to_master `_ + Address of the master qp_run socket + Example : tcp://130.120.229.139:12345 + + +`task_done_to_taskserver `_ + Get a task from the task server + + +`tasks_done_to_taskserver `_ + Get a task from the task server + + +`wait_for_next_state `_ + Undocumented + + +`wait_for_state `_ + Wait for the ZMQ state to be ready + + +`wait_for_states `_ + Wait for the ZMQ state to be ready + + +`zmq_abort `_ + Aborts a running parallel computation + + +`zmq_context `_ + Context for the ZeroMQ library + + +`zmq_delete_task `_ + When a task is done, it has to be removed from the list of tasks on the qp_run + queue. This guarantees that the results have been received in the pull. + + +`zmq_delete_tasks `_ + When a task is done, it has to be removed from the list of tasks on the qp_run + queue. This guarantees that the results have been received in the pull. + + +`zmq_get_dvector `_ + Get psi_coef from the qp_run scheduler + + +`zmq_lock `_ + Context for the ZeroMQ library + + +`zmq_port `_ + Return the value of the ZMQ port from the corresponding integer + + +`zmq_port_start `_ + Address of the qp_run socket + Example : tcp://130.120.229.139:12345 + + +`zmq_put_dvector `_ + Put the X vector on the qp_run scheduler + + +`zmq_selection `_ + Undocumented + + +`zmq_set_running `_ + Set the job to Running in QP-run + + +`zmq_socket_pair_inproc_address `_ + Socket which pulls the results (2) + + +`zmq_socket_pull_inproc_address `_ + Socket which pulls the results (2) + + +`zmq_socket_pull_tcp_address `_ + Socket which pulls the results (2) + + +`zmq_socket_push_inproc_address `_ + Socket which pulls the results (2) + + +`zmq_socket_push_tcp_address `_ + Socket which pulls the results (2) + + +`zmq_socket_sub_tcp_address `_ + Socket which pulls the results (2) + + +`zmq_state `_ + Threads executing work through the ZeroMQ interface + diff --git a/plugins/Full_CI/README.rst b/plugins/Full_CI/README.rst index 77a0bd64..c69ee720 100644 --- a/plugins/Full_CI/README.rst +++ b/plugins/Full_CI/README.rst @@ -24,7 +24,7 @@ Documentation .. by the `update_README.py` script. -`full_ci `_ +`full_ci `_ Undocumented @@ -103,40 +103,11 @@ h_apply_fci_no_selection_monoexc Assume N_int is already provided. -h_apply_fci_no_skip - 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_fci_no_skip_diexc - Undocumented - - -h_apply_fci_no_skip_diexcorg - Generate all double excitations of key_in using the bit masks of holes and - particles. - Assume N_int is already provided. - - -h_apply_fci_no_skip_diexcp - Undocumented - - -h_apply_fci_no_skip_monoexc - Generate all single excitations of key_in using the bit masks of holes and - particles. - Assume N_int is already provided. - - h_apply_fci_pt2 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_fci_pt2_collector - Collects results from the selection in an array of generators - - h_apply_fci_pt2_diexc Undocumented @@ -157,19 +128,6 @@ h_apply_fci_pt2_monoexc Assume N_int is already provided. -h_apply_fci_pt2_slave - 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_fci_pt2_slave_inproc - Computes a buffer using threads - - -h_apply_fci_pt2_slave_tcp - Computes a buffer over the network - - `var_pt2_ratio_run `_ Undocumented diff --git a/plugins/Full_CI_ZMQ/README.rst b/plugins/Full_CI_ZMQ/README.rst index f2ee3e80..c2c284aa 100644 --- a/plugins/Full_CI_ZMQ/README.rst +++ b/plugins/Full_CI_ZMQ/README.rst @@ -10,6 +10,8 @@ Needed Modules * `Selectors_full `_ * `Generators_full `_ * `ZMQ `_ +* `FourIdx `_ +* `MPI `_ Documentation ============= @@ -17,43 +19,35 @@ Documentation .. by the `update_README.py` script. -`add_comb `_ +`add_comb `_ Undocumented -`add_task_to_taskserver `_ +`add_task_to_taskserver `_ Get a task from the task server -`add_task_to_taskserver_recv `_ - Get a task from the task server - - -`add_task_to_taskserver_send `_ - Get a task from the task server - - -`add_to_selection_buffer `_ +`add_to_selection_buffer `_ Undocumented -`assert `_ +`assert `_ Undocumented -`bitstring_to_list_in_selection `_ +`bitstring_to_list_in_selection `_ Gives the inidices(+1) of the bits set to 1 in the bit string -`comb_step `_ +`comb_step `_ Undocumented -`comb_teeth `_ +`comb_teeth `_ Undocumented -`connect_to_taskserver `_ +`connect_to_taskserver `_ Connect to the task server and obtain the worker ID @@ -61,39 +55,43 @@ Documentation Undocumented -`delete_selection_buffer `_ +`delete_selection_buffer `_ Undocumented -`disconnect_from_taskserver `_ +`disconnect_from_taskserver `_ Disconnect from the task server -`do_carlo `_ +`do_carlo `_ Undocumented -`end_parallel_job `_ +`dump_fci_iterations_value `_ + Undocumented + + +`end_parallel_job `_ End a new parallel job with name 'name'. The slave tasks execute subroutine 'slave' -`end_zmq_pair_socket `_ +`end_zmq_pair_socket `_ Terminate socket on which the results are sent. -`end_zmq_pull_socket `_ +`end_zmq_pull_socket `_ Terminate socket on which the results are sent. -`end_zmq_push_socket `_ +`end_zmq_push_socket `_ Terminate socket on which the results are sent. -`end_zmq_sub_socket `_ +`end_zmq_sub_socket `_ Terminate socket on which the results are sent. -`end_zmq_to_qp_run_socket `_ +`end_zmq_to_qp_run_socket `_ Terminate the socket from the application to qp_run @@ -101,15 +99,15 @@ Documentation Undocumented -`fill_buffer_double `_ +`fill_buffer_double `_ Undocumented -`first_det_of_comb `_ +`first_det_of_comb `_ Undocumented -`first_det_of_teeth `_ +`first_det_of_teeth `_ Undocumented @@ -121,95 +119,95 @@ Documentation Undocumented -`get_carlo_workbatch `_ +`get_carlo_workbatch `_ Undocumented -`get_comb `_ +`get_comb `_ Undocumented -`get_d0 `_ +`get_d0 `_ Undocumented -`get_d1 `_ +`get_d1 `_ Undocumented -`get_d2 `_ +`get_d2 `_ Undocumented -`get_first_tooth `_ +`get_first_tooth `_ Undocumented -`get_m0 `_ +`get_m0 `_ Undocumented -`get_m1 `_ +`get_m1 `_ Undocumented -`get_m2 `_ +`get_m2 `_ Undocumented -`get_mask_phase `_ +`get_mask_phase `_ Undocumented -`get_phase_bi `_ +`get_phase_bi `_ Undocumented -`get_task_from_taskserver `_ +`get_task_from_taskserver `_ Get a task from the task server +`get_tasks_from_taskserver `_ + Get multiple tasks from the task server + + `initialize_pt2_e0_denominator `_ If true, initialize pt2_E0_denominator -`integral8 `_ - Undocumented - - -`merge_selection_buffers `_ +`merge_selection_buffers `_ Merges the selection buffers b1 and b2 into b2 -`new_parallel_job `_ +`new_parallel_job `_ Start a new parallel job with name 'name'. The slave tasks execute subroutine 'slave' -`new_zmq_pair_socket `_ +`new_zmq_pair_socket `_ Socket on which the collector and the main communicate -`new_zmq_pull_socket `_ +`new_zmq_pull_socket `_ Socket on which the results are sent. If thread is 1, use inproc -`new_zmq_push_socket `_ +`new_zmq_push_socket `_ Socket on which the results are sent. If thread is 1, use inproc -`new_zmq_sub_socket `_ +`new_zmq_sub_socket `_ Socket to read the state published by the Task server -`new_zmq_to_qp_run_socket `_ +`new_zmq_to_qp_run_socket `_ Socket on which the qp_run process replies -`past_d1 `_ +`past_d1 `_ Undocumented -`past_d2 `_ +`past_d2 `_ Undocumented @@ -217,15 +215,15 @@ Documentation Undocumented -`pt2_collector `_ +`pt2_collector `_ Undocumented -`pt2_cweight `_ +`pt2_cweight `_ Undocumented -`pt2_cweight_cache `_ +`pt2_cweight_cache `_ Undocumented @@ -233,7 +231,7 @@ Documentation E0 in the denominator of the PT2 -`pt2_find `_ +`pt2_find `_ Undocumented @@ -241,11 +239,11 @@ Documentation Helper program to compute the PT2 in distributed mode. -`pt2_slave_inproc `_ +`pt2_slave_inproc `_ Undocumented -`pt2_slave_tcp `_ +`pt2_slave_tcp `_ Undocumented @@ -253,31 +251,35 @@ Documentation Undocumented -`pt2_weight `_ +`pt2_stoch_istate `_ + State for stochatsic PT2 + + +`pt2_weight `_ Undocumented -`pt2_weight_inv `_ +`pt2_weight_inv `_ Inverse of pt2_weight array -`pt2_workload `_ +`pt2_workload `_ Undocumented -`pull_pt2_results `_ +`pull_pt2_results `_ Undocumented -`pull_selection_results `_ +`pull_selection_results `_ Undocumented -`push_pt2_results `_ +`push_pt2_results `_ Undocumented -`push_selection_results `_ +`push_selection_results `_ Undocumented @@ -286,10 +288,14 @@ Documentation Example : tcp://130.120.229.139:12345 -`reset_zmq_addresses `_ +`reset_zmq_addresses `_ Socket which pulls the results (2) +`run `_ + Undocumented + + `run_pt2_slave `_ Undocumented @@ -302,15 +308,15 @@ Documentation Undocumented -`select_connected `_ +`select_connected `_ Undocumented -`select_singles_and_doubles `_ +`select_singles_and_doubles `_ WARNING /!\ : It is assumed that the generators and selectors are psi_det_sorted -`selection_collector `_ +`selection_collector `_ Undocumented @@ -318,48 +324,52 @@ Documentation Helper program to compute the PT2 in distributed mode. -`selection_slave_inproc `_ +`selection_slave_inproc `_ Undocumented -`size_tbc `_ +`size_tbc `_ Size of the tbc array -`sort_selection_buffer `_ +`sort_selection_buffer `_ Undocumented -`splash_pq `_ +`splash_pq `_ Undocumented -`spot_isinwf `_ +`spot_isinwf `_ Undocumented -`switch_qp_run_to_master `_ +`switch_qp_run_to_master `_ Address of the master qp_run socket Example : tcp://130.120.229.139:12345 -`task_done_to_taskserver `_ +`task_done_to_taskserver `_ Get a task from the task server -`wait_for_next_state `_ +`tasks_done_to_taskserver `_ + Get a task from the task server + + +`wait_for_next_state `_ Undocumented -`wait_for_state `_ +`wait_for_state `_ Wait for the ZMQ state to be ready -`wait_for_states `_ +`wait_for_states `_ Wait for the ZMQ state to be ready -`zmq_abort `_ +`zmq_abort `_ Aborts a running parallel computation @@ -367,16 +377,25 @@ Documentation Context for the ZeroMQ library -`zmq_delete_task `_ +`zmq_delete_task `_ When a task is done, it has to be removed from the list of tasks on the qp_run queue. This guarantees that the results have been received in the pull. +`zmq_delete_tasks `_ + When a task is done, it has to be removed from the list of tasks on the qp_run + queue. This guarantees that the results have been received in the pull. + + +`zmq_get_dvector `_ + Get psi_coef from the qp_run scheduler + + `zmq_lock `_ Context for the ZeroMQ library -`zmq_port `_ +`zmq_port `_ Return the value of the ZMQ port from the corresponding integer @@ -389,38 +408,42 @@ Documentation Undocumented +`zmq_put_dvector `_ + Put the X vector on the qp_run scheduler + + `zmq_selection `_ Undocumented -`zmq_set_running `_ +`zmq_set_running `_ Set the job to Running in QP-run -`zmq_socket_pair_inproc_address `_ +`zmq_socket_pair_inproc_address `_ Socket which pulls the results (2) -`zmq_socket_pull_inproc_address `_ +`zmq_socket_pull_inproc_address `_ Socket which pulls the results (2) -`zmq_socket_pull_tcp_address `_ +`zmq_socket_pull_tcp_address `_ Socket which pulls the results (2) -`zmq_socket_push_inproc_address `_ +`zmq_socket_push_inproc_address `_ Socket which pulls the results (2) -`zmq_socket_push_tcp_address `_ +`zmq_socket_push_tcp_address `_ Socket which pulls the results (2) -`zmq_socket_sub_tcp_address `_ +`zmq_socket_sub_tcp_address `_ Socket which pulls the results (2) -`zmq_state `_ +`zmq_state `_ Threads executing work through the ZeroMQ interface diff --git a/plugins/Generators_full/README.rst b/plugins/Generators_full/README.rst index d1fc68ec..311407c2 100644 --- a/plugins/Generators_full/README.rst +++ b/plugins/Generators_full/README.rst @@ -33,7 +33,7 @@ Documentation .. by the `update_README.py` script. -`degree_max_generators `_ +`degree_max_generators `_ Max degree of excitation (respect to HF) of the generators @@ -52,10 +52,10 @@ Documentation Hartree-Fock determinant -`select_max `_ +`select_max `_ Memo to skip useless selectors -`size_select_max `_ +`size_select_max `_ Size of the select_max array diff --git a/plugins/Hartree_Fock/README.rst b/plugins/Hartree_Fock/README.rst index 5cb05735..972394be 100644 --- a/plugins/Hartree_Fock/README.rst +++ b/plugins/Hartree_Fock/README.rst @@ -41,7 +41,7 @@ Documentation Alpha Fock matrix in AO basis set -`create_guess `_ +`create_guess `_ Create a MO guess if no MOs are present in the EZFIO directory @@ -71,11 +71,11 @@ Documentation Diagonal Fock matrix in the MO basis -`extrapolate_fock_matrix `_ +`extrapolate_fock_matrix `_ Compute the extrapolated Fock matrix using the DIIS procedure -`fock_matrix_ao `_ +`fock_matrix_ao `_ Fock matrix in AO basis set @@ -123,14 +123,10 @@ Documentation Fock matrix on the MO basis -`fock_matrix_mo_beta `_ +`fock_matrix_mo_beta `_ Fock matrix on the MO basis -`fock_mo_to_ao `_ - Undocumented - - `fps_spf_matrix_ao `_ Commutator FPS - SPF @@ -144,18 +140,18 @@ Documentation `hf_density_matrix_ao `_ - S^-1 Density matrix in the AO basis S^-1 + S^{-1}.P.S^{-1} where P = C.C^t `hf_density_matrix_ao_alpha `_ - S^-1 x Alpha density matrix in the AO basis x S^-1 + S^{-1}.P_alpha.S^{-1} `hf_density_matrix_ao_beta `_ - S^-1 Beta density matrix in the AO basis x S^-1 + S^{-1}.P_beta.S^{-1} -`hf_energy `_ +`hf_energy `_ Hartree-Fock energy @@ -163,7 +159,7 @@ Documentation Build the MOs using the extended Huckel model -`level_shift `_ +`level_shift `_ Energy shift on the virtual MOs to improve SCF convergence @@ -175,15 +171,15 @@ Documentation Maximum size of the DIIS extrapolation procedure -`mo_guess_type `_ +`mo_guess_type `_ Initial MO guess. Can be [ Huckel | HCore ] -`n_it_scf_max `_ +`n_it_scf_max `_ Maximum number of SCF iterations -`no_oa_or_av_opt `_ +`no_oa_or_av_opt `_ If true, skip the (inactive+core) --> (active) and the (active) --> (virtual) orbital rotations within the SCF procedure @@ -191,37 +187,29 @@ Documentation Roothaan-Hall algorithm for SCF Hartree-Fock calculation -`run `_ +`run `_ Run SCF calculation -`scf `_ +`scf `_ Produce `Hartree_Fock` MO orbital output: mo_basis.mo_tot_num mo_basis.mo_label mo_basis.ao_md5 mo_basis.mo_coef mo_basis.mo_occ output: hartree_fock.energy optional: mo_basis.mo_coef -`scf_algorithm `_ +`scf_algorithm `_ Type of SCF algorithm used. Possible choices are [ Simple | DIIS] -`thresh_scf `_ +`thresh_scf `_ Threshold on the convergence of the Hartree Fock energy. -`threshold_diis `_ +`threshold_diis `_ Threshold on the convergence of the DIIS error vector during a Hartree-Fock calculation. If 0. is chosen, the square root of thresh_scf will be used. `threshold_diis_nonzero `_ If threshold_DIIS is zero, choose sqrt(thresh_scf) - -`threshold_overlap_ao_eigenvalues `_ - Threshold on the magnitude of the smallest eigenvalues of the overlap matrix in the AO basis - - -`x_matrix_ao `_ - Matrix X = S^{-1/2} obtained by SVD - diff --git a/plugins/MRCC_Utils/README.rst b/plugins/MRCC_Utils/README.rst index ae041734..5ce5b066 100644 --- a/plugins/MRCC_Utils/README.rst +++ b/plugins/MRCC_Utils/README.rst @@ -18,41 +18,67 @@ Documentation .. by the `update_README.py` script. -`a_coef `_ +`a_coef `_ Undocumented -`add_poly `_ +`active_excitation_to_determinants_idx `_ + Sparse matrix A containing the matrix to transform the active excitations to + determinants : A | \Psi_0 > = | \Psi_SD > + + +`active_excitation_to_determinants_val `_ + Sparse matrix A containing the matrix to transform the active excitations to + determinants : A | \Psi_0 > = | \Psi_SD > + + +`active_hh_idx `_ + is_active_exc : True if the excitation involves at least one active MO + .br + n_exc_active : Number of active excitations : Number of excitations without the inactive ones. + .br + active_hh_idx : + .br + active_pp_idx : + + +`active_pp_idx `_ + is_active_exc : True if the excitation involves at least one active MO + .br + n_exc_active : Number of active excitations : Number of excitations without the inactive ones. + .br + active_hh_idx : + .br + active_pp_idx : + + +`add_poly `_ Add two polynomials D(t) =! D(t) +( B(t)+C(t)) -`add_poly_multiply `_ +`add_poly_multiply `_ Add a polynomial multiplied by a constant D(t) =! D(t) +( cst * B(t)) -`align_double `_ - Compute 1st dimension such that it is aligned for vectorization. - - -`apply_hole_local `_ +`apply_hole_local `_ Undocumented -`apply_particle_local `_ +`apply_particle_local `_ Undocumented -`apply_rotation `_ +`apply_rotation `_ Apply the rotation found by find_rotation -`approx_dble `_ +`approx_dble `_ Undocumented -`b_coef `_ +`b_coef `_ Undocumented @@ -71,23 +97,23 @@ Documentation Binomial coefficients -`ci_eigenvectors_dressed `_ +`ci_eigenvectors_dressed `_ Eigenvectors/values of the dressed CI matrix -`ci_eigenvectors_s2_dressed `_ +`ci_eigenvectors_s2_dressed `_ Eigenvectors/values of the dressed CI matrix -`ci_electronic_energy_dressed `_ +`ci_electronic_energy_dressed `_ Eigenvectors/values of the dressed CI matrix -`ci_energy_dressed `_ +`ci_energy_dressed `_ N_states lowest eigenvalues of the dressed CI matrix -`davidson_diag_hjj_mrcc `_ +`davidson_diag_hjj_mrcc `_ Davidson diagonalization with specific diagonal elements of the H matrix .br H_jj : specific diagonal H matrix elements to diagonalize de Davidson @@ -110,7 +136,7 @@ Documentation Initial guess vectors are not necessarily orthonormal -`davidson_diag_hjj_sjj_mrcc `_ +`davidson_diag_hjj_sjj_mrcc `_ Davidson diagonalization with specific diagonal elements of the H matrix .br H_jj : specific diagonal H matrix elements to diagonalize de Davidson @@ -154,7 +180,7 @@ Documentation Initial guess vectors are not necessarily orthonormal -`davidson_diag_mrcc_hs2 `_ +`davidson_diag_mrcc_hs2 `_ Davidson diagonalization. .br dets_in : bitmasks corresponding to determinants @@ -173,56 +199,61 @@ Documentation Initial guess vectors are not necessarily orthonormal -`dble_fact `_ +`dble_fact `_ Undocumented -`dble_fact_even `_ +`dble_fact_even `_ n!! -`dble_fact_odd `_ +`dble_fact_odd `_ n!! -`dble_logfact `_ +`dble_logfact `_ n!! -`ddfact2 `_ +`ddfact2 `_ Undocumented -`dec_exc `_ +`dec_exc `_ Undocumented -`diagonalize_ci_dressed `_ +`degree_max_integration_lebedev `_ + integrate correctly a polynom of order "degree_max_integration_lebedev" + needed for the angular integration according to LEBEDEV formulae + + +`diagonalize_ci_dressed `_ Replace the coefficients of the CI states by the coefficients of the eigenstates of the CI matrix -`dij `_ +`dij `_ Undocumented -`dij_unique `_ +`dij_unique `_ Undocumented -`dset_order `_ +`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 `_ +`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 `_ +`dsort `_ Sort array x(isize). iorder in input should be (1,2,3,...,isize), and in output contains the new order of the elements. @@ -232,36 +263,40 @@ Documentation Transpose input matrix A into output matrix B -`erf0 `_ +`erf0 `_ Undocumented -`exc_inf `_ +`exc_inf `_ Undocumented -`exccmp `_ +`exccmp `_ Undocumented -`exceq `_ +`exceq `_ Undocumented -`f_integral `_ +`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 `_ +`fact `_ n! -`fact_inv `_ +`fact_inv `_ 1/n! -`find_rotation `_ +`find_rotation `_ Find A.C = B @@ -273,37 +308,41 @@ Documentation Undocumented -`gammln `_ +`gammln `_ Undocumented -`gammp `_ +`gammp `_ Undocumented -`gaussian_product `_ +`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_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 `_ +`gcf `_ Undocumented -`get_dij `_ +`get_dij `_ Undocumented -`get_dij_index `_ +`get_dij_index `_ Undocumented -`get_pseudo_inverse `_ +`get_inverse `_ + Returns the inverse of the square matrix A + + +`get_pseudo_inverse `_ Find C = A^-1 @@ -316,7 +355,7 @@ Documentation * [ 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 `_ +`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 @@ -334,7 +373,7 @@ Documentation fact_k (x-x_P)^iorder(1) (y-y_P)^iorder(2) (z-z_P)^iorder(3) exp(-p(r-P)^2) -`gser `_ +`gser `_ Undocumented @@ -393,10 +432,6 @@ h_apply_mrcepa_pt2 excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script. -h_apply_mrcepa_pt2_collector - Collects results from the selection in an array of generators - - h_apply_mrcepa_pt2_diexc Undocumented @@ -417,24 +452,11 @@ h_apply_mrcepa_pt2_monoexc Assume N_int is already provided. -h_apply_mrcepa_pt2_slave - 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_mrcepa_pt2_slave_inproc - Computes a buffer using threads - - -h_apply_mrcepa_pt2_slave_tcp - Computes a buffer over the network - - -`h_matrix_dressed `_ +`h_matrix_dressed `_ Dressed H with Delta_ij -`h_s2_u_0_mrcc_nstates `_ +`h_s2_u_0_mrcc_nstates `_ Computes v_0 = H|u_0> and s_0 = S^2 |u_0> .br n : number of determinants @@ -444,7 +466,7 @@ h_apply_mrcepa_pt2_slave_tcp S2_jj : array of -`h_u_0_mrcc_nstates `_ +`h_u_0_mrcc_nstates `_ Computes v_0 = H|u_0> .br n : number of determinants @@ -452,13 +474,17 @@ h_apply_mrcepa_pt2_slave_tcp H_jj : array of -`heap_dsort `_ +`has_a_unique_parent `_ + True if the determinant in the non-reference has a unique parent + + +`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 `_ +`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. @@ -466,13 +492,13 @@ h_apply_mrcepa_pt2_slave_tcp to be in integer*8 format -`heap_i2sort `_ +`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 `_ +`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. @@ -480,13 +506,13 @@ h_apply_mrcepa_pt2_slave_tcp to be in integer*8 format -`heap_i8sort `_ +`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 `_ +`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. @@ -494,13 +520,13 @@ h_apply_mrcepa_pt2_slave_tcp to be in integer*8 format -`heap_isort `_ +`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 `_ +`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. @@ -508,13 +534,13 @@ h_apply_mrcepa_pt2_slave_tcp to be in integer*8 format -`heap_sort `_ +`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 `_ +`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. @@ -522,86 +548,114 @@ h_apply_mrcepa_pt2_slave_tcp to be in integer*8 format -`hermite `_ +`hermite `_ Hermite polynomial -`hh_exists `_ - Undocumented +`hh_exists `_ + .br + hh_exists : + .br + pp_exists : + .br + hh_shortcut : + .br + hh_nex : Total number of excitation operators + .br -`hh_shortcut `_ - Undocumented +`hh_nex `_ + .br + hh_exists : + .br + pp_exists : + .br + hh_shortcut : + .br + hh_nex : Total number of excitation operators + .br -`hij_mrcc `_ +`hh_shortcut `_ + .br + hh_exists : + .br + pp_exists : + .br + hh_shortcut : + .br + hh_nex : Total number of excitation operators + .br + + +`hij_mrcc `_ < ref | H | Non-ref > matrix -`i2radix_sort `_ +`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 `_ +`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 `_ +`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 `_ +`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 `_ +`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 `_ +`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 `_ +`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 `_ +`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 `_ +`i8sort `_ Sort array x(isize). iorder in input should be (1,2,3,...,isize), and in output contains the new order of the elements. -`insertion_dsort `_ +`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 `_ +`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. @@ -609,13 +663,13 @@ h_apply_mrcepa_pt2_slave_tcp to be in integer*8 format -`insertion_i2sort `_ +`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 `_ +`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. @@ -623,13 +677,13 @@ h_apply_mrcepa_pt2_slave_tcp to be in integer*8 format -`insertion_i8sort `_ +`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 `_ +`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. @@ -637,13 +691,13 @@ h_apply_mrcepa_pt2_slave_tcp to be in integer*8 format -`insertion_isort `_ +`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 `_ +`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. @@ -651,13 +705,13 @@ h_apply_mrcepa_pt2_slave_tcp to be in integer*8 format -`insertion_sort `_ +`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 `_ +`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. @@ -665,59 +719,69 @@ h_apply_mrcepa_pt2_slave_tcp to be in integer*8 format -`inv_int `_ +`inv_int `_ 1/i -`iradix_sort `_ +`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 `_ +`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. -`is_generable `_ +`is_active_exc `_ + is_active_exc : True if the excitation involves at least one active MO + .br + n_exc_active : Number of active excitations : Number of excitations without the inactive ones. + .br + active_hh_idx : + .br + active_pp_idx : + + +`is_generable `_ Undocumented -`iset_order `_ +`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 `_ +`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 `_ +`isort `_ Sort array x(isize). iorder in input should be (1,2,3,...,isize), and in output contains the new order of the elements. -`lambda_mrcc `_ +`lambda_mrcc `_ cm/ or perturbative 1/Delta_E(m) -`lambda_mrcc_kept `_ +`lambda_mrcc_kept `_ cm/ or perturbative 1/Delta_E(m) -`lambda_mrcc_pt2 `_ +`lambda_mrcc_pt2 `_ cm/ or perturbative 1/Delta_E(m) -`lapack_diag `_ +`lapack_diag `_ Diagonalize matrix H .br H is untouched between input and ouptut @@ -728,7 +792,7 @@ h_apply_mrcepa_pt2_slave_tcp .br -`lapack_diag_s2 `_ +`lapack_diag_s2 `_ Diagonalize matrix H .br H is untouched between input and ouptut @@ -739,7 +803,7 @@ h_apply_mrcepa_pt2_slave_tcp .br -`lapack_diagd `_ +`lapack_diagd `_ Diagonalize matrix H .br H is untouched between input and ouptut @@ -750,7 +814,7 @@ h_apply_mrcepa_pt2_slave_tcp .br -`lapack_partial_diag `_ +`lapack_partial_diag `_ Diagonalize matrix H .br H is untouched between input and ouptut @@ -761,15 +825,15 @@ h_apply_mrcepa_pt2_slave_tcp .br -`logfact `_ +`logfact `_ n! -`lowercase `_ +`lowercase `_ Transform to lower case -`map_load_from_disk `_ +`map_load_from_disk `_ Undocumented @@ -777,37 +841,78 @@ h_apply_mrcepa_pt2_slave_tcp Undocumented +`matrix_vector_product `_ + performs u1 =! performs u1 +( u0 * matrix) + + +`mrcc_ata_ind `_ + A is active_excitation_to_determinants in At.A + + +`mrcc_ata_val `_ + A is active_excitation_to_determinants in At.A + + +`mrcc_col_shortcut `_ + A is active_excitation_to_determinants in At.A + + `mrcc_dress `_ Undocumented +`mrcc_n_col `_ + A is active_excitation_to_determinants in At.A + + `mrmode `_ Undocumented -`multiply_poly `_ +`multi_state `_ + Multi-state mixing + + +`multiply_poly `_ Multiply two polynomials D(t) =! D(t) +( B(t)*C(t)) -`n_ex_exists `_ +`n_ex_exists `_ Undocumented -`n_hh_exists `_ +`n_exc_active `_ + is_active_exc : True if the excitation involves at least one active MO + .br + n_exc_active : Number of active excitations : Number of excitations without the inactive ones. + .br + active_hh_idx : + .br + active_pp_idx : + + +`n_exc_active_sze `_ + Dimension of arrays to avoid zero-sized arrays + + +`n_hh_exists `_ Undocumented -`n_pp_exists `_ +`n_points_integration_angular_lebedev `_ + Number of points needed for the angular integral + + +`n_pp_exists `_ Undocumented -`normalize `_ +`normalize `_ Normalizes vector u - u is expected to be aligned in memory. -`nproc `_ +`nproc `_ Number of current OpenMP threads @@ -829,7 +934,7 @@ h_apply_mrcepa_pt2_slave_tcp .br -`ortho_lowdin `_ +`ortho_lowdin `_ Compute C_new=C_old.S^-1/2 orthogonalization. .br overlap : overlap matrix @@ -843,11 +948,24 @@ h_apply_mrcepa_pt2_slave_tcp .br LDC : leftmost dimension of C .br - m : Coefficients matrix is MxN, ( array is (LDC,N) ) + M : Coefficients matrix is MxN, ( array is (LDC,N) ) .br -`ortho_qr `_ +`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 @@ -886,12 +1004,22 @@ h_apply_mrcepa_pt2_slave_tcp .br -`pouet `_ - Undocumented +`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`_ - Undocumented +`pp_exists `_ + .br + hh_exists : + .br + pp_exists : + .br + hh_shortcut : + .br + hh_nex : Total number of excitation operators + .br `progress_active `_ @@ -914,11 +1042,11 @@ h_apply_mrcepa_pt2_slave_tcp Current status for displaying progress bars. Global variable. -`psi_non_ref_sorted `_ +`psi_non_ref_sorted `_ Undocumented -`psi_non_ref_sorted_idx `_ +`psi_non_ref_sorted_idx `_ Undocumented @@ -926,38 +1054,88 @@ h_apply_mrcepa_pt2_slave_tcp Locks on ref determinants to fill delta_ij -`recentered_poly2 `_ - Recenter two polynomials +`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. -`rho_mrcc `_ +`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 -`rint `_ +`rec_d_quicksort `_ + Undocumented + + +`rec_i2_quicksort `_ + Undocumented + + +`rec_i8_quicksort `_ + Undocumented + + +`rec_i_quicksort `_ + Undocumented + + +`recentered_poly2 `_ + Recenter two polynomials + + +`rho_mrcc `_ + Undocumented + + +`rint `_ .. math:: .br \int_0^1 dx \exp(-p x^2) x^n .br -`rint1 `_ +`rint1 `_ Standard version of rint -`rint_large_n `_ +`rint_large_n `_ Version of rint for large values of n -`rint_sum `_ +`rint_sum `_ Needed for the calculation of two-electron integrals. -`rinteg `_ +`rinteg `_ Undocumented -`rintgauss `_ +`rintgauss `_ Undocumented @@ -969,11 +1147,11 @@ h_apply_mrcepa_pt2_slave_tcp Undocumented -`searchdet `_ +`searchdet `_ Undocumented -`searchexc `_ +`searchexc `_ Undocumented @@ -981,36 +1159,56 @@ h_apply_mrcepa_pt2_slave_tcp Undocumented -`set_order `_ +`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 `_ +`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 `_ +`set_zero_extra_diag `_ Undocumented -`sort `_ +`sort `_ Sort array x(isize). iorder in input should be (1,2,3,...,isize), and in output contains the new order of the elements. -`sort_det `_ +`sort_det `_ Undocumented -`sort_exc `_ +`sort_exc `_ Undocumented +`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 @@ -1028,37 +1226,49 @@ h_apply_mrcepa_pt2_slave_tcp .br -`tamise_exc `_ +`tamise_exc `_ Uncodumented : TODO +`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`_ Transpose input matrix A into output matrix B -`u_0_h_u_0_mrcc_nstates `_ +`u_0_h_u_0_mrcc_nstates `_ Computes e_0 = / .br n : number of determinants .br -`u_dot_u `_ +`u_dot_u `_ Compute -`u_dot_v `_ +`u_dot_v `_ Compute -`unsortedsearchdet `_ +`unsortedsearchdet `_ Undocumented -`wall_time `_ +`wall_time `_ The equivalent of cpu_time, but for the wall time. -`write_git_log `_ +`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. diff --git a/plugins/MRPT_Utils/README.rst b/plugins/MRPT_Utils/README.rst index 6b7a8eff..cc7ec9a3 100644 --- a/plugins/MRPT_Utils/README.rst +++ b/plugins/MRPT_Utils/README.rst @@ -11,3 +11,1407 @@ Needed Modules .. 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. + diff --git a/plugins/Perturbation/README.rst b/plugins/Perturbation/README.rst index 1657e079..74e1c665 100644 --- a/plugins/Perturbation/README.rst +++ b/plugins/Perturbation/README.rst @@ -86,9 +86,11 @@ Needed Modules .. image:: tree_dependency.png +* `Determinants `_ * `Properties `_ * `Hartree_Fock `_ * `Davidson `_ +* `MRPT_Utils `_ Documentation ============= @@ -96,18 +98,35 @@ Documentation .. by the `update_README.py` script. -`do_pt2_end `_ - If true, compute the PT2 at the end of the selection +`correlation_energy_ratio_max `_ + The selection process stops at a fixed correlation ratio (useful for getting same accuracy between molecules) + Defined as (E_CI-E_HF)/ (E_CI+PT2 - E_HF). (E_HF) is not required. + + +`do_pt2 `_ + If true, compute the PT2 `fill_h_apply_buffer_selection `_ Fill the H_apply buffer with determiants for the selection +`i_h_psi_pert_new_minilist `_ + Computes = \sum_J c_J . + .br + 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. + + `max_exc_pert `_ Undocumented +perturb_buffer_by_mono_decontracted + Applly pertubration ``decontracted`` to the buffer of determinants generated in the H_apply + routine. + + perturb_buffer_by_mono_dipole_moment_z Applly pertubration ``dipole_moment_z`` to the buffer of determinants generated in the H_apply routine. @@ -128,6 +147,11 @@ perturb_buffer_by_mono_epstein_nesbet_2x2 routine. +perturb_buffer_by_mono_epstein_nesbet_2x2_no_ci_diag + Applly pertubration ``epstein_nesbet_2x2_no_ci_diag`` to the buffer of determinants generated in the H_apply + routine. + + perturb_buffer_by_mono_epstein_nesbet_sc2 Applly pertubration ``epstein_nesbet_sc2`` to the buffer of determinants generated in the H_apply routine. @@ -153,6 +177,21 @@ perturb_buffer_by_mono_moller_plesset routine. +perturb_buffer_by_mono_moller_plesset_general + Applly pertubration ``moller_plesset_general`` to the buffer of determinants generated in the H_apply + routine. + + +perturb_buffer_by_mono_qdpt + Applly pertubration ``qdpt`` to the buffer of determinants generated in the H_apply + routine. + + +perturb_buffer_decontracted + Applly pertubration ``decontracted`` to the buffer of determinants generated in the H_apply + routine. + + perturb_buffer_dipole_moment_z Applly pertubration ``dipole_moment_z`` to the buffer of determinants generated in the H_apply routine. @@ -173,6 +212,11 @@ perturb_buffer_epstein_nesbet_2x2 routine. +perturb_buffer_epstein_nesbet_2x2_no_ci_diag + Applly pertubration ``epstein_nesbet_2x2_no_ci_diag`` to the buffer of determinants generated in the H_apply + routine. + + perturb_buffer_epstein_nesbet_sc2 Applly pertubration ``epstein_nesbet_sc2`` to the buffer of determinants generated in the H_apply routine. @@ -198,6 +242,24 @@ perturb_buffer_moller_plesset routine. +perturb_buffer_moller_plesset_general + Applly pertubration ``moller_plesset_general`` to the buffer of determinants generated in the H_apply + routine. + + +perturb_buffer_qdpt + Applly pertubration ``qdpt`` to the buffer of determinants generated in the H_apply + routine. + + +`pt2_absolute_error `_ + Stop stochastic PT2 when the statistical error is smaller than PT2_absolute_error + + +`pt2_decontracted `_ + Undocumented + + `pt2_dipole_moment_z `_ compute the perturbatibe contribution to the dipole moment of one determinant .br @@ -219,11 +281,11 @@ perturb_buffer_moller_plesset .br -`pt2_dummy `_ +`pt2_dummy `_ Dummy perturbation to add all connected determinants. -`pt2_epstein_nesbet `_ +`pt2_epstein_nesbet `_ compute the standard Epstein-Nesbet perturbative first order coefficient and second order energetic contribution .br for the various N_st states. @@ -234,7 +296,7 @@ perturb_buffer_moller_plesset .br -`pt2_epstein_nesbet_2x2 `_ +`pt2_epstein_nesbet_2x2 `_ compute the Epstein-Nesbet 2x2 diagonalization coefficient and energetic contribution .br for the various N_st states. @@ -245,7 +307,18 @@ perturb_buffer_moller_plesset .br -`pt2_epstein_nesbet_sc2 `_ +`pt2_epstein_nesbet_2x2_no_ci_diag `_ + compute the Epstein-Nesbet 2x2 diagonalization coefficient and energetic contribution + .br + for the various N_st states. + .br + e_2_pert(i) = 0.5 * (( - E(i) ) - sqrt( ( - E(i)) ^2 + 4 ^2 ) + .br + c_pert(i) = e_2_pert(i)/ + .br + + +`pt2_epstein_nesbet_sc2 `_ compute the standard Epstein-Nesbet perturbative first order coefficient and second order energetic contribution .br for the various N_st states, but with the CISD_SC2 energies and coefficients @@ -256,7 +329,7 @@ perturb_buffer_moller_plesset .br -`pt2_epstein_nesbet_sc2_no_projected `_ +`pt2_epstein_nesbet_sc2_no_projected `_ compute the Epstein-Nesbet perturbative first order coefficient and second order energetic contribution .br for the various N_st states, @@ -280,7 +353,7 @@ perturb_buffer_moller_plesset H_pert_diag = c_pert -`pt2_epstein_nesbet_sc2_projected `_ +`pt2_epstein_nesbet_sc2_projected `_ compute the Epstein-Nesbet perturbative first order coefficient and second order energetic contribution .br for the various N_st states, @@ -315,12 +388,12 @@ perturb_buffer_moller_plesset .br -`pt2_max `_ +`pt2_max `_ The selection process stops when the largest PT2 (for all the state) is lower than pt2_max in absolute value -`pt2_moller_plesset `_ +`pt2_moller_plesset `_ compute the standard Moller-Plesset perturbative first order coefficient and second order energetic contribution .br for the various n_st states. @@ -331,6 +404,30 @@ perturb_buffer_moller_plesset .br +`pt2_moller_plesset_general `_ + compute the general Moller-Plesset perturbative first order coefficient and second order energetic contribution + .br + for the various n_st states. + .br + c_pert(i) = /(difference of orbital energies) + .br + e_2_pert(i) = ^2/(difference of orbital energies) + .br + + +`pt2_qdpt `_ + compute the QDPT first order coefficient and second order energetic contribution + .br + for the various N_st states. + .br + c_pert(i) = /( - ) + .br + + +`pt2_relative_error `_ + Stop stochastic PT2 when the relative error is smaller than PT2_relative_error + + `remove_small_contributions `_ Remove determinants with small contributions. N_states is assumed to be provided. @@ -352,7 +449,15 @@ perturb_buffer_moller_plesset Threshold to select determinants. Set by selection routines. -`var_pt2_ratio `_ +`threshold_generators_pt2 `_ + Thresholds on generators (fraction of the norm) for final PT2 calculation + + +`threshold_selectors_pt2 `_ + Thresholds on selectors (fraction of the norm) for final PT2 calculation + + +`var_pt2_ratio `_ The selection process stops when the energy ratio variational/(variational+PT2) is equal to var_pt2_ratio diff --git a/plugins/Properties/README.rst b/plugins/Properties/README.rst index 92882e0f..088fcedc 100644 --- a/plugins/Properties/README.rst +++ b/plugins/Properties/README.rst @@ -21,6 +21,7 @@ Needed Modules .. image:: tree_dependency.png * `Determinants `_ +* `Davidson `_ Documentation ============= @@ -28,12 +29,12 @@ Documentation .. by the `update_README.py` script. -`ao_integrated_delta_rho_all_points `_ +`ao_integrated_delta_rho_all_points `_ array of the overlap in x,y between the AO function and integrated between [z,z+dz] in the z axis for all the z points that are given (N_z_pts) -`ao_integrated_delta_rho_one_point `_ +`ao_integrated_delta_rho_one_point `_ array of the overlap in x,y between the AO function and integrated between [z,z+dz] in the z axis for one specific z point @@ -62,7 +63,7 @@ Documentation Conversion factor for the calculation of the hcc, according to the nuclear charge -`delta_z `_ +`delta_z `_ Undocumented @@ -74,12 +75,12 @@ Documentation Computes -`electronic_population_alpha `_ +`electronic_population_alpha `_ spin population on the ao basis : spin_population(i,j) = rho_AO(alpha)(i,j) - rho_AO(beta)(i,j) * -`electronic_population_beta `_ +`electronic_population_beta `_ spin population on the ao basis : spin_population(i,j) = rho_AO(alpha)(i,j) - rho_AO(beta)(i,j) * @@ -104,11 +105,19 @@ Documentation and with the density is stored in "density" -`gross_orbital_product_alpha `_ +`give_all_act_mos_at_r `_ + Undocumented + + +`give_all_core_mos_at_r `_ + Undocumented + + +`gross_orbital_product_alpha `_ gross orbital product -`gross_orbital_product_beta `_ +`gross_orbital_product_beta `_ gross orbital product @@ -140,60 +149,84 @@ Documentation on the MO basis -`i_unit_integrated_delta_rho `_ +`i_unit_integrated_delta_rho `_ fortran unit for the writing of the integrated delta_rho -`integrated_delta_rho_all_points `_ +`i_unit_x_two_body_dm_ab `_ + Undocumented + + +`i_unit_y_two_body_dm_ab `_ + Undocumented + + +`i_unit_z_two_body_diag_dm_ab `_ + Undocumented + + +`i_unit_z_two_body_extra_diag_dm_ab `_ + Undocumented + + +`i_unit_z_two_body_total_dm_ab `_ + Undocumented + + +`integrated_delta_rho_all_points `_ .br integrated_rho(alpha,z) - integrated_rho(beta,z) for all the z points chosen .br -`integrated_delta_rho_one_point `_ +`integrated_delta_rho_one_point `_ .br integral (x,y) and (z,z+delta_z) of rho(alpha) - rho(beta) on the MO basis .br -`iso_hcc_cm_1 `_ +`iso_hcc_cm_1 `_ isotropic hyperfine coupling constants among the various atoms -`iso_hcc_gauss `_ +`iso_hcc_gauss `_ isotropic hyperfine coupling constants among the various atoms -`iso_hcc_mhz `_ +`iso_hcc_mhz `_ isotropic hyperfine coupling constants among the various atoms -`mo_integrated_delta_rho_one_point `_ +`mo_integrated_delta_rho_one_point `_ .br array of the integrals needed of integrated_rho(alpha,z) - integrated_rho(beta,z) for z = z_one_point on the MO basis .br -`mulliken_densities_alpha `_ +`mulliken_densities_alpha `_ .br -`mulliken_densities_beta `_ +`mulliken_densities_beta `_ .br -`mulliken_spin_densities `_ +`mulliken_spin_densities `_ ATOMIC SPIN POPULATION (ALPHA MINUS BETA) -`n_z_pts `_ +`n_z_pts `_ Undocumented -`print_hcc `_ +`pouet `_ + Undocumented + + +`print_hcc `_ Undocumented @@ -205,10 +238,22 @@ Documentation Undocumented -`print_mulliken_sd `_ +`print_mulliken_sd `_ Undocumented +`print_sd `_ + Undocumented + + +`spin_dens_coord `_ + oordinate on which you are going to plot the spin density + nd integrate over the ohters + pin_dens_coord = 1 === X + pin_dens_coord = 2 === Y + pin_dens_coord = 3 === Z + + `spin_density_at_nucleous `_ value of the spin density at each nucleus @@ -229,7 +274,7 @@ Documentation value of the spin density at each nucleus -`spin_gross_orbital_product `_ +`spin_gross_orbital_product `_ gross orbital product for the spin population @@ -242,6 +287,10 @@ Documentation Undocumented +`spin_population_angular_momentum_per_atom `_ + Undocumented + + `test_average_value `_ Undocumented @@ -254,14 +303,22 @@ Documentation Undocumented -`z_max `_ +`test_two_bod `_ Undocumented -`z_min `_ +`threshld_two_bod_dm `_ + threshold for the values of the alpha/beta two body dm evaluation + + +`z_max `_ Undocumented -`z_one_point `_ +`z_min `_ + Undocumented + + +`z_one_point `_ z point on which the integrated delta rho is calculated diff --git a/plugins/Psiref_CAS/README.rst b/plugins/Psiref_CAS/README.rst index a217e36c..eddf0105 100644 --- a/plugins/Psiref_CAS/README.rst +++ b/plugins/Psiref_CAS/README.rst @@ -71,15 +71,27 @@ Documentation determinants. idx_cas gives the indice of the CAS determinant in psi_det. +`inv_norm_psi_ref `_ + Undocumented + + `n_det_ref `_ 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. +`norm_psi_ref `_ + Undocumented + + `overwrite_w_cas `_ Undocumented +`psi_non_ref_coef_interm_norm `_ + Undocumented + + `psi_ref `_ 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. @@ -90,6 +102,10 @@ Documentation determinants. idx_cas gives the indice of the CAS determinant in psi_det. +`psi_ref_coef_interm_norm `_ + Undocumented + + `psi_ref_coef_inv `_ 1/psi_ref_coef diff --git a/plugins/Psiref_Utils/README.rst b/plugins/Psiref_Utils/README.rst index 2ceb6b98..69002ec7 100644 --- a/plugins/Psiref_Utils/README.rst +++ b/plugins/Psiref_Utils/README.rst @@ -136,33 +136,29 @@ Documentation .. by the `update_README.py` script. -`a_coef `_ +`a_coef `_ Undocumented -`add_poly `_ +`add_poly `_ Add two polynomials D(t) =! D(t) +( B(t)+C(t)) -`add_poly_multiply `_ +`add_poly_multiply `_ Add a polynomial multiplied by a constant D(t) =! D(t) +( cst * B(t)) -`align_double `_ - Compute 1st dimension such that it is aligned for vectorization. - - -`apply_rotation `_ +`apply_rotation `_ Apply the rotation found by find_rotation -`approx_dble `_ +`approx_dble `_ Undocumented -`b_coef `_ +`b_coef `_ Undocumented @@ -181,39 +177,44 @@ Documentation Binomial coefficients -`dble_fact `_ +`dble_fact `_ Undocumented -`dble_fact_even `_ +`dble_fact_even `_ n!! -`dble_fact_odd `_ +`dble_fact_odd `_ n!! -`dble_logfact `_ +`dble_logfact `_ n!! -`ddfact2 `_ +`ddfact2 `_ Undocumented -`dset_order `_ +`degree_max_integration_lebedev `_ + integrate correctly a polynom of order "degree_max_integration_lebedev" + needed for the angular integration according to LEBEDEV formulae + + +`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 `_ +`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 `_ +`dsort `_ Sort array x(isize). iorder in input should be (1,2,3,...,isize), and in output contains the new order of the elements. @@ -223,7 +224,7 @@ Documentation Transpose input matrix A into output matrix B -`erf0 `_ +`erf0 `_ Undocumented @@ -231,50 +232,58 @@ Documentation Replaces the total wave function by the normalized projection on the reference -`f_integral `_ +`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 `_ +`fact `_ n! -`fact_inv `_ +`fact_inv `_ 1/n! -`find_rotation `_ +`find_rotation `_ Find A.C = B -`gammln `_ +`gammln `_ Undocumented -`gammp `_ +`gammp `_ Undocumented -`gaussian_product `_ +`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_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 `_ +`gcf `_ Undocumented -`get_index_in_psi_ref_sorted_bit `_ +`get_index_in_psi_ref_sorted_bit `_ Returns the index of the determinant in the ``psi_ref_sorted_bit`` array -`get_pseudo_inverse `_ +`get_inverse `_ + Returns the inverse of the square matrix A + + +`get_pseudo_inverse `_ Find C = A^-1 @@ -287,7 +296,7 @@ Documentation * [ 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 `_ +`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 @@ -305,21 +314,21 @@ Documentation fact_k (x-x_P)^iorder(1) (y-y_P)^iorder(2) (z-z_P)^iorder(3) exp(-p(r-P)^2) -`gser `_ +`gser `_ Undocumented -`h_matrix_ref `_ +`h_matrix_ref `_ Undocumented -`heap_dsort `_ +`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 `_ +`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. @@ -327,13 +336,13 @@ Documentation to be in integer*8 format -`heap_i2sort `_ +`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 `_ +`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. @@ -341,13 +350,13 @@ Documentation to be in integer*8 format -`heap_i8sort `_ +`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 `_ +`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. @@ -355,13 +364,13 @@ Documentation to be in integer*8 format -`heap_isort `_ +`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 `_ +`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. @@ -369,13 +378,13 @@ Documentation to be in integer*8 format -`heap_sort `_ +`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 `_ +`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. @@ -383,7 +392,7 @@ Documentation to be in integer*8 format -`hermite `_ +`hermite `_ Hermite polynomial @@ -394,58 +403,58 @@ Documentation been done going from psi_ref to psi_non_ref -`i2radix_sort `_ +`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 `_ +`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 `_ +`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 `_ +`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 `_ +`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 `_ +`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 `_ +`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 `_ +`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 `_ +`i8sort `_ Sort array x(isize). iorder in input should be (1,2,3,...,isize), and in output contains the new order of the elements. @@ -465,13 +474,13 @@ Documentation idx_non_ref_rev gives the reverse. -`insertion_dsort `_ +`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 `_ +`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. @@ -479,13 +488,13 @@ Documentation to be in integer*8 format -`insertion_i2sort `_ +`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 `_ +`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. @@ -493,13 +502,13 @@ Documentation to be in integer*8 format -`insertion_i8sort `_ +`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 `_ +`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. @@ -507,13 +516,13 @@ Documentation to be in integer*8 format -`insertion_isort `_ +`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 `_ +`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. @@ -521,13 +530,13 @@ Documentation to be in integer*8 format -`insertion_sort `_ +`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 `_ +`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. @@ -535,47 +544,47 @@ Documentation to be in integer*8 format -`inv_int `_ +`inv_int `_ 1/i -`iradix_sort `_ +`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 `_ +`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. -`is_in_psi_ref `_ +`is_in_psi_ref `_ True if the determinant ``det`` is in the wave function -`iset_order `_ +`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 `_ +`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 `_ +`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 `_ +`lapack_diag `_ Diagonalize matrix H .br H is untouched between input and ouptut @@ -586,7 +595,7 @@ Documentation .br -`lapack_diag_s2 `_ +`lapack_diag_s2 `_ Diagonalize matrix H .br H is untouched between input and ouptut @@ -597,7 +606,7 @@ Documentation .br -`lapack_diagd `_ +`lapack_diagd `_ Diagonalize matrix H .br H is untouched between input and ouptut @@ -608,7 +617,7 @@ Documentation .br -`lapack_partial_diag `_ +`lapack_partial_diag `_ Diagonalize matrix H .br H is untouched between input and ouptut @@ -619,15 +628,15 @@ Documentation .br -`logfact `_ +`logfact `_ n! -`lowercase `_ +`lowercase `_ Transform to lower case -`map_load_from_disk `_ +`map_load_from_disk `_ Undocumented @@ -635,7 +644,11 @@ Documentation Undocumented -`multiply_poly `_ +`matrix_vector_product `_ + performs u1 =! performs u1 +( u0 * matrix) + + +`multiply_poly `_ Multiply two polynomials D(t) =! D(t) +( B(t)*C(t)) @@ -647,12 +660,15 @@ Documentation idx_non_ref_rev gives the reverse. -`normalize `_ +`n_points_integration_angular_lebedev `_ + Number of points needed for the angular integral + + +`normalize `_ Normalizes vector u - u is expected to be aligned in memory. -`nproc `_ +`nproc `_ Number of current OpenMP threads @@ -674,7 +690,7 @@ Documentation .br -`ortho_lowdin `_ +`ortho_lowdin `_ Compute C_new=C_old.S^-1/2 orthogonalization. .br overlap : overlap matrix @@ -688,11 +704,24 @@ Documentation .br LDC : leftmost dimension of C .br - m : Coefficients matrix is MxN, ( array is (LDC,N) ) + M : Coefficients matrix is MxN, ( array is (LDC,N) ) .br -`ortho_qr `_ +`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 @@ -738,6 +767,12 @@ Documentation been done going from psi_ref to psi_non_ref +`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. @@ -772,14 +807,14 @@ Documentation idx_non_ref_rev gives the reverse. -`psi_non_ref_coef_restart `_ +`psi_non_ref_coef_restart `_ Set of determinants which are not part of the reference, defined from the application of the reference bitmask on the determinants. idx_non_ref gives the indice of the determinant in psi_det. But this is with respect to the restart wave function. -`psi_non_ref_coef_sorted_bit `_ +`psi_non_ref_coef_sorted_bit `_ Reference determinants sorted to accelerate the search of a random determinant in the wave function. @@ -788,19 +823,19 @@ Documentation Transposed psi_non_ref_coef -`psi_non_ref_restart `_ +`psi_non_ref_restart `_ Set of determinants which are not part of the reference, defined from the application of the reference bitmask on the determinants. idx_non_ref gives the indice of the determinant in psi_det. But this is with respect to the restart wave function. -`psi_non_ref_sorted_bit `_ +`psi_non_ref_sorted_bit `_ Reference determinants sorted to accelerate the search of a random determinant in the wave function. -`psi_ref_coef_diagonalized `_ +`psi_ref_coef_diagonalized `_ Undocumented @@ -817,11 +852,11 @@ Documentation Transposed psi_ref_coef -`psi_ref_energy `_ +`psi_ref_energy `_ Undocumented -`psi_ref_energy_diagonalized `_ +`psi_ref_energy_diagonalized `_ Undocumented @@ -830,38 +865,88 @@ Documentation function. -`recentered_poly2 `_ +`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 -`ref_hamiltonian_matrix `_ +`ref_hamiltonian_matrix `_ H matrix in the Reference space -`rint `_ +`rint `_ .. math:: .br \int_0^1 dx \exp(-p x^2) x^n .br -`rint1 `_ +`rint1 `_ Standard version of rint -`rint_large_n `_ +`rint_large_n `_ Version of rint for large values of n -`rint_sum `_ +`rint_sum `_ Needed for the calculation of two-electron integrals. -`rinteg `_ +`rinteg `_ Undocumented -`rintgauss `_ +`rintgauss `_ Undocumented @@ -873,28 +958,48 @@ Documentation Undocumented -`set_order `_ +`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 `_ +`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 `_ +`set_zero_extra_diag `_ Undocumented -`sort `_ +`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 @@ -912,22 +1017,34 @@ Documentation .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`_ Transpose input matrix A into output matrix B -`u_dot_u `_ +`u_dot_u `_ Compute -`u_dot_v `_ +`u_dot_v `_ Compute -`wall_time `_ +`wall_time `_ The equivalent of cpu_time, but for the wall time. -`write_git_log `_ +`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. diff --git a/plugins/Selectors_CASSD/README.rst b/plugins/Selectors_CASSD/README.rst index 19b4ec2b..b2d2c726 100644 --- a/plugins/Selectors_CASSD/README.rst +++ b/plugins/Selectors_CASSD/README.rst @@ -6,7 +6,27 @@ Needed Modules ============== .. Do not edit this section It was auto-generated .. by the `update_README.py` script. + + +.. image:: tree_dependency.png + +* `Selectors_Utils `_ + Documentation ============= .. Do not edit this section It was auto-generated .. by the `update_README.py` script. + + +`n_det_selectors `_ + For Single reference wave functions, the number of selectors is 1 : the + Hartree-Fock determinant + + +`psi_selectors `_ + Determinants on which we apply for perturbation. + + +`psi_selectors_coef `_ + Determinants on which we apply for perturbation. + diff --git a/plugins/Selectors_Utils/README.rst b/plugins/Selectors_Utils/README.rst index fc264fc1..5ce29a1a 100644 --- a/plugins/Selectors_Utils/README.rst +++ b/plugins/Selectors_Utils/README.rst @@ -22,7 +22,6 @@ Needed Modules .. image:: tree_dependency.png * `Determinants `_ -* `Hartree_Fock `_ Documentation ============= @@ -30,161 +29,942 @@ Documentation .. by the `update_README.py` script. -`coef_hf_selector `_ - energy of correlation per determinant respect to the Hartree Fock determinant - .br - for the all the double excitations in the selectors determinants - .br - E_corr_per_selectors(i) = * c(D_i)/c(HF) if |D_i> is a double excitation - .br - E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation - .br - coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants - - -`delta_e_per_selector `_ - energy of correlation per determinant respect to the Hartree Fock determinant - .br - for the all the double excitations in the selectors determinants - .br - E_corr_per_selectors(i) = * c(D_i)/c(HF) if |D_i> is a double excitation - .br - E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation - .br - coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants - - -`double_index_selectors `_ - degree of excitation respect to Hartree Fock for the wave function - .br - for the all the selectors determinants - .br - double_index_selectors = list of the index of the double excitations - .br - n_double_selectors = number of double excitations in the selectors determinants - - -`e_corr_double_only `_ - energy of correlation per determinant respect to the Hartree Fock determinant - .br - for the all the double excitations in the selectors determinants - .br - E_corr_per_selectors(i) = * c(D_i)/c(HF) if |D_i> is a double excitation - .br - E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation - .br - coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants - - -`e_corr_per_selectors `_ - energy of correlation per determinant respect to the Hartree Fock determinant - .br - for the all the double excitations in the selectors determinants - .br - E_corr_per_selectors(i) = * c(D_i)/c(HF) if |D_i> is a double excitation - .br - E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation - .br - coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants - - -`e_corr_second_order `_ - energy of correlation per determinant respect to the Hartree Fock determinant - .br - for the all the double excitations in the selectors determinants - .br - E_corr_per_selectors(i) = * c(D_i)/c(HF) if |D_i> is a double excitation - .br - E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation - .br - coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants - - -`exc_degree_per_selectors `_ - degree of excitation respect to Hartree Fock for the wave function - .br - for the all the selectors determinants - .br - double_index_selectors = list of the index of the double excitations - .br - n_double_selectors = number of double excitations in the selectors determinants - - -`i_h_hf_per_selectors `_ - energy of correlation per determinant respect to the Hartree Fock determinant - .br - for the all the double excitations in the selectors determinants - .br - E_corr_per_selectors(i) = * c(D_i)/c(HF) if |D_i> is a double excitation - .br - E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation - .br - coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants - - -`inv_selectors_coef_hf `_ - energy of correlation per determinant respect to the Hartree Fock determinant - .br - for the all the double excitations in the selectors determinants - .br - E_corr_per_selectors(i) = * c(D_i)/c(HF) if |D_i> is a double excitation - .br - E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation - .br - coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants - - -`inv_selectors_coef_hf_squared `_ - energy of correlation per determinant respect to the Hartree Fock determinant - .br - for the all the double excitations in the selectors determinants - .br - E_corr_per_selectors(i) = * c(D_i)/c(HF) if |D_i> is a double excitation - .br - E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation - .br - coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants - - -`n_det_selectors `_ - For Single reference wave functions, the number of selectors is 1 : the - Hartree-Fock determinant - - -`n_double_selectors `_ - degree of excitation respect to Hartree Fock for the wave function - .br - for the all the selectors determinants - .br - double_index_selectors = list of the index of the double excitations - .br - n_double_selectors = number of double excitations in the selectors determinants - - -`psi_selectors `_ - Determinants on which we apply for perturbation. - - -`psi_selectors_coef `_ - Determinants on which we apply for perturbation. - - -`psi_selectors_coef_transp `_ - Transposed psi_selectors - - -`psi_selectors_diag_h_mat `_ - Diagonal elements of the H matrix for each selectors - - -`psi_selectors_size `_ +`a_coef `_ Undocumented -`zmq_get_psi `_ - Get the wave function from the qp_run scheduler +`add_poly `_ + Add two polynomials + D(t) =! D(t) +( B(t)+C(t)) -`zmq_put_psi `_ - Put the wave function on the qp_run scheduler +`add_poly_multiply `_ + Add a polynomial multiplied by a constant + D(t) =! D(t) +( cst * B(t)) + + +`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 + + +`coef_hf_selector `_ + energy of correlation per determinant respect to the Hartree Fock determinant + .br + for the all the double excitations in the selectors determinants + .br + E_corr_per_selectors(i) = * c(D_i)/c(HF) if |D_i> is a double excitation + .br + E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation + .br + coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants + + +`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_e_per_selector `_ + energy of correlation per determinant respect to the Hartree Fock determinant + .br + for the all the double excitations in the selectors determinants + .br + E_corr_per_selectors(i) = * c(D_i)/c(HF) if |D_i> is a double excitation + .br + E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation + .br + coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants + + +`double_index_selectors `_ + degree of excitation respect to Hartree Fock for the wave function + .br + for the all the selectors determinants + .br + double_index_selectors = list of the index of the double excitations + .br + n_double_selectors = number of double excitations in the selectors determinants + + +`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 + + +`e_corr_double_only `_ + energy of correlation per determinant respect to the Hartree Fock determinant + .br + for the all the double excitations in the selectors determinants + .br + E_corr_per_selectors(i) = * c(D_i)/c(HF) if |D_i> is a double excitation + .br + E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation + .br + coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants + + +`e_corr_per_selectors `_ + energy of correlation per determinant respect to the Hartree Fock determinant + .br + for the all the double excitations in the selectors determinants + .br + E_corr_per_selectors(i) = * c(D_i)/c(HF) if |D_i> is a double excitation + .br + E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation + .br + coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants + + +`e_corr_second_order `_ + energy of correlation per determinant respect to the Hartree Fock determinant + .br + for the all the double excitations in the selectors determinants + .br + E_corr_per_selectors(i) = * c(D_i)/c(HF) if |D_i> is a double excitation + .br + E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation + .br + coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants + + +`erf0 `_ + Undocumented + + +`exc_degree_per_selectors `_ + degree of excitation respect to Hartree Fock for the wave function + .br + for the all the selectors determinants + .br + double_index_selectors = list of the index of the double excitations + .br + n_double_selectors = number of double excitations in the selectors determinants + + +`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_rotation `_ + Find A.C = B + + +`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 + + +`get_inverse `_ + Returns the inverse of the square matrix A + + +`get_pseudo_inverse `_ + Find C = A^-1 + + +`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) + + +`gser `_ + Undocumented + + +`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 + + +`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_hf_per_selectors `_ + energy of correlation per determinant respect to the Hartree Fock determinant + .br + for the all the double excitations in the selectors determinants + .br + E_corr_per_selectors(i) = * c(D_i)/c(HF) if |D_i> is a double excitation + .br + E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation + .br + coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors 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 + + +`inv_selectors_coef_hf `_ + energy of correlation per determinant respect to the Hartree Fock determinant + .br + for the all the double excitations in the selectors determinants + .br + E_corr_per_selectors(i) = * c(D_i)/c(HF) if |D_i> is a double excitation + .br + E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation + .br + coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants + + +`inv_selectors_coef_hf_squared `_ + energy of correlation per determinant respect to the Hartree Fock determinant + .br + for the all the double excitations in the selectors determinants + .br + E_corr_per_selectors(i) = * c(D_i)/c(HF) if |D_i> is a double excitation + .br + E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation + .br + coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants + + +`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) + + +`multiply_poly `_ + Multiply two polynomials + D(t) =! D(t) +( B(t)*C(t)) + + +`n_double_selectors `_ + degree of excitation respect to Hartree Fock for the wave function + .br + for the all the selectors determinants + .br + double_index_selectors = list of the index of the double excitations + .br + n_double_selectors = number of double excitations in the selectors determinants + + +`n_points_integration_angular_lebedev `_ + Number of points needed for the angular integral + + +`normalize `_ + Normalizes vector u + + +`nproc `_ + Number of current OpenMP threads + + +`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_selectors_coef_transp `_ + Transposed psi_selectors + + +`psi_selectors_diag_h_mat `_ + Diagonal elements of the H matrix for each selectors + + +`psi_selectors_size `_ + Undocumented + + +`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 + + +`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`_ + Transpose input matrix A into output matrix B + + +`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. + + +`zmq_get_n_det_generators `_ + Get N_det_generators from the qp_run scheduler + + +`zmq_get_n_det_selectors `_ + Get N_det_selectors from the qp_run scheduler + + +`zmq_put_n_det_generators `_ + Put N_det_generators on the qp_run scheduler + + +`zmq_put_n_det_selectors `_ + Put N_det_selectors on the qp_run scheduler diff --git a/plugins/Selectors_full/README.rst b/plugins/Selectors_full/README.rst index fc264fc1..56be4638 100644 --- a/plugins/Selectors_full/README.rst +++ b/plugins/Selectors_full/README.rst @@ -23,6 +23,7 @@ Needed Modules * `Determinants `_ * `Hartree_Fock `_ +* `Selectors_Utils `_ Documentation ============= @@ -30,161 +31,15 @@ Documentation .. by the `update_README.py` script. -`coef_hf_selector `_ - energy of correlation per determinant respect to the Hartree Fock determinant - .br - for the all the double excitations in the selectors determinants - .br - E_corr_per_selectors(i) = * c(D_i)/c(HF) if |D_i> is a double excitation - .br - E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation - .br - coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants - - -`delta_e_per_selector `_ - energy of correlation per determinant respect to the Hartree Fock determinant - .br - for the all the double excitations in the selectors determinants - .br - E_corr_per_selectors(i) = * c(D_i)/c(HF) if |D_i> is a double excitation - .br - E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation - .br - coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants - - -`double_index_selectors `_ - degree of excitation respect to Hartree Fock for the wave function - .br - for the all the selectors determinants - .br - double_index_selectors = list of the index of the double excitations - .br - n_double_selectors = number of double excitations in the selectors determinants - - -`e_corr_double_only `_ - energy of correlation per determinant respect to the Hartree Fock determinant - .br - for the all the double excitations in the selectors determinants - .br - E_corr_per_selectors(i) = * c(D_i)/c(HF) if |D_i> is a double excitation - .br - E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation - .br - coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants - - -`e_corr_per_selectors `_ - energy of correlation per determinant respect to the Hartree Fock determinant - .br - for the all the double excitations in the selectors determinants - .br - E_corr_per_selectors(i) = * c(D_i)/c(HF) if |D_i> is a double excitation - .br - E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation - .br - coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants - - -`e_corr_second_order `_ - energy of correlation per determinant respect to the Hartree Fock determinant - .br - for the all the double excitations in the selectors determinants - .br - E_corr_per_selectors(i) = * c(D_i)/c(HF) if |D_i> is a double excitation - .br - E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation - .br - coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants - - -`exc_degree_per_selectors `_ - degree of excitation respect to Hartree Fock for the wave function - .br - for the all the selectors determinants - .br - double_index_selectors = list of the index of the double excitations - .br - n_double_selectors = number of double excitations in the selectors determinants - - -`i_h_hf_per_selectors `_ - energy of correlation per determinant respect to the Hartree Fock determinant - .br - for the all the double excitations in the selectors determinants - .br - E_corr_per_selectors(i) = * c(D_i)/c(HF) if |D_i> is a double excitation - .br - E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation - .br - coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants - - -`inv_selectors_coef_hf `_ - energy of correlation per determinant respect to the Hartree Fock determinant - .br - for the all the double excitations in the selectors determinants - .br - E_corr_per_selectors(i) = * c(D_i)/c(HF) if |D_i> is a double excitation - .br - E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation - .br - coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants - - -`inv_selectors_coef_hf_squared `_ - energy of correlation per determinant respect to the Hartree Fock determinant - .br - for the all the double excitations in the selectors determinants - .br - E_corr_per_selectors(i) = * c(D_i)/c(HF) if |D_i> is a double excitation - .br - E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation - .br - coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants - - -`n_det_selectors `_ +`n_det_selectors `_ For Single reference wave functions, the number of selectors is 1 : the Hartree-Fock determinant -`n_double_selectors `_ - degree of excitation respect to Hartree Fock for the wave function - .br - for the all the selectors determinants - .br - double_index_selectors = list of the index of the double excitations - .br - n_double_selectors = number of double excitations in the selectors determinants - - -`psi_selectors `_ +`psi_selectors `_ Determinants on which we apply for perturbation. -`psi_selectors_coef `_ +`psi_selectors_coef `_ Determinants on which we apply for perturbation. - -`psi_selectors_coef_transp `_ - Transposed psi_selectors - - -`psi_selectors_diag_h_mat `_ - Diagonal elements of the H matrix for each selectors - - -`psi_selectors_size `_ - Undocumented - - -`zmq_get_psi `_ - Get the wave function from the qp_run scheduler - - -`zmq_put_psi `_ - Put the wave function on the qp_run scheduler - diff --git a/plugins/Selectors_no_sorted/README.rst b/plugins/Selectors_no_sorted/README.rst index 1170123a..75f05a43 100644 --- a/plugins/Selectors_no_sorted/README.rst +++ b/plugins/Selectors_no_sorted/README.rst @@ -194,6 +194,7 @@ Needed Modules .. image:: tree_dependency.png * `Determinants `_ +* `Selectors_Utils `_ Documentation ============= @@ -201,149 +202,15 @@ Documentation .. by the `update_README.py` script. -`coef_hf_selector `_ - energy of correlation per determinant respect to the Hartree Fock determinant - .br - for the all the double excitations in the selectors determinants - .br - E_corr_per_selectors(i) = * c(D_i)/c(HF) if |D_i> is a double excitation - .br - E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation - .br - coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants - - -`delta_e_per_selector `_ - energy of correlation per determinant respect to the Hartree Fock determinant - .br - for the all the double excitations in the selectors determinants - .br - E_corr_per_selectors(i) = * c(D_i)/c(HF) if |D_i> is a double excitation - .br - E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation - .br - coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants - - -`double_index_selectors `_ - degree of excitation respect to Hartree Fock for the wave function - .br - for the all the selectors determinants - .br - double_index_selectors = list of the index of the double excitations - .br - n_double_selectors = number of double excitations in the selectors determinants - - -`e_corr_double_only `_ - energy of correlation per determinant respect to the Hartree Fock determinant - .br - for the all the double excitations in the selectors determinants - .br - E_corr_per_selectors(i) = * c(D_i)/c(HF) if |D_i> is a double excitation - .br - E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation - .br - coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants - - -`e_corr_per_selectors `_ - energy of correlation per determinant respect to the Hartree Fock determinant - .br - for the all the double excitations in the selectors determinants - .br - E_corr_per_selectors(i) = * c(D_i)/c(HF) if |D_i> is a double excitation - .br - E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation - .br - coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants - - -`e_corr_second_order `_ - energy of correlation per determinant respect to the Hartree Fock determinant - .br - for the all the double excitations in the selectors determinants - .br - E_corr_per_selectors(i) = * c(D_i)/c(HF) if |D_i> is a double excitation - .br - E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation - .br - coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants - - -`exc_degree_per_selectors `_ - degree of excitation respect to Hartree Fock for the wave function - .br - for the all the selectors determinants - .br - double_index_selectors = list of the index of the double excitations - .br - n_double_selectors = number of double excitations in the selectors determinants - - -`i_h_hf_per_selectors `_ - energy of correlation per determinant respect to the Hartree Fock determinant - .br - for the all the double excitations in the selectors determinants - .br - E_corr_per_selectors(i) = * c(D_i)/c(HF) if |D_i> is a double excitation - .br - E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation - .br - coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants - - -`inv_selectors_coef_hf `_ - energy of correlation per determinant respect to the Hartree Fock determinant - .br - for the all the double excitations in the selectors determinants - .br - E_corr_per_selectors(i) = * c(D_i)/c(HF) if |D_i> is a double excitation - .br - E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation - .br - coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants - - -`inv_selectors_coef_hf_squared `_ - energy of correlation per determinant respect to the Hartree Fock determinant - .br - for the all the double excitations in the selectors determinants - .br - E_corr_per_selectors(i) = * c(D_i)/c(HF) if |D_i> is a double excitation - .br - E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation - .br - coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants - - -`n_det_selectors `_ +`n_det_selectors `_ For Single reference wave functions, the number of selectors is 1 : the Hartree-Fock determinant -`n_double_selectors `_ - degree of excitation respect to Hartree Fock for the wave function - .br - for the all the selectors determinants - .br - double_index_selectors = list of the index of the double excitations - .br - n_double_selectors = number of double excitations in the selectors determinants - - -`psi_selectors `_ +`psi_selectors `_ Determinants on which we apply for perturbation. -`psi_selectors_coef `_ +`psi_selectors_coef `_ Determinants on which we apply for perturbation. - -`psi_selectors_diag_h_mat `_ - Diagonal elements of the H matrix for each selectors - - -`psi_selectors_size `_ - Undocumented - diff --git a/plugins/mrcepa0/README.rst b/plugins/mrcepa0/README.rst index 9e66ca0d..4d4897ab 100644 --- a/plugins/mrcepa0/README.rst +++ b/plugins/mrcepa0/README.rst @@ -23,115 +23,343 @@ Documentation .. by the `update_README.py` script. -`active_sorb `_ +`active_sorb `_ Undocumented -`blokmwen `_ +`add_comb `_ Undocumented -`cepa0_shortcut `_ +`blokmwen `_ Undocumented -`child_num `_ +`cepa0_shortcut `_ Undocumented -`delta_cas `_ +`child_num `_ Undocumented -`delta_ii `_ +`comb `_ Undocumented -`delta_ii_mrcc `_ +`comb_step `_ Undocumented -`delta_ii_old `_ +`comb_teeth `_ Undocumented -`delta_ij `_ +`cp_first_tooth `_ Undocumented -`delta_ij_mrcc `_ +`cps `_ Undocumented -`delta_ij_old `_ +`cps_n `_ Undocumented -`delta_mrcepa0_ii `_ +`delta_cas `_ Undocumented -`delta_mrcepa0_ij `_ +`delta_cas_s2 `_ Undocumented -`delta_sub_ii `_ +`delta_ii `_ Undocumented -`delta_sub_ij `_ +`delta_ii_cancel `_ Undocumented -`det_cepa0 `_ +`delta_ii_mrcc `_ Undocumented -`det_cepa0_active `_ +`delta_ii_mrcc_sto `_ Undocumented -`det_cepa0_idx `_ +`delta_ii_mrcc_zmq `_ Undocumented -`det_ref_active `_ +`delta_ii_old `_ Undocumented -`filter_tq `_ +`delta_ii_s2 `_ Undocumented -`filter_tq_micro `_ +`delta_ii_s2_cancel `_ Undocumented -`gethp `_ +`delta_ii_s2_mrcc `_ Undocumented -`h_ `_ +`delta_ii_s2_mrcc_sto `_ Undocumented -`hp `_ +`delta_ii_s2_mrcc_zmq `_ Undocumented -`isincassd `_ +`delta_ii_s2_old `_ Undocumented -`lambda_type `_ +`delta_ij `_ + Undocumented + + +`delta_ij_cancel `_ + Undocumented + + +`delta_ij_mrcc `_ + Undocumented + + +`delta_ij_mrcc_sto `_ + Undocumented + + +`delta_ij_mrcc_zmq `_ + Undocumented + + +`delta_ij_old `_ + Undocumented + + +`delta_ij_s2 `_ + Undocumented + + +`delta_ij_s2_cancel `_ + Undocumented + + +`delta_ij_s2_mrcc `_ + Undocumented + + +`delta_ij_s2_mrcc_sto `_ + Undocumented + + +`delta_ij_s2_mrcc_zmq `_ + Undocumented + + +`delta_ij_s2_old `_ + Undocumented + + +`delta_mrcepa0_ii `_ + Undocumented + + +`delta_mrcepa0_ii_s2 `_ + Undocumented + + +`delta_mrcepa0_ij `_ + Undocumented + + +`delta_mrcepa0_ij_s2 `_ + Undocumented + + +`delta_sub_ii `_ + Undocumented + + +`delta_sub_ij `_ + Undocumented + + +`det_cepa0 `_ + Undocumented + + +`det_cepa0_active `_ + Undocumented + + +`det_cepa0_idx `_ + Undocumented + + +`det_ref_active `_ + Undocumented + + +`done_cp_at `_ + Undocumented + + +`filter_tq `_ + Undocumented + + +`filter_tq_micro `_ + Undocumented + + +`first_det_of_comb `_ + Undocumented + + +`first_det_of_teeth `_ + Undocumented + + +`fractage `_ + Undocumented + + +`fragment_count `_ + Number of fragments for the deterministic part + + +`fragment_first `_ + Undocumented + + +`gen_per_cp `_ + Undocumented + + +`get_comb `_ + Undocumented + + +`get_comb_val `_ + Undocumented + + +`gethp `_ + Undocumented + + +`h_cache `_ + Undocumented + + +`initialize_mrcc_e0_denominator `_ + If true, initialize mrcc_E0_denominator + + +`isincassd `_ + Undocumented + + +`lambda_type `_ lambda type -`linked `_ +`linked `_ Undocumented -`mrcc_part_dress `_ +`mrcc_collector `_ + Undocumented + + +`mrcc_cweight `_ + Undocumented + + +`mrcc_cweight_cache `_ + Undocumented + + +`mrcc_e0_denominator `_ + E0 in the denominator of the mrcc + + +`mrcc_find `_ + Undocumented + + +`mrcc_jobs `_ + Undocumented + + +`mrcc_norm `_ + Undocumented + + +`mrcc_norm_acc `_ + Undocumented + + +`mrcc_part_dress `_ + Undocumented + + +`mrcc_part_dress_1c `_ + Undocumented + + +`mrcc_previous_e `_ + energy difference between last two mrcc iterations + + +`mrcc_slave `_ + Helper program to compute the mrcc in distributed mode. + + +`mrcc_slave_inproc `_ + Undocumented + + +`mrcc_slave_tcp `_ + Undocumented + + +`mrcc_stoch `_ + Undocumented + + +`mrcc_stoch_istate `_ + State considered + + +`mrcc_teeth `_ + Undocumented + + +`mrcc_teeth_size `_ + Undocumented + + +`mrcc_weight `_ + Undocumented + + +`mrcc_weight_inv `_ + Undocumented + + +`mrcc_workload `_ Undocumented @@ -143,7 +371,7 @@ Documentation Undocumented -`mrsc2_dressing_collector `_ +`mrsc2_dressing_collector `_ Collects results from the AO integral calculation @@ -159,27 +387,59 @@ Documentation Task for parallel MR-SC2 -`mrsc2sub `_ +`mrsc2sub `_ Undocumented -`n_it_max_dressed_ci `_ +`n_cp `_ + Undocumented + + +`n_cps_max `_ + Undocumented + + +`n_it_max_dressed_ci `_ Maximum number of dressed CI iterations -`nlink `_ +`n_mrcc_jobs `_ Undocumented -`print_cas_coefs `_ +`n_mrcc_teeth `_ Undocumented -`pull_mrsc2_results `_ +`nlink `_ + Undocumented + + +`perturbative_triples `_ + Compute perturbative contribution of the Triples + + +`print_cas_coefs `_ + Undocumented + + +`provide_everything `_ + Undocumented + + +`pull_mrcc_results `_ + Undocumented + + +`pull_mrsc2_results `_ Push integrals in the push socket -`push_mrsc2_results `_ +`push_mrcc_results `_ + Undocumented + + +`push_mrsc2_results `_ Push integrals in the push socket @@ -187,22 +447,42 @@ Documentation Undocumented -`run_pt2 `_ +`run_mrcc_slave `_ Undocumented -`run_pt2_old `_ +`run_pt2 `_ Undocumented -`searchance `_ +`run_pt2_old `_ Undocumented -`set_det_bit `_ +`run_wf `_ Undocumented -`thresh_dressed_ci `_ +`s2_cache `_ + Undocumented + + +`searchance `_ + Undocumented + + +`set_det_bit `_ + Undocumented + + +`thresh_dressed_ci `_ Threshold on the convergence of the dressed CI energy + +`tooth_of_det `_ + Undocumented + + +`zmq_mrcc `_ + Undocumented + diff --git a/src/AO_Basis/README.rst b/src/AO_Basis/README.rst index 1f3f67b9..6919568b 100644 --- a/src/AO_Basis/README.rst +++ b/src/AO_Basis/README.rst @@ -56,59 +56,59 @@ Documentation .. by the `update_README.py` script. -`ao_cartesian `_ +`ao_cartesian `_ If true, use AOs in Cartesian coordinates (6d,10f,...) -`ao_coef `_ +`ao_coef `_ Primitive coefficients, read from input. Those should not be used directly, as the MOs are expressed on the basis of **normalized** AOs. -`ao_coef_normalization_factor `_ +`ao_coef_normalization_factor `_ Coefficients including the AO normalization -`ao_coef_normalization_libint_factor `_ +`ao_coef_normalization_libint_factor `_ Coefficients including the AO normalization -`ao_coef_normalized `_ +`ao_coef_normalized `_ Coefficients including the AO normalization -`ao_coef_normalized_ordered `_ +`ao_coef_normalized_ordered `_ Sorted primitives to accelerate 4 index MO transformation -`ao_coef_normalized_ordered_transp `_ +`ao_coef_normalized_ordered_transp `_ Transposed ao_coef_normalized_ordered -`ao_expo `_ +`ao_expo `_ Exponents for each primitive of each AO -`ao_expo_ordered `_ +`ao_expo_ordered `_ Sorted primitives to accelerate 4 index MO transformation -`ao_expo_ordered_transp `_ +`ao_expo_ordered_transp `_ Transposed ao_expo_ordered -`ao_l `_ +`ao_l `_ ao_l = l value of the AO: a+b+c in x^a y^b z^c -`ao_l_char `_ +`ao_l_char `_ ao_l = l value of the AO: a+b+c in x^a y^b z^c -`ao_l_char_space `_ +`ao_l_char_space `_ Undocumented -`ao_l_max `_ +`ao_l_max `_ ao_l = l value of the AO: a+b+c in x^a y^b z^c @@ -116,24 +116,20 @@ Documentation MD5 key, specific of the AO basis -`ao_nucl `_ +`ao_nucl `_ Index of the nucleus on which the AO is centered -`ao_num `_ +`ao_num `_ number of AOs -`ao_num_align `_ - Number of atomic orbitals align - - `ao_overlap `_ Overlap between atomic basis functions: :math:`\int \chi_i(r) \chi_j(r) dr)` -`ao_overlap_abs `_ +`ao_overlap_abs `_ Overlap between absolute value of atomic basis functions: :math:`\int |\chi_i(r)| |\chi_j(r)| dr)` @@ -153,26 +149,22 @@ Documentation :math:`\int \chi_i(r) \chi_j(r) dr)` -`ao_power `_ +`ao_power `_ Powers of x, y and z for each AO -`ao_power_index `_ +`ao_power_index `_ Unique index given to a triplet of powers: .br 1/2 (l-n_x)*(l-n_x+1) + n_z + 1 -`ao_prim_num `_ +`ao_prim_num `_ Number of primitives per atomic orbital -`ao_prim_num_max `_ - Undocumented - - -`ao_prim_num_max_align `_ - Number of primitives per atomic orbital aligned +`ao_prim_num_max `_ + max number of primitives `ao_value `_ @@ -223,11 +215,11 @@ Documentation gives the values of aos at a given point r -`l_to_charater `_ +`l_to_charater `_ character corresponding to the "L" value of an AO orbital -`n_aos_max `_ +`n_aos_max `_ Number of AOs per atom @@ -239,22 +231,34 @@ Documentation Undocumented -`nucl_aos `_ +`nucl_aos `_ List of AOs attached on each atom -`nucl_list_shell_aos `_ +`nucl_list_shell_aos `_ Index of the shell type Aos and of the corresponding Aos Per convention, for P,D,F and G AOs, we take the index of the AO with the the corresponding power in the "X" axis -`nucl_n_aos `_ +`nucl_n_aos `_ Number of AOs per atom -`nucl_num_shell_aos `_ +`nucl_num_shell_aos `_ Index of the shell type Aos and of the corresponding Aos Per convention, for P,D,F and G AOs, we take the index of the AO with the the corresponding power in the "X" axis + +`s_half `_ + S^{1/2} + + +`s_half_inv `_ + Matrix X = S^{-1/2} obtained by SVD + + +`s_inv `_ + S^-1 + diff --git a/src/Bitmask/README.rst b/src/Bitmask/README.rst index c8c6863b..8da395bf 100644 --- a/src/Bitmask/README.rst +++ b/src/Bitmask/README.rst @@ -72,15 +72,19 @@ Documentation Transform a bit string to a string for printing -`cas_bitmask `_ +`broadcast_chunks_bit_kind `_ + Broadcast with chunks of ~2GB + + +`cas_bitmask `_ Bitmasks for CAS reference determinants. (N_int, alpha/beta, CAS reference) -`closed_shell_ref_bitmask `_ +`closed_shell_ref_bitmask `_ Undocumented -`core_bitmask `_ +`core_bitmask `_ Core + deleted orbitals bitmask @@ -88,7 +92,7 @@ Documentation Undocumented -`core_inact_virt_bitmask `_ +`core_inact_virt_bitmask `_ Reunion of the inactive and virtual bitmasks @@ -110,7 +114,7 @@ Documentation Undocumented -`generators_bitmask `_ +`generators_bitmask `_ Bitmasks for generator determinants. (N_int, alpha/beta, hole/particle, generator). .br @@ -130,7 +134,7 @@ Documentation .br -`generators_bitmask_restart `_ +`generators_bitmask_restart `_ Bitmasks for generator determinants. (N_int, alpha/beta, hole/particle, generator). .br @@ -154,11 +158,11 @@ Documentation Hartree Fock bit mask -`i_bitmask_gen `_ +`i_bitmask_gen `_ Current bitmask for the generators -`inact_bitmask `_ +`inact_bitmask `_ inact_bitmask : Bitmask of the inactive orbitals which are supposed to be doubly excited in post CAS methods n_inact_orb : Number of inactive orbitals @@ -167,7 +171,7 @@ Documentation n_virt_orb : Number of virtual orbitals -`inact_virt_bitmask `_ +`inact_virt_bitmask `_ Reunion of the inactive and virtual bitmasks @@ -231,7 +235,7 @@ Documentation Undocumented -`list_act `_ +`list_act `_ list_act(i) = index of the ith active orbital .br list_act_reverse : reverse list of active orbitals @@ -239,7 +243,7 @@ Documentation list_act_reverse(i) = k ::> IS the kth active orbital -`list_act_reverse `_ +`list_act_reverse `_ list_act(i) = index of the ith active orbital .br list_act_reverse : reverse list of active orbitals @@ -247,31 +251,31 @@ Documentation list_act_reverse(i) = k ::> IS the kth active orbital -`list_core `_ +`list_core `_ List of the core orbitals that are never excited in post CAS method -`list_core_inact `_ +`list_core_inact `_ Undocumented -`list_core_inact_act `_ +`list_core_inact_act `_ Undocumented -`list_core_inact_act_reverse `_ +`list_core_inact_act_reverse `_ Undocumented -`list_core_inact_reverse `_ +`list_core_inact_reverse `_ Undocumented -`list_core_reverse `_ +`list_core_reverse `_ List of the core orbitals that are never excited in post CAS method -`list_inact `_ +`list_inact `_ list_inact : List of the inactive orbitals which are supposed to be doubly excited in post CAS methods list_virt : List of vritual orbitals which are supposed to be recieve electrons @@ -284,7 +288,7 @@ Documentation list_virt_reverse(i) = k ::> IS the kth virtual -`list_inact_reverse `_ +`list_inact_reverse `_ list_inact : List of the inactive orbitals which are supposed to be doubly excited in post CAS methods list_virt : List of vritual orbitals which are supposed to be recieve electrons @@ -302,7 +306,7 @@ Documentation occupations "list(N_int*bit_kind_size,2) -`list_virt `_ +`list_virt `_ list_inact : List of the inactive orbitals which are supposed to be doubly excited in post CAS methods list_virt : List of vritual orbitals which are supposed to be recieve electrons @@ -315,7 +319,7 @@ Documentation list_virt_reverse(i) = k ::> IS the kth virtual -`list_virt_reverse `_ +`list_virt_reverse `_ list_inact : List of the inactive orbitals which are supposed to be doubly excited in post CAS methods list_virt : List of vritual orbitals which are supposed to be recieve electrons @@ -343,27 +347,31 @@ Documentation the electrons to the orbital i_part -`n_act_orb `_ +`mpi_bit_kind `_ + MPI bit kind type + + +`n_act_orb `_ number of active orbitals -`n_cas_bitmask `_ +`n_cas_bitmask `_ Number of bitmasks for CAS -`n_core_inact_act_orb `_ +`n_core_inact_act_orb `_ Reunion of the core, inactive and active bitmasks -`n_core_inact_orb `_ +`n_core_inact_orb `_ Undocumented -`n_core_orb `_ +`n_core_orb `_ Core + deleted orbitals bitmask -`n_core_orb_allocate `_ +`n_core_orb_allocate `_ Undocumented @@ -371,11 +379,11 @@ Documentation Number of bitmasks for generators -`n_generators_bitmask_restart `_ +`n_generators_bitmask_restart `_ Number of bitmasks for generators -`n_inact_orb `_ +`n_inact_orb `_ inact_bitmask : Bitmask of the inactive orbitals which are supposed to be doubly excited in post CAS methods n_inact_orb : Number of inactive orbitals @@ -384,7 +392,7 @@ Documentation n_virt_orb : Number of virtual orbitals -`n_inact_orb_allocate `_ +`n_inact_orb_allocate `_ Undocumented @@ -392,7 +400,7 @@ Documentation Number of 64-bit integers needed to represent determinants as binary strings -`n_virt_orb `_ +`n_virt_orb `_ inact_bitmask : Bitmask of the inactive orbitals which are supposed to be doubly excited in post CAS methods n_inact_orb : Number of inactive orbitals @@ -401,7 +409,7 @@ Documentation n_virt_orb : Number of virtual orbitals -`n_virt_orb_allocate `_ +`n_virt_orb_allocate `_ Undocumented @@ -449,19 +457,19 @@ Documentation Reference bit mask, used in Slater rules, chosen as Hartree-Fock bitmask -`reunion_of_bitmask `_ +`reunion_of_bitmask `_ Reunion of the inactive, active and virtual bitmasks -`reunion_of_cas_inact_bitmask `_ +`reunion_of_cas_inact_bitmask `_ Reunion of the inactive, active and virtual bitmasks -`reunion_of_core_inact_act_bitmask `_ +`reunion_of_core_inact_act_bitmask `_ Reunion of the core, inactive and active bitmasks -`reunion_of_core_inact_bitmask `_ +`reunion_of_core_inact_bitmask `_ Reunion of the core and inactive and virtual bitmasks @@ -475,11 +483,11 @@ Documentation as the input_bimask -`unpaired_alpha_electrons `_ +`unpaired_alpha_electrons `_ Bitmask reprenting the unpaired alpha electrons in the HF_bitmask -`virt_bitmask `_ +`virt_bitmask `_ inact_bitmask : Bitmask of the inactive orbitals which are supposed to be doubly excited in post CAS methods n_inact_orb : Number of inactive orbitals diff --git a/src/Davidson/README.rst b/src/Davidson/README.rst index 62a7495b..9a62914d 100644 --- a/src/Davidson/README.rst +++ b/src/Davidson/README.rst @@ -30,7 +30,7 @@ Documentation N_states lowest eigenvalues of the CI matrix -`davidson_collector `_ +`davidson_collector `_ Undocumented @@ -42,48 +42,6 @@ Documentation Can be : [ energy | residual | both | wall_time | cpu_time | iterations ] -`davidson_diag `_ - Davidson diagonalization. - .br - dets_in : bitmasks corresponding to determinants - .br - u_in : guess coefficients on the various states. Overwritten - on exit - .br - dim_in : leftmost dimension of u_in - .br - sze : Number of determinants - .br - N_st : Number of eigenstates - .br - iunit : Unit number for the I/O - .br - Initial guess vectors are not necessarily orthonormal - - -`davidson_diag_hjj `_ - Davidson diagonalization with specific diagonal elements of the H matrix - .br - H_jj : specific diagonal H matrix elements to diagonalize de Davidson - .br - dets_in : bitmasks corresponding to determinants - .br - u_in : guess coefficients on the various states. Overwritten - on exit - .br - dim_in : leftmost dimension of u_in - .br - sze : Number of determinants - .br - N_st : Number of eigenstates - .br - N_st_diag : Number of states in which H is diagonalized - .br - iunit : Unit for the I/O - .br - Initial guess vectors are not necessarily orthonormal - - `davidson_diag_hjj_sjj `_ Davidson diagonalization with specific diagonal elements of the H matrix .br @@ -128,11 +86,11 @@ Documentation Initial guess vectors are not necessarily orthonormal -`davidson_pull_results `_ +`davidson_pull_results `_ Undocumented -`davidson_push_results `_ +`davidson_push_results `_ Undocumented @@ -152,7 +110,7 @@ Documentation Undocumented -`davidson_slave_work `_ +`davidson_slave_work `_ Undocumented @@ -160,24 +118,20 @@ Documentation Number of micro-iterations before re-contracting -`det_inf `_ +`det_inf `_ Ordering function for determinants -`diag_and_save `_ - Undocumented - - `diagonalize_ci `_ Replace the coefficients of the CI states by the coefficients of the eigenstates of the CI matrix -`disk_based_davidson `_ +`disk_based_davidson `_ If true, disk space is used to store the vectors -`distributed_davidson `_ +`distributed_davidson `_ If true, use the distributed algorithm @@ -189,17 +143,7 @@ Documentation Select all the determinants with the lowest energy as a starting point. -`h_s2_u_0_nstates `_ - Computes v_0 = H|u_0> and s_0 = S^2 |u_0> - .br - n : number of determinants - .br - H_jj : array of - .br - S2_jj : array of - - -`h_s2_u_0_nstates_openmp `_ +`h_s2_u_0_nstates_openmp `_ Computes v_0 = H|u_0> and s_0 = S^2 |u_0> .br Assumes that the determinants are in psi_det @@ -207,47 +151,43 @@ Documentation istart, iend, ishift, istep are used in ZMQ parallelization. -`h_s2_u_0_nstates_openmp_work `_ +`h_s2_u_0_nstates_openmp_work `_ Computes v_t = H|u_t> and s_t = S^2 |u_t> .br Default should be 1,N_det,0,1 -`h_s2_u_0_nstates_openmp_work_1 `_ +`h_s2_u_0_nstates_openmp_work_1 `_ Computes v_t = H|u_t> and s_t = S^2 |u_t> .br Default should be 1,N_det,0,1 -`h_s2_u_0_nstates_openmp_work_2 `_ +`h_s2_u_0_nstates_openmp_work_2 `_ Computes v_t = H|u_t> and s_t = S^2 |u_t> .br Default should be 1,N_det,0,1 -`h_s2_u_0_nstates_openmp_work_3 `_ +`h_s2_u_0_nstates_openmp_work_3 `_ Computes v_t = H|u_t> and s_t = S^2 |u_t> .br Default should be 1,N_det,0,1 -`h_s2_u_0_nstates_openmp_work_4 `_ +`h_s2_u_0_nstates_openmp_work_4 `_ Computes v_t = H|u_t> and s_t = S^2 |u_t> .br Default should be 1,N_det,0,1 -`h_s2_u_0_nstates_openmp_work_n_int `_ +`h_s2_u_0_nstates_openmp_work_n_int `_ Computes v_t = H|u_t> and s_t = S^2 |u_t> .br Default should be 1,N_det,0,1 -`h_s2_u_0_nstates_test `_ - Undocumented - - -`h_s2_u_0_nstates_zmq `_ +`h_s2_u_0_nstates_zmq `_ Computes v_0 = H|u_0> and s_0 = S^2 |u_0> .br n : number of determinants @@ -257,23 +197,18 @@ Documentation S2_jj : array of -`h_u_0_nstates `_ - Computes v_0 = H|u_0> - .br - n : number of determinants - .br - H_jj : array of - .br - - -`n_states_diag `_ +`n_states_diag `_ Number of states to consider during the Davdison diagonalization -`nthreads_davidson `_ +`nthreads_davidson `_ Number of threads for Davdison +`print_energy `_ + Undocumented + + `print_h_matrix_restart `_ Undocumented @@ -286,37 +221,41 @@ Documentation Energy of the current wave function -`routine `_ - Undocumented - - -`sort_dets_ab `_ +`sort_dets_ab `_ Uncodumented : TODO -`sort_dets_ab_v `_ +`sort_dets_ab_v `_ Uncodumented : TODO -`sort_dets_ba_v `_ +`sort_dets_ba_v `_ Uncodumented : TODO -`state_following `_ +`state_following `_ If true, the states are re-ordered to match the input states -`tamiser `_ +`tamiser `_ Uncodumented : TODO -`threshold_davidson `_ +`threshold_davidson `_ Thresholds of Davidson's algorithm -`u_0_h_u_0 `_ +`u_0_h_u_0 `_ Computes e_0 = / .br n : number of determinants .br + +`zmq_get_n_states_diag `_ + Get N_states_diag from the qp_run scheduler + + +`zmq_put_n_states_diag `_ + Put N_states_diag on the qp_run scheduler + diff --git a/src/Determinants/README.rst b/src/Determinants/README.rst index 9fac5112..40cf4840 100644 --- a/src/Determinants/README.rst +++ b/src/Determinants/README.rst @@ -15,19 +15,19 @@ Documentation .. by the `update_README.py` script. -`a_operator `_ +`a_operator `_ Needed for diag_H_mat_elem -`abs_psi_coef_max `_ +`abs_psi_coef_max `_ Max and min values of the coefficients -`abs_psi_coef_min `_ +`abs_psi_coef_min `_ Max and min values of the coefficients -`ac_operator `_ +`ac_operator `_ Needed for diag_H_mat_elem @@ -35,15 +35,15 @@ Documentation Adds values to the map of two_body_dm according to some bitmask -`apply_excitation `_ +`apply_excitation `_ Undocumented -`apply_hole `_ +`apply_hole `_ Undocumented -`apply_holes `_ +`apply_holes `_ Undocumented @@ -51,11 +51,11 @@ Documentation Undocumented -`apply_particle `_ +`apply_particle `_ Undocumented -`apply_particles `_ +`apply_particles `_ Undocumented @@ -67,12 +67,12 @@ Documentation Energy of the reference bitmask used in Slater rules -`bitstring_to_list_ab `_ +`bitstring_to_list_ab `_ Gives the inidices(+1) of the bits set to 1 in the bit string For alpha/beta determinants -`bitstring_to_list_ab_old `_ +`bitstring_to_list_ab_old `_ Gives the inidices(+1) of the bits set to 1 in the bit string For alpha/beta determinants @@ -86,33 +86,33 @@ Documentation Undocumented -`compute_diag_two_body_dm_ab `_ +`compute_diag_two_body_dm_ab `_ Undocumented -`compute_diag_two_body_dm_ab_act `_ +`compute_diag_two_body_dm_ab_act `_ Undocumented -`compute_diag_two_body_dm_ab_core `_ +`compute_diag_two_body_dm_ab_core `_ Undocumented -`compute_diag_two_body_dm_ab_core_act `_ +`compute_diag_two_body_dm_ab_core_act `_ Undocumented -`compute_extra_diag_two_body_dm_ab `_ +`compute_extra_diag_two_body_dm_ab `_ compute the extra diagonal contribution to the alpha/bet two body density at r1, r2 -`compute_extra_diag_two_body_dm_ab_act `_ +`compute_extra_diag_two_body_dm_ab_act `_ 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 -`compute_extra_diag_two_body_dm_ab_core_act `_ +`compute_extra_diag_two_body_dm_ab_core_act `_ 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 @@ -131,7 +131,7 @@ Documentation After calling this subroutine, N_det, psi_det and psi_coef need to be touched -`copy_psi_bilinear_to_psi `_ +`copy_psi_bilinear_to_psi `_ Overwrites psi_det and psi_coef with the wf in bilinear order @@ -139,20 +139,20 @@ Documentation Undocumented -`create_minilist `_ +`create_minilist `_ Undocumented -`create_minilist_find_previous `_ +`create_minilist_find_previous `_ Undocumented -`create_wf_of_psi_bilinear_matrix `_ +`create_wf_of_psi_bilinear_matrix `_ Generate a wave function containing all possible products of alpha and beta determinants -`decode_exc `_ +`decode_exc `_ Decodes the exc arrays returned by get_excitation. h1,h2 : Holes p1,p2 : Particles @@ -160,7 +160,13 @@ Documentation degree : Degree of excitation -`decode_exc_spin `_ +`decode_exc_spin `_ + Decodes the exc arrays returned by get_excitation. + h1,h2 : Holes + p1,p2 : Particles + + +`decode_exc_spin_new `_ Decodes the exc arrays returned by get_excitation. h1,h2 : Holes p1,p2 : Particles @@ -178,11 +184,11 @@ Documentation ||Da||_i \sum_j C_{ij}**2 -`det_coef `_ +`det_coef `_ det_coef -`det_occ `_ +`det_occ `_ det_occ @@ -194,11 +200,11 @@ Documentation Transform a determinant to an occupation pattern -`detcmp `_ +`detcmp `_ Undocumented -`deteq `_ +`deteq `_ Undocumented @@ -206,7 +212,11 @@ Documentation Diagonalization algorithm (Davidson or Lapack) -`diag_h_mat_elem `_ +`diag_and_save `_ + Undocumented + + +`diag_h_mat_elem `_ Computes @@ -214,7 +224,7 @@ Documentation Computes for any determinant i. Used for wave functions with an additional electron. -`diag_h_mat_elem_fock `_ +`diag_h_mat_elem_fock `_ Computes when i is at most a double excitation from a reference. @@ -223,7 +233,7 @@ Documentation Returns -`diagonalize_s2_betweenstates `_ +`diagonalize_s2_betweenstates `_ 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, @@ -280,7 +290,7 @@ Documentation an orbital doubly occupied in the ith couple -`expected_s2 `_ +`expected_s2 `_ Expected value of S2 : S*(S+1) @@ -332,7 +342,7 @@ Documentation idx(0) is the number of determinants that DO NOT interact with key1 -`flip_generators `_ +`flip_generators `_ Undocumented @@ -340,11 +350,11 @@ Documentation Undocumented -`generate_all_alpha_beta_det_products `_ +`generate_all_alpha_beta_det_products `_ Create a wave function from all possible alpha x beta determinants -`get_all_spin_doubles `_ +`get_all_spin_doubles `_ .br Returns the indices of all the double excitations in the list of unique alpha determinants. @@ -358,35 +368,35 @@ Documentation .br -`get_all_spin_doubles_2 `_ +`get_all_spin_doubles_2 `_ .br Returns the indices of all the double excitations in the list of unique alpha determinants. .br -`get_all_spin_doubles_3 `_ +`get_all_spin_doubles_3 `_ .br Returns the indices of all the double excitations in the list of unique alpha determinants. .br -`get_all_spin_doubles_4 `_ +`get_all_spin_doubles_4 `_ .br Returns the indices of all the double excitations in the list of unique alpha determinants. .br -`get_all_spin_doubles_n_int `_ +`get_all_spin_doubles_n_int `_ .br Returns the indices of all the double excitations in the list of unique alpha determinants. .br -`get_all_spin_singles `_ +`get_all_spin_singles `_ .br Returns the indices of all the single excitations in the list of unique alpha determinants. @@ -400,28 +410,28 @@ Documentation .br -`get_all_spin_singles_2 `_ +`get_all_spin_singles_2 `_ .br Returns the indices of all the single excitations in the list of unique alpha determinants. .br -`get_all_spin_singles_3 `_ +`get_all_spin_singles_3 `_ .br Returns the indices of all the single excitations in the list of unique alpha determinants. .br -`get_all_spin_singles_4 `_ +`get_all_spin_singles_4 `_ .br Returns the indices of all the single excitations in the list of unique alpha determinants. .br -`get_all_spin_singles_and_doubles `_ +`get_all_spin_singles_and_doubles `_ .br Returns the indices of all the single and double excitations in the list of unique alpha determinants. @@ -430,7 +440,7 @@ Documentation .br -`get_all_spin_singles_and_doubles_1 `_ +`get_all_spin_singles_and_doubles_1 `_ .br Returns the indices of all the single and double excitations in the list of unique alpha determinants. @@ -439,7 +449,7 @@ Documentation .br -`get_all_spin_singles_and_doubles_2 `_ +`get_all_spin_singles_and_doubles_2 `_ .br Returns the indices of all the single and double excitations in the list of unique alpha determinants. @@ -448,7 +458,7 @@ Documentation .br -`get_all_spin_singles_and_doubles_3 `_ +`get_all_spin_singles_and_doubles_3 `_ .br Returns the indices of all the single and double excitations in the list of unique alpha determinants. @@ -457,7 +467,7 @@ Documentation .br -`get_all_spin_singles_and_doubles_4 `_ +`get_all_spin_singles_and_doubles_4 `_ .br Returns the indices of all the single and double excitations in the list of unique alpha determinants. @@ -466,7 +476,7 @@ Documentation .br -`get_all_spin_singles_and_doubles_n_int `_ +`get_all_spin_singles_and_doubles_n_int `_ .br Returns the indices of all the single and double excitations in the list of unique alpha determinants. @@ -475,27 +485,36 @@ Documentation .br -`get_all_spin_singles_n_int `_ +`get_all_spin_singles_n_int `_ .br Returns the indices of all the single excitations in the list of unique alpha determinants. .br -`get_double_excitation `_ +`get_double_excitation `_ Returns the two excitation operators between two doubly excited determinants and the phase -`get_double_excitation_phase `_ +`get_double_excitation_phase `_ Undocumented -`get_double_excitation_spin `_ +`get_double_excitation_phase_new `_ + Undocumented + + +`get_double_excitation_spin `_ Returns the two excitation operators between two doubly excited spin-determinants and the phase -`get_excitation `_ +`get_double_excitation_spin_new `_ + Returns the two excitation operators between two doubly excited spin-determinants + and the phase + + +`get_excitation `_ Returns the excitation operators between two determinants and the phase @@ -503,34 +522,42 @@ Documentation Returns the excitation degree between two determinants -`get_excitation_degree_spin `_ +`get_excitation_degree_spin `_ Returns the excitation degree between two determinants -`get_excitation_degree_vector `_ +`get_excitation_degree_spin_new `_ + Returns the excitation degree between two determinants + + +`get_excitation_degree_vector `_ Applies get_excitation_degree to an array of determinants -`get_excitation_degree_vector_double_alpha_beta `_ +`get_excitation_degree_vector_double_alpha_beta `_ Applies get_excitation_degree to an array of determinants and return only the mono excitations and the connections through exchange integrals -`get_excitation_degree_vector_mono `_ +`get_excitation_degree_vector_mono `_ Applies get_excitation_degree to an array of determinants and return only the mono excitations -`get_excitation_degree_vector_mono_or_exchange `_ +`get_excitation_degree_vector_mono_or_exchange `_ Applies get_excitation_degree to an array of determinants and return only the mono excitations and the connections through exchange integrals -`get_excitation_degree_vector_mono_or_exchange_verbose `_ +`get_excitation_degree_vector_mono_or_exchange_verbose `_ Applies get_excitation_degree to an array of determinants and return only the mono excitations and the connections through exchange integrals -`get_excitation_spin `_ +`get_excitation_spin `_ + Returns the excitation operators between two determinants and the phase + + +`get_excitation_spin_new `_ Returns the excitation operators between two determinants and the phase @@ -551,7 +578,7 @@ Documentation Returns the index of the determinant in the ``psi_det_sorted_bit`` array -`get_mono_excitation `_ +`get_mono_excitation `_ Returns the excitation operator between two singly excited determinants and the phase @@ -559,19 +586,23 @@ Documentation Undocumented -`get_mono_excitation_spin `_ +`get_mono_excitation_spin `_ Returns the excitation operator between two singly excited determinants and the phase -`get_occ_from_key `_ +`get_mono_excitation_spin_new `_ + Returns the excitation operator between two singly excited determinants and the phase + + +`get_occ_from_key `_ Returns a list of occupation numbers from a bitstring -`get_phase `_ +`get_phase `_ Returns the phase between key1 and key2 -`get_s2 `_ +`get_s2 `_ Returns @@ -580,7 +611,7 @@ Documentation \rho_{ijkl}^{\alpha \beta } = <\Psi|a^{\dagger}_{i\alpha} a^{\dagger}_{j\beta} a_{k\beta} a_{l\alpha}|\Psi> -`get_uj_s2_ui `_ +`get_uj_s2_ui `_ returns the matrix elements of S^2 "s2(i,j)" between the "nstates" states psi_coefs_tmp(:,i) and psi_coefs_tmp(:,j) @@ -611,7 +642,7 @@ Documentation Undocumented -`h_u_0_stored `_ +`h_u_0_stored `_ Computes v_0 = H|u_0> .br n : number of determinants @@ -619,31 +650,31 @@ Documentation uses the big_matrix_stored array -`i_h_j `_ +`i_h_j `_ Returns where i and j are determinants -`i_h_j_double_alpha_beta `_ +`i_h_j_double_alpha_beta `_ Returns where i and j are determinants differing by an opposite-spin double excitation -`i_h_j_double_spin `_ +`i_h_j_double_spin `_ Returns where i and j are determinants differing by a same-spin double excitation -`i_h_j_mono_spin `_ +`i_h_j_mono_spin `_ Returns where i and j are determinants differing by a single excitation -`i_h_j_phase_out `_ +`i_h_j_phase_out `_ Returns where i and j are determinants -`i_h_j_verbose `_ +`i_h_j_verbose `_ Returns where i and j are determinants -`i_h_psi `_ +`i_h_psi `_ Computes = \sum_J c_J . .br Uses filter_connected_i_H_psi0 to get all the |J> to which |i> @@ -652,14 +683,14 @@ Documentation minilists -`i_h_psi_minilist `_ +`i_h_psi_minilist `_ Computes = \sum_J c_J . .br 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. -`i_h_psi_sc2 `_ +`i_h_psi_sc2 `_ for the various Nstate .br returns in addition @@ -673,7 +704,7 @@ Documentation to repeat the excitations -`i_h_psi_sc2_verbose `_ +`i_h_psi_sc2_verbose `_ for the various Nstate .br returns in addition @@ -687,11 +718,11 @@ Documentation to repeat the excitations -`i_h_psi_sec_ord `_ +`i_h_psi_sec_ord `_ for the various Nstates -`i_s2_psi_minilist `_ +`i_s2_psi_minilist `_ Computes = \sum_J c_J . .br Uses filter_connected_i_H_psi0 to get all the |J> to which |i> @@ -713,7 +744,7 @@ Documentation Create new entry into two_body_dm_ab_map, or accumulate in an existing entry -`insert_into_two_body_dm_big_array `_ +`insert_into_two_body_dm_big_array `_ Undocumented @@ -742,11 +773,11 @@ Documentation Energy of the reference bitmask used in Slater rules -`make_s2_eigenfunction `_ +`make_s2_eigenfunction `_ Undocumented -`max_degree_exc `_ +`max_degree_exc `_ Maximum degree of excitation in the wf @@ -784,20 +815,20 @@ Documentation determinants. idx_cas gives the indice of the CAS determinant in psi_det. -`n_det_max `_ +`n_det_max `_ Max number of determinants in the wave function -`n_det_max_jacobi `_ +`n_det_max_jacobi `_ Maximum number of determinants diagonalized by Jacobi -`n_det_max_property `_ +`n_det_max_property `_ Max number of determinants in the wave function when you select for a given property -`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 represent a matrix of size 60 Gb. +`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 represent a matrix of size 60 Gb. `n_det_non_cas `_ @@ -810,7 +841,7 @@ Documentation Number of double excitation bitmasks -`n_occ_pattern `_ +`n_occ_pattern `_ 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 @@ -824,7 +855,7 @@ Documentation Number of single excitation bitmasks -`n_states `_ +`n_states `_ Number of states to consider @@ -854,31 +885,23 @@ Documentation Number of possible determinants for a given occ_pattern -`one_body_dm_ao_alpha `_ +`one_body_dm_ao_alpha `_ one body density matrix on the AO basis : rho_AO(alpha) , rho_AO(beta) -`one_body_dm_ao_alpha_no_align `_ +`one_body_dm_ao_beta `_ one body density matrix on the AO basis : rho_AO(alpha) , rho_AO(beta) -`one_body_dm_ao_beta `_ - one body density matrix on the AO basis : rho_AO(alpha) , rho_AO(beta) - - -`one_body_dm_ao_beta_no_align `_ - one body density matrix on the AO basis : rho_AO(alpha) , rho_AO(beta) - - -`one_body_dm_dagger_mo_spin_index `_ +`one_body_dm_dagger_mo_spin_index `_ Undocumented -`one_body_dm_mo `_ +`one_body_dm_mo `_ One-body density matrix -`one_body_dm_mo_alpha `_ +`one_body_dm_mo_alpha `_ Alpha and beta one-body density matrix for each state @@ -886,11 +909,11 @@ Documentation Alpha and beta one-body density matrix for each state -`one_body_dm_mo_alpha_old `_ +`one_body_dm_mo_alpha_old `_ Alpha and beta one-body density matrix for each state -`one_body_dm_mo_beta `_ +`one_body_dm_mo_beta `_ Alpha and beta one-body density matrix for each state @@ -898,31 +921,35 @@ Documentation Alpha and beta one-body density matrix for each state -`one_body_dm_mo_beta_old `_ +`one_body_dm_mo_beta_old `_ Alpha and beta one-body density matrix for each state -`one_body_dm_mo_spin_index `_ +`one_body_dm_mo_diff `_ + Difference of the one-body density matrix with respect to the ground state + + +`one_body_dm_mo_spin_index `_ Undocumented -`one_body_single_double_dm_mo_alpha `_ +`one_body_single_double_dm_mo_alpha `_ Alpha and beta one-body density matrix for each state -`one_body_single_double_dm_mo_beta `_ +`one_body_single_double_dm_mo_beta `_ Alpha and beta one-body density matrix for each state -`one_body_spin_density_ao `_ +`one_body_spin_density_ao `_ one body spin density matrix on the AO basis : rho_AO(alpha) - rho_AO(beta) -`one_body_spin_density_mo `_ +`one_body_spin_density_mo `_ rho(alpha) - rho(beta) -`only_single_double_dm `_ +`only_single_double_dm `_ If true, The One body DM is calculated with ignoring the Double<->Doubles extra diag elements @@ -934,22 +961,22 @@ Documentation Undocumented -`psi_average_norm_contrib `_ +`psi_average_norm_contrib `_ Contribution of determinants to the state-averaged density -`psi_average_norm_contrib_sorted `_ +`psi_average_norm_contrib_sorted `_ Wave function sorted by determinants contribution to the norm (state-averaged) .br psi_det_sorted_order(i) -> k : index in psi_det -`psi_bilinear_matrix `_ +`psi_bilinear_matrix `_ Coefficient matrix if the wave function is expressed in a bilinear form : D_a^t C D_b -`psi_bilinear_matrix_columns `_ +`psi_bilinear_matrix_columns `_ Sparse coefficient matrix if the wave function is expressed in a bilinear form : D_a^t C D_b .br @@ -958,7 +985,7 @@ Documentation Order refers to psi_det -`psi_bilinear_matrix_columns_loc `_ +`psi_bilinear_matrix_columns_loc `_ Sparse coefficient matrix if the wave function is expressed in a bilinear form : D_a^t C D_b .br @@ -967,7 +994,7 @@ Documentation Order refers to psi_det -`psi_bilinear_matrix_order `_ +`psi_bilinear_matrix_order `_ Sparse coefficient matrix if the wave function is expressed in a bilinear form : D_a^t C D_b .br @@ -976,15 +1003,15 @@ Documentation Order refers to psi_det -`psi_bilinear_matrix_order_reverse `_ +`psi_bilinear_matrix_order_reverse `_ Order which allows to go from psi_bilinear_matrix to psi_det -`psi_bilinear_matrix_order_transp_reverse `_ +`psi_bilinear_matrix_order_transp_reverse `_ Order which allows to go from psi_bilinear_matrix_order_transp to psi_bilinear_matrix -`psi_bilinear_matrix_rows `_ +`psi_bilinear_matrix_rows `_ Sparse coefficient matrix if the wave function is expressed in a bilinear form : D_a^t C D_b .br @@ -993,7 +1020,7 @@ Documentation Order refers to psi_det -`psi_bilinear_matrix_transp_columns `_ +`psi_bilinear_matrix_transp_columns `_ Transpose of psi_bilinear_matrix D_b^t C^t D_a .br @@ -1001,7 +1028,7 @@ Documentation format -`psi_bilinear_matrix_transp_order `_ +`psi_bilinear_matrix_transp_order `_ Transpose of psi_bilinear_matrix D_b^t C^t D_a .br @@ -1009,7 +1036,7 @@ Documentation format -`psi_bilinear_matrix_transp_rows `_ +`psi_bilinear_matrix_transp_rows `_ Transpose of psi_bilinear_matrix D_b^t C^t D_a .br @@ -1017,11 +1044,11 @@ Documentation format -`psi_bilinear_matrix_transp_rows_loc `_ +`psi_bilinear_matrix_transp_rows_loc `_ Location of the columns in the psi_bilinear_matrix -`psi_bilinear_matrix_transp_values `_ +`psi_bilinear_matrix_transp_values `_ Transpose of psi_bilinear_matrix D_b^t C^t D_a .br @@ -1029,7 +1056,7 @@ Documentation format -`psi_bilinear_matrix_values `_ +`psi_bilinear_matrix_values `_ Sparse coefficient matrix if the wave function is expressed in a bilinear form : D_a^t C D_b .br @@ -1066,7 +1093,7 @@ Documentation function. -`psi_coef `_ +`psi_coef `_ The wave function coefficients. Initialized with Hartree-Fock if the EZFIO file is empty @@ -1075,28 +1102,28 @@ Documentation Undocumented -`psi_coef_max `_ +`psi_coef_max `_ Max and min values of the coefficients -`psi_coef_min `_ +`psi_coef_min `_ Max and min values of the coefficients -`psi_coef_sorted `_ +`psi_coef_sorted `_ Wave function sorted by determinants contribution to the norm (state-averaged) .br psi_det_sorted_order(i) -> k : index in psi_det -`psi_coef_sorted_bit `_ +`psi_coef_sorted_bit `_ Determinants on which we apply for perturbation. They are sorted by determinants interpreted as integers. Useful to accelerate the search of a random determinant in the wave function. -`psi_det `_ +`psi_det `_ The wave function determinants. Initialized with Hartree-Fock if the EZFIO file is empty @@ -1117,24 +1144,24 @@ Documentation Unique beta determinants -`psi_det_size `_ +`psi_det_size `_ Size of the psi_det/psi_coef arrays -`psi_det_sorted `_ +`psi_det_sorted `_ Wave function sorted by determinants contribution to the norm (state-averaged) .br psi_det_sorted_order(i) -> k : index in psi_det -`psi_det_sorted_bit `_ +`psi_det_sorted_bit `_ Determinants on which we apply for perturbation. They are sorted by determinants interpreted as integers. Useful to accelerate the search of a random determinant in the wave function. -`psi_det_sorted_order `_ +`psi_det_sorted_order `_ Wave function sorted by determinants contribution to the norm (state-averaged) .br psi_det_sorted_order(i) -> k : index in psi_det @@ -1162,7 +1189,7 @@ Documentation function. -`psi_occ_pattern `_ +`psi_occ_pattern `_ 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 @@ -1180,11 +1207,11 @@ Documentation Undocumented -`read_dets `_ +`read_dets `_ Reads the determinants from the EZFIO file -`read_wf `_ +`read_wf `_ If true, read the wave function from the EZFIO file @@ -1209,7 +1236,7 @@ Documentation be set before calling this function. -`s2_eig `_ +`s2_eig `_ Force the wave function to be an eigenfunction of S^2 @@ -1217,29 +1244,29 @@ Documentation Undocumented -`s2_u_0 `_ +`s2_u_0 `_ Computes v_0 = S^2|u_0> .br n : number of determinants .br -`s2_u_0_nstates `_ +`s2_u_0_nstates `_ Computes v_0 = S^2|u_0> .br n : number of determinants .br -`s2_values `_ +`s2_values `_ array of the averaged values of the S^2 operator on the various states -`s_z `_ +`s_z `_ z component of the Spin -`s_z2_sz `_ +`s_z2_sz `_ z component of the Spin @@ -1251,7 +1278,7 @@ Documentation Undocumented -`save_natural_mos `_ +`save_natural_mos `_ Save natural orbitals, obtained by diagonalization of the one-body density matrix in the MO basis @@ -1259,23 +1286,23 @@ Documentation Undocumented -`save_ref_determinant `_ +`save_ref_determinant `_ Undocumented -`save_wavefunction `_ +`save_wavefunction `_ Save the wave function into the EZFIO file -`save_wavefunction_general `_ +`save_wavefunction_general `_ Save the wave function into the EZFIO file -`save_wavefunction_specified `_ +`save_wavefunction_specified `_ Save the wave function into the EZFIO file -`save_wavefunction_unsorted `_ +`save_wavefunction_unsorted `_ Save the wave function into the EZFIO file @@ -1283,7 +1310,7 @@ Documentation Undocumented -`set_natural_mos `_ +`set_natural_mos `_ Set natural orbitals, obtained by diagonalization of the one-body density matrix in the MO basis @@ -1293,23 +1320,23 @@ Documentation for a given couple of hole/particle excitations i. -`singles_alpha_csc `_ +`singles_alpha_csc `_ Dimension of the singles_alpha array -`singles_alpha_csc_idx `_ +`singles_alpha_csc_idx `_ Dimension of the singles_alpha array -`singles_alpha_csc_size `_ +`singles_alpha_csc_size `_ Dimension of the singles_alpha array -`singles_alpha_size `_ +`singles_alpha_size `_ Dimension of the singles_alpha array -`sort_dets_by_det_search_key `_ +`sort_dets_by_det_search_key `_ Determinants are sorted are sorted according to their det_search_key. Useful to accelerate the search of a random determinant in the wave function. @@ -1319,19 +1346,19 @@ Documentation Return an integer(8) corresponding to a determinant index for searching -`state_average_weight `_ +`state_average_weight `_ Weights in the state-average calculation of the density matrix -`store_full_h_mat `_ +`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 -`target_energy `_ +`target_energy `_ Energy that should be obtained when truncating the wave function (optional) -`threshold_generators `_ +`threshold_generators `_ Thresholds on generators (fraction of the norm) @@ -1339,7 +1366,7 @@ Documentation Thresholds on selectors (fraction of the norm) -`two_body_dm_ab_big_array_act `_ +`two_body_dm_ab_big_array_act `_ 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 @@ -1352,7 +1379,7 @@ Documentation + sum_{h1,p1,h2,p2} two_body_dm_ab_big_array_core_act(h1,p1,h2,p2) * (h1p1|h2p2) -`two_body_dm_ab_big_array_core_act `_ +`two_body_dm_ab_big_array_core_act `_ 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 @@ -1365,7 +1392,7 @@ Documentation + sum_{h1,p1,h2,p2} two_body_dm_ab_big_array_core_act(h1,p1,h2,p2) * (h1p1|h2p2) -`two_body_dm_ab_diag_act `_ +`two_body_dm_ab_diag_act `_ 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) @@ -1385,7 +1412,7 @@ Documentation orbital m = list_act(m) -`two_body_dm_ab_diag_all `_ +`two_body_dm_ab_diag_all `_ 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) @@ -1405,7 +1432,7 @@ Documentation orbital m = list_act(m) -`two_body_dm_ab_diag_core `_ +`two_body_dm_ab_diag_core `_ 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) @@ -1425,7 +1452,7 @@ Documentation orbital m = list_act(m) -`two_body_dm_ab_diag_inact `_ +`two_body_dm_ab_diag_inact `_ 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) @@ -1449,7 +1476,7 @@ Documentation Map of the two body density matrix elements for the alpha/beta elements -`two_body_dm_diag_core_a_act_b `_ +`two_body_dm_diag_core_a_act_b `_ 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) @@ -1469,7 +1496,7 @@ Documentation orbital m = list_act(m) -`two_body_dm_diag_core_act `_ +`two_body_dm_diag_core_act `_ 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) @@ -1489,7 +1516,7 @@ Documentation orbital m = list_act(m) -`two_body_dm_diag_core_b_act_a `_ +`two_body_dm_diag_core_b_act_a `_ 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) @@ -1513,7 +1540,7 @@ Documentation If True, the map of the two body density matrix alpha/beta is provided -`u_0_h_u_0_stored `_ +`u_0_h_u_0_stored `_ Computes e_0 = .br n : number of determinants @@ -1521,14 +1548,14 @@ Documentation uses the big_matrix_stored array -`u_0_s2_u_0 `_ +`u_0_s2_u_0 `_ Computes e_0 = / .br n : number of determinants .br -`wf_of_psi_bilinear_matrix `_ +`wf_of_psi_bilinear_matrix `_ Generate a wave function containing all possible products of alpha and beta determinants @@ -1536,3 +1563,51 @@ Documentation `write_spindeterminants `_ Undocumented + +`zmq_get_n_det `_ + Get N_det from the qp_run scheduler + + +`zmq_get_n_states `_ + Get N_states from the qp_run scheduler + + +`zmq_get_psi `_ + Get the wave function from the qp_run scheduler + + +`zmq_get_psi_coef `_ + Get psi_coef from the qp_run scheduler + + +`zmq_get_psi_det `_ + Get psi_det from the qp_run scheduler + + +`zmq_get_psi_det_size `_ + Get psi_det_size from the qp_run scheduler + + +`zmq_put_n_det `_ + Put N_det on the qp_run scheduler + + +`zmq_put_n_states `_ + Put N_states on the qp_run scheduler + + +`zmq_put_psi `_ + Put the wave function on the qp_run scheduler + + +`zmq_put_psi_coef `_ + Put psi_coef on the qp_run scheduler + + +`zmq_put_psi_det `_ + Put psi_det on the qp_run scheduler + + +`zmq_put_psi_det_size `_ + Put psi_det_size on the qp_run scheduler + diff --git a/src/Electrons/README.rst b/src/Electrons/README.rst index 484617bb..9dae42fc 100644 --- a/src/Electrons/README.rst +++ b/src/Electrons/README.rst @@ -44,7 +44,7 @@ Documentation .. by the `update_README.py` script. -`elec_alpha_num `_ +`elec_alpha_num `_ Numbers of electrons alpha ("up") diff --git a/src/Ezfio_files/README.rst b/src/Ezfio_files/README.rst index 17f81a55..94a34920 100644 --- a/src/Ezfio_files/README.rst +++ b/src/Ezfio_files/README.rst @@ -170,6 +170,16 @@ Documentation Write a time stamp in the output for chronological reconstruction +Needed Modules +============== +.. Do not edit this section It was auto-generated +.. by the `update_README.py` script. + + +.. image:: tree_dependency.png + +* `MPI `_ + Documentation ============= .. Do not edit this section It was auto-generated @@ -181,7 +191,7 @@ Documentation variable if it is set, or as the 1st argument of the command line. -`ezfio_work_dir `_ +`ezfio_work_dir `_ EZFIO/work/ @@ -199,86 +209,26 @@ Documentation .br -output_ao_basis - Output file for AO_Basis - - -output_bitmask - Output file for Bitmask - - `output_cpu_time_0 `_ Initial CPU and wall times when printing in the output files -output_davidson - Output file for Davidson - - -output_determinants - Output file for Determinants - - -output_electrons - Output file for Electrons - - -output_ezfio_files - Output file for Ezfio_files - - -output_hartree_fock - Output file for Hartree_Fock - - -output_integrals_bielec - Output file for Integrals_Bielec - - -output_integrals_monoelec - Output file for Integrals_Monoelec - - -output_mo_basis - Output file for MO_Basis - - -output_moguess - Output file for MOGuess - - -output_nuclei - Output file for Nuclei - - -output_pseudo - Output file for Pseudo - - -output_utils - Output file for Utils - - `output_wall_time_0 `_ Initial CPU and wall times when printing in the output files -output_zmq - Output file for ZMQ - - -`write_bool `_ +`write_bool `_ Write an logical value in output -`write_double `_ +`write_double `_ Write a double precision value in output -`write_int `_ +`write_int `_ Write an integer value in output -`write_time `_ +`write_time `_ Write a time stamp in the output for chronological reconstruction diff --git a/src/FourIdx/README.rst b/src/FourIdx/README.rst index 6ea432c6..afd3afbf 100644 --- a/src/FourIdx/README.rst +++ b/src/FourIdx/README.rst @@ -4,3 +4,70 @@ FourIdx Four-index transformation. +Needed Modules +============== +.. Do not edit this section It was auto-generated +.. by the `update_README.py` script. + + +.. image:: tree_dependency.png + +* `ZMQ `_ + +Documentation +============= +.. Do not edit this section It was auto-generated +.. by the `update_README.py` script. + + +`four_idx_collector `_ + Undocumented + + +`four_idx_pull_results `_ + Undocumented + + +`four_idx_push_results `_ + Undocumented + + +`four_index_transform `_ + Performs a four-index transformation of map_a(N^4) into map_c(M^4) using b(NxM) + C_{abcd} = \sum_{ijkl} A_{ijkl}.B_{ia}.B_{jb}.B_{kc}.B_{ld} + Loops run over *_start->*_end + + +`four_index_transform_block `_ + Performs a four-index transformation of map_a(N^4) into map_c(M^4) using b(NxM) + C_{abcd} = \sum_{ijkl} A_{ijkl}.B_{ia}.B_{jb}.B_{kc}.B_{ld} + Loops run over *_start->*_end + + +`four_index_transform_slave `_ + Undocumented + + +`four_index_transform_slave_inproc `_ + Computes a buffer of integrals. i is the ID of the current thread. + + +`four_index_transform_slave_tcp `_ + Computes a buffer of integrals. i is the ID of the current thread. + + +`four_index_transform_slave_work `_ + Performs a four-index transformation of map_a(N^4) into map_c(M^4) using b(NxM) + C_{abcd} = \sum_{ijkl} A_{ijkl}.B_{ia}.B_{jb}.B_{kc}.B_{ld} + Loops run over *_start->*_end + + +`four_index_transform_zmq `_ + Performs a four-index transformation of map_a(N^4) into map_c(M^4) using b(NxM) + C_{abcd} = \sum_{ijkl} A_{ijkl}.B_{ia}.B_{jb}.B_{kc}.B_{ld} + Loops run over *_start->*_end + + +`nthreads_four_idx `_ + Number of threads for 4-index transformation + diff --git a/src/Integrals_Bielec/README.rst b/src/Integrals_Bielec/README.rst index 37961fb6..27cb4d4d 100644 --- a/src/Integrals_Bielec/README.rst +++ b/src/Integrals_Bielec/README.rst @@ -38,6 +38,7 @@ Needed Modules * `Pseudo `_ * `Bitmask `_ * `ZMQ `_ +* `FourIdx `_ Documentation ============= @@ -45,15 +46,15 @@ Documentation .. by the `update_README.py` script. -`add_integrals_to_map `_ +`add_integrals_to_map `_ Adds integrals to tha MO map according to some bitmask -`add_integrals_to_map_no_exit_34 `_ +`add_integrals_to_map_no_exit_34 `_ Adds integrals to tha MO map according to some bitmask -`add_integrals_to_map_three_indices `_ +`add_integrals_to_map_three_indices `_ Adds integrals to tha MO map according to some bitmask @@ -62,7 +63,7 @@ Documentation i(r1) j(r1) 1/r12 k(r2) l(r2) -`ao_bielec_integral_schwartz `_ +`ao_bielec_integral_schwartz `_ Needed to compute Schwartz inequalities @@ -76,7 +77,7 @@ Documentation i(r1) j(r2) 1/r12 k(r1) l(r2) -`ao_bielec_integrals_in_map_collector `_ +`ao_bielec_integrals_in_map_collector `_ Collects results from the AO integral calculation @@ -108,7 +109,7 @@ Documentation AO integrals -`ao_integrals_threshold `_ +`ao_integrals_threshold `_ If || < ao_integrals_threshold then is zero @@ -136,11 +137,11 @@ Documentation Undocumented -`clear_ao_map `_ +`clear_ao_map `_ Frees the memory of the AO map -`clear_mo_map `_ +`clear_mo_map `_ Frees the memory of the MO map @@ -148,7 +149,7 @@ Documentation Compute AO 1/r12 integrals for all i and fixed j,k,l -`compute_ao_integrals_jl `_ +`compute_ao_integrals_jl `_ Parallel client for AO integrals @@ -156,23 +157,23 @@ Documentation Read/Write AO integrals from/to disk [ Write | Read | None ] -`disk_access_mo_integrals `_ +`disk_access_mo_integrals `_ Read/Write MO integrals from/to disk [ Write | Read | None ] -`do_direct_integrals `_ +`do_direct_integrals `_ Compute integrals on the fly -`dump_ao_integrals `_ +`dump_ao_integrals `_ Save to disk the $ao integrals -`dump_mo_integrals `_ +`dump_mo_integrals `_ Save to disk the $ao integrals -`eri `_ +`eri `_ ATOMIC PRIMTIVE bielectronic integral between the 4 primitives :: primitive_1 = x1**(a_x) y1**(a_y) z1**(a_z) exp(-alpha * r1**2) primitive_2 = x1**(b_x) y1**(b_y) z1**(b_z) exp(- beta * r1**2) @@ -184,21 +185,21 @@ Documentation 4-index transformation from AO to MO integrals -`gauleg `_ +`gauleg `_ Gauss-Legendre -`gauleg_t2 `_ +`gauleg_t2 `_ t_w(i,1,k) = w(i) t_w(i,2,k) = t(i) -`gauleg_w `_ +`gauleg_w `_ t_w(i,1,k) = w(i) t_w(i,2,k) = t(i) -`general_primitive_integral `_ +`general_primitive_integral `_ Computes the integral where p,q,r,s are Gaussian primitives @@ -206,162 +207,162 @@ Documentation Gets one AO bi-electronic integral from the AO map -`get_ao_bielec_integrals `_ +`get_ao_bielec_integrals `_ Gets multiple AO bi-electronic integral from the AO map . All i are retrieved for j,k,l fixed. -`get_ao_bielec_integrals_non_zero `_ +`get_ao_bielec_integrals_non_zero `_ Gets multiple AO bi-electronic integral from the AO map . All non-zero i are retrieved for j,k,l fixed. -`get_ao_map_size `_ +`get_ao_map_size `_ Returns the number of elements in the AO map -`get_mo_bielec_integral `_ +`get_mo_bielec_integral `_ Returns one integral in the MO basis -`get_mo_bielec_integrals `_ +`get_mo_bielec_integrals `_ Returns multiple integrals in the MO basis, all i for j,k,l fixed. -`get_mo_bielec_integrals_coulomb_ii `_ +`get_mo_bielec_integrals_coulomb_ii `_ Returns multiple integrals k(1)i(2) 1/r12 l(1)i(2) :: out_val(i1) for k,l fixed. -`get_mo_bielec_integrals_exch_ii `_ +`get_mo_bielec_integrals_exch_ii `_ Returns multiple integrals k(1)i(2) 1/r12 i(1)l(2) :: out_val(i1) for k,l fixed. -`get_mo_bielec_integrals_ij `_ +`get_mo_bielec_integrals_ij `_ Returns multiple integrals in the MO basis, all i(1)j(2) 1/r12 k(1)l(2) i, j for k,l fixed. -`get_mo_map_size `_ +`get_mo_map_size `_ Return the number of elements in the MO map -`give_polynom_mult_center_x `_ +`give_polynom_mult_center_x `_ subroutine that returns the explicit polynom in term of the "t" variable of the following polynomw : I_x1(a_x, d_x,p,q) * I_x1(a_y, d_y,p,q) * I_x1(a_z, d_z,p,q) -`i_x1_new `_ +`i_x1_new `_ recursive function involved in the bielectronic integral -`i_x1_pol_mult `_ +`i_x1_pol_mult `_ recursive function involved in the bielectronic integral -`i_x1_pol_mult_a1 `_ +`i_x1_pol_mult_a1 `_ recursive function involved in the bielectronic integral -`i_x1_pol_mult_a2 `_ +`i_x1_pol_mult_a2 `_ recursive function involved in the bielectronic integral -`i_x1_pol_mult_recurs `_ +`i_x1_pol_mult_recurs `_ recursive function involved in the bielectronic integral -`i_x2_new `_ +`i_x2_new `_ recursive function involved in the bielectronic integral -`i_x2_pol_mult `_ +`i_x2_pol_mult `_ recursive function involved in the bielectronic integral -`insert_into_ao_integrals_map `_ +`insert_into_ao_integrals_map `_ Create new entry into AO map -`insert_into_mo_integrals_map `_ +`insert_into_mo_integrals_map `_ Create new entry into MO map, or accumulate in an existing entry -`integrale_new `_ +`integrale_new `_ calculate the integral of the polynom :: I_x1(a_x+b_x, c_x+d_x,p,q) * I_x1(a_y+b_y, c_y+d_y,p,q) * I_x1(a_z+b_z, c_z+d_z,p,q) between ( 0 ; 1) -`load_ao_integrals `_ +`load_ao_integrals `_ Read from disk the $ao integrals -`load_mo_integrals `_ +`load_mo_integrals `_ Read from disk the $ao integrals -`mo_bielec_integral `_ +`mo_bielec_integral `_ Returns one integral in the MO basis -`mo_bielec_integral_jj `_ +`mo_bielec_integral_jj `_ mo_bielec_integral_jj(i,j) = J_ij mo_bielec_integral_jj_exchange(i,j) = K_ij mo_bielec_integral_jj_anti(i,j) = J_ij - K_ij -`mo_bielec_integral_jj_anti `_ +`mo_bielec_integral_jj_anti `_ mo_bielec_integral_jj(i,j) = J_ij mo_bielec_integral_jj_exchange(i,j) = K_ij mo_bielec_integral_jj_anti(i,j) = J_ij - K_ij -`mo_bielec_integral_jj_anti_from_ao `_ +`mo_bielec_integral_jj_anti_from_ao `_ mo_bielec_integral_jj_from_ao(i,j) = J_ij mo_bielec_integral_jj_exchange_from_ao(i,j) = J_ij mo_bielec_integral_jj_anti_from_ao(i,j) = J_ij - K_ij -`mo_bielec_integral_jj_exchange `_ +`mo_bielec_integral_jj_exchange `_ mo_bielec_integral_jj(i,j) = J_ij mo_bielec_integral_jj_exchange(i,j) = K_ij mo_bielec_integral_jj_anti(i,j) = J_ij - K_ij -`mo_bielec_integral_jj_exchange_from_ao `_ +`mo_bielec_integral_jj_exchange_from_ao `_ mo_bielec_integral_jj_from_ao(i,j) = J_ij mo_bielec_integral_jj_exchange_from_ao(i,j) = J_ij mo_bielec_integral_jj_anti_from_ao(i,j) = J_ij - K_ij -`mo_bielec_integral_jj_from_ao `_ +`mo_bielec_integral_jj_from_ao `_ mo_bielec_integral_jj_from_ao(i,j) = J_ij mo_bielec_integral_jj_exchange_from_ao(i,j) = J_ij mo_bielec_integral_jj_anti_from_ao(i,j) = J_ij - K_ij -`mo_bielec_integral_vv_anti_from_ao `_ +`mo_bielec_integral_vv_anti_from_ao `_ mo_bielec_integral_vv_from_ao(i,j) = J_ij mo_bielec_integral_vv_exchange_from_ao(i,j) = J_ij mo_bielec_integral_vv_anti_from_ao(i,j) = J_ij - K_ij but only for the virtual orbitals -`mo_bielec_integral_vv_exchange_from_ao `_ +`mo_bielec_integral_vv_exchange_from_ao `_ mo_bielec_integral_vv_from_ao(i,j) = J_ij mo_bielec_integral_vv_exchange_from_ao(i,j) = J_ij mo_bielec_integral_vv_anti_from_ao(i,j) = J_ij - K_ij but only for the virtual orbitals -`mo_bielec_integral_vv_from_ao `_ +`mo_bielec_integral_vv_from_ao `_ mo_bielec_integral_vv_from_ao(i,j) = J_ij mo_bielec_integral_vv_exchange_from_ao(i,j) = J_ij mo_bielec_integral_vv_anti_from_ao(i,j) = J_ij - K_ij @@ -376,49 +377,53 @@ Documentation Computes an unique index for i,j,k,l integrals -`mo_integrals_cache `_ +`mo_integrals_cache `_ Cache of MO integrals for fast access -`mo_integrals_cache_max `_ +`mo_integrals_cache_max `_ Min and max values of the MOs for which the integrals are in the cache -`mo_integrals_cache_min `_ +`mo_integrals_cache_max_8 `_ Min and max values of the MOs for which the integrals are in the cache -`mo_integrals_map `_ +`mo_integrals_cache_min `_ + Min and max values of the MOs for which the integrals are in the cache + + +`mo_integrals_cache_min_8 `_ + Min and max values of the MOs for which the integrals are in the cache + + +`mo_integrals_map `_ MO integrals -`mo_integrals_threshold `_ +`mo_integrals_threshold `_ If || < ao_integrals_threshold then is zero -`n_pt_max_integrals_16 `_ - Aligned n_pt_max_integrals - - -`n_pt_sup `_ +`n_pt_sup `_ Returns the upper boundary of the degree of the polynomial involved in the bielctronic integral : Ix(a_x,b_x,c_x,d_x) * Iy(a_y,b_y,c_y,d_y) * Iz(a_z,b_z,c_z,d_z) -`no_ivvv_integrals `_ +`no_ivvv_integrals `_ Can be switched on only if no_vvvv_integrals is True, then do not computes the integrals having 3 virtual index and 1 belonging to the core inactive active orbitals -`no_vvv_integrals `_ +`no_vvv_integrals `_ Can be switched on only if no_vvvv_integrals is True, then do not computes the integrals having 3 virtual orbitals -`no_vvvv_integrals `_ +`no_vvvv_integrals `_ If True, computes all integrals except for the integrals having 4 virtual index -`provide_all_mo_integrals `_ +`provide_all_mo_integrals `_ Undocumented @@ -438,11 +443,11 @@ Documentation One level of abstraction for disk_access_ao_integrals and disk_access_mo_integrals -`set_integrals_exchange_jj_into_map `_ +`set_integrals_exchange_jj_into_map `_ Undocumented -`set_integrals_jj_into_map `_ +`set_integrals_jj_into_map `_ Undocumented diff --git a/src/Integrals_Monoelec/README.rst b/src/Integrals_Monoelec/README.rst index 9a2ef0c5..1ee19f47 100644 --- a/src/Integrals_Monoelec/README.rst +++ b/src/Integrals_Monoelec/README.rst @@ -47,43 +47,43 @@ Documentation {\tt ao_deriv2_x} = \langle \chi_i(x,y,z) \frac{\partial^2}{\partial x^2} |\chi_j (x,y,z) \rangle -`ao_deriv_1_x `_ +`ao_deriv_1_x `_ array of the integrals of AO_i * d/dx AO_j array of the integrals of AO_i * d/dy AO_j array of the integrals of AO_i * d/dz AO_j -`ao_deriv_1_y `_ +`ao_deriv_1_y `_ array of the integrals of AO_i * d/dx AO_j array of the integrals of AO_i * d/dy AO_j array of the integrals of AO_i * d/dz AO_j -`ao_deriv_1_z `_ +`ao_deriv_1_z `_ array of the integrals of AO_i * d/dx AO_j array of the integrals of AO_i * d/dy AO_j array of the integrals of AO_i * d/dz AO_j -`ao_dipole_x `_ +`ao_dipole_x `_ array of the integrals of AO_i * x AO_j array of the integrals of AO_i * y AO_j array of the integrals of AO_i * z AO_j -`ao_dipole_y `_ +`ao_dipole_y `_ array of the integrals of AO_i * x AO_j array of the integrals of AO_i * y AO_j array of the integrals of AO_i * z AO_j -`ao_dipole_z `_ +`ao_dipole_z `_ array of the integrals of AO_i * x AO_j array of the integrals of AO_i * y AO_j array of the integrals of AO_i * z AO_j -`ao_kinetic_integral `_ +`ao_kinetic_integral `_ array of the priminitve basis kinetic integrals \langle \chi_i |\hat{T}| \chi_j \rangle @@ -102,7 +102,7 @@ Documentation interaction nuclear electron -`ao_nucl_elec_integral_per_atom `_ +`ao_nucl_elec_integral_per_atom `_ ao_nucl_elec_integral_per_atom(i,j,k) = - where Rk is the geometry of the kth atom @@ -115,7 +115,7 @@ Documentation Local pseudo-potential -`ao_pseudo_integral_non_local `_ +`ao_pseudo_integral_non_local `_ Local pseudo-potential @@ -141,7 +141,7 @@ Documentation Undocumented -`disk_access_ao_one_integrals `_ +`disk_access_ao_one_integrals `_ Read/Write AO one-electron integrals from/to disk [ Write | Read | None ] @@ -153,19 +153,19 @@ Documentation Undocumented -`give_polynom_mult_center_mono_elec `_ +`give_polynom_mult_center_mono_elec `_ Undocumented -`i_x1_pol_mult_mono_elec `_ +`i_x1_pol_mult_mono_elec `_ Undocumented -`i_x2_pol_mult_mono_elec `_ +`i_x2_pol_mult_mono_elec `_ Undocumented -`int_gaus_pol `_ +`int_gaus_pol `_ Undocumented @@ -227,7 +227,7 @@ Documentation array of the integrals of MO_i * z^2 MO_j -`nai_pol_mult `_ +`nai_pol_mult `_ Undocumented @@ -235,51 +235,51 @@ Documentation Undocumented -`overlap_bourrin_deriv_x `_ +`overlap_bourrin_deriv_x `_ Undocumented -`overlap_bourrin_dipole `_ +`overlap_bourrin_dipole `_ Undocumented -`overlap_bourrin_spread `_ +`overlap_bourrin_spread `_ Undocumented -`overlap_bourrin_x `_ +`overlap_bourrin_x `_ Undocumented -`overlap_bourrin_x_abs `_ +`overlap_bourrin_x_abs `_ Undocumented -`power `_ +`power `_ Undocumented -`pseudo_dz_k_transp `_ +`pseudo_dz_k_transp `_ Transposed arrays for pseudopotentials -`pseudo_dz_kl_transp `_ +`pseudo_dz_kl_transp `_ Transposed arrays for pseudopotentials -`pseudo_n_k_transp `_ +`pseudo_n_k_transp `_ Transposed arrays for pseudopotentials -`pseudo_n_kl_transp `_ +`pseudo_n_kl_transp `_ Transposed arrays for pseudopotentials -`pseudo_v_k_transp `_ +`pseudo_v_k_transp `_ Transposed arrays for pseudopotentials -`pseudo_v_kl_transp `_ +`pseudo_v_kl_transp `_ Transposed arrays for pseudopotentials @@ -299,23 +299,23 @@ Documentation Undocumented -`v_e_n `_ +`v_e_n `_ Undocumented -`v_phi `_ +`v_phi `_ Undocumented -`v_r `_ +`v_r `_ Undocumented -`v_theta `_ +`v_theta `_ Undocumented -`wallis `_ +`wallis `_ Undocumented diff --git a/src/MOGuess/README.rst b/src/MOGuess/README.rst index 7f2e8d94..0d5cd528 100644 --- a/src/MOGuess/README.rst +++ b/src/MOGuess/README.rst @@ -47,7 +47,7 @@ Documentation supposed to be the Identity -`h_core_guess `_ +`h_core_guess_prog `_ Produce `H_core` MO orbital output: mo_basis.mo_tot_num mo_basis.mo_label mo_basis.ao_md5 mo_basis.mo_coef mo_basis.mo_occ diff --git a/src/MO_Basis/README.rst b/src/MO_Basis/README.rst index 5b91499f..386ace03 100644 --- a/src/MO_Basis/README.rst +++ b/src/MO_Basis/README.rst @@ -78,7 +78,7 @@ Documentation AO overlap matrix in the spherical basis set -`ao_ortho_cano_to_ao `_ +`ao_ortho_cano_to_ao `_ Transform A from the AO basis to the orthogonal AO basis .br C^(-1).A_ao.Ct^(-1) @@ -105,10 +105,10 @@ Documentation Expected to be the Identity -`ao_to_mo `_ +`ao_to_mo `_ Transform A from the AO basis to the MO basis .br - C.A_ao.Ct + Ct.A_ao.C `cholesky_mo `_ @@ -127,15 +127,15 @@ Documentation .br -`give_all_mos_at_r `_ +`give_all_mos_at_r `_ Undocumented -`give_specific_mos_at_r `_ +`give_specific_mos_at_r `_ Undocumented -`mix_mo_jk `_ +`mix_mo_jk `_ subroutine that rotates the jth MO with the kth MO to give two new MO's that are '+' = 1/sqrt(2) (|j> + |k>) @@ -148,11 +148,11 @@ Documentation Undocumented -`mo_as_eigvectors_of_mo_matrix_sort_by_observable `_ +`mo_as_eigvectors_of_mo_matrix_sort_by_observable `_ Undocumented -`mo_as_svd_vectors_of_mo_matrix `_ +`mo_as_svd_vectors_of_mo_matrix `_ Undocumented @@ -160,29 +160,33 @@ Documentation Core|Inactive|Active|Virtual|Deleted -`mo_coef `_ +`mo_coef `_ Molecular orbital coefficients on AO basis set mo_coef(i,j) = coefficient of the ith ao on the jth mo mo_label : Label characterizing the MOS (local, canonical, natural, etc) -`mo_coef_in_ao_ortho_basis `_ +`mo_coef_in_ao_ortho_basis `_ MO coefficients in orthogonalized AO basis .br C^(-1).C_mo -`mo_coef_transp `_ +`mo_coef_transp `_ Molecular orbital coefficients on AO basis set -`mo_label `_ +`mo_label `_ Molecular orbital coefficients on AO basis set mo_coef(i,j) = coefficient of the ith ao on the jth mo mo_label : Label characterizing the MOS (local, canonical, natural, etc) -`mo_occ `_ +`mo_num `_ + mo_tot_num without the highest deleted MOs + + +`mo_occ `_ MO occupation numbers @@ -190,37 +194,30 @@ Documentation Undocumented -`mo_sort_by_observable `_ +`mo_sort_by_observable `_ Undocumented -`mo_to_ao `_ +`mo_to_ao `_ Transform A from the MO basis to the AO basis .br (S.C).A_mo.(S.C)t -`mo_to_ao_no_overlap `_ +`mo_to_ao_no_overlap `_ Transform A from the MO basis to the S^-1 AO basis + Useful for density matrix `mo_tot_num `_ - Total number of molecular orbitals and the size of the keys corresponding - - -`mo_tot_num_align `_ - Aligned variable for dimensioning of arrays + Number of MOs `permut_mos `_ Undocumented -`pouet `_ - Undocumented - - -`s_mo_coef `_ +`s_mo_coef `_ Product S.C where S is the overlap matrix in the AO basis and C the mo_coef matrix. diff --git a/src/MPI/README.rst b/src/MPI/README.rst index 8826a8ee..27d2e09c 100644 --- a/src/MPI/README.rst +++ b/src/MPI/README.rst @@ -2,11 +2,36 @@ MPI === -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. + + +`broadcast_chunks_double `_ + Broadcast with chunks of ~2GB + + +`broadcast_chunks_integer `_ + Broadcast with chunks of ~2GB + + +`broadcast_chunks_integer8 `_ + Broadcast with chunks of ~2GB + + +`mpi_initialized `_ + Always true. Initialized MPI + + +`mpi_master `_ + If true, rank is zero + + +`mpi_rank `_ + Rank of MPI process and number of MPI processes + + +`mpi_size `_ + Rank of MPI process and number of MPI processes + diff --git a/src/Nuclei/README.rst b/src/Nuclei/README.rst index b75b117d..ad5cace4 100644 --- a/src/Nuclei/README.rst +++ b/src/Nuclei/README.rst @@ -34,73 +34,89 @@ Documentation .. by the `update_README.py` script. +`center_of_mass `_ + Center of mass of the molecule + + `disk_access_nuclear_repulsion `_ Read/Write Nuclear Repulsion from/to disk [ Write | Read | None ] -`element_name `_ +`element_mass `_ Array of the name of element, sorted by nuclear charge (integer) -`nucl_charge `_ +`element_name `_ + Array of the name of element, sorted by nuclear charge (integer) + + +`inertia_tensor `_ + Inertia tensor + + +`inertia_tensor_eigenvalues `_ + Eigenvectors/eigenvalues of the inertia_tensor. Used to find normal orientation. + + +`inertia_tensor_eigenvectors `_ + Eigenvectors/eigenvalues of the inertia_tensor. Used to find normal orientation. + + +`nucl_charge `_ Nuclear charges -`nucl_coord `_ +`nucl_coord `_ Nuclear coordinates in the format (:, {x,y,z}) -`nucl_coord_transp `_ +`nucl_coord_transp `_ Transposed array of nucl_coord -`nucl_dist `_ +`nucl_dist `_ nucl_dist : Nucleus-nucleus distances nucl_dist_2 : Nucleus-nucleus distances squared nucl_dist_vec : Nucleus-nucleus distances vectors -`nucl_dist_2 `_ +`nucl_dist_2 `_ nucl_dist : Nucleus-nucleus distances nucl_dist_2 : Nucleus-nucleus distances squared nucl_dist_vec : Nucleus-nucleus distances vectors -`nucl_dist_vec_x `_ +`nucl_dist_vec_x `_ nucl_dist : Nucleus-nucleus distances nucl_dist_2 : Nucleus-nucleus distances squared nucl_dist_vec : Nucleus-nucleus distances vectors -`nucl_dist_vec_y `_ +`nucl_dist_vec_y `_ nucl_dist : Nucleus-nucleus distances nucl_dist_2 : Nucleus-nucleus distances squared nucl_dist_vec : Nucleus-nucleus distances vectors -`nucl_dist_vec_z `_ +`nucl_dist_vec_z `_ nucl_dist : Nucleus-nucleus distances nucl_dist_2 : Nucleus-nucleus distances squared nucl_dist_vec : Nucleus-nucleus distances vectors -`nucl_label `_ +`nucl_label `_ Nuclear labels -`nucl_num `_ +`nucl_num `_ Number of nuclei -`nucl_num_aligned `_ - Number of nuclei algined - - -`nuclear_repulsion `_ +`nuclear_repulsion `_ Nuclear repulsion energy -`positive_charge_barycentre `_ +`positive_charge_barycentre `_ Centroid of the positive charges diff --git a/src/Pseudo/README.rst b/src/Pseudo/README.rst index 2b3f87dd..09ae1f23 100644 --- a/src/Pseudo/README.rst +++ b/src/Pseudo/README.rst @@ -28,19 +28,19 @@ Documentation .. by the `update_README.py` script. -`do_pseudo `_ +`do_pseudo `_ Using pseudo potential integral or not -`nucl_charge_remove `_ +`nucl_charge_remove `_ Nuclear charges removed -`pseudo_dz_k `_ +`pseudo_dz_k `_ test -`pseudo_dz_kl `_ +`pseudo_dz_kl `_ test @@ -48,34 +48,34 @@ Documentation R_maxof the QMC grid -`pseudo_grid_size `_ +`pseudo_grid_size `_ Nb of points of the QMC grid -`pseudo_klocmax `_ +`pseudo_klocmax `_ test -`pseudo_kmax `_ +`pseudo_kmax `_ test -`pseudo_lmax `_ +`pseudo_lmax `_ test -`pseudo_n_k `_ +`pseudo_n_k `_ test -`pseudo_n_kl `_ +`pseudo_n_kl `_ test -`pseudo_v_k `_ +`pseudo_v_k `_ test -`pseudo_v_kl `_ +`pseudo_v_kl `_ test diff --git a/src/Utils/README.rst b/src/Utils/README.rst index ea5f2854..757147c5 100644 --- a/src/Utils/README.rst +++ b/src/Utils/README.rst @@ -10,33 +10,29 @@ Documentation .. by the `update_README.py` script. -`a_coef `_ +`a_coef `_ Undocumented -`add_poly `_ +`add_poly `_ Add two polynomials D(t) =! D(t) +( B(t)+C(t)) -`add_poly_multiply `_ +`add_poly_multiply `_ Add a polynomial multiplied by a constant D(t) =! D(t) +( cst * B(t)) -`align_double `_ - Compute 1st dimension such that it is aligned for vectorization. - - -`apply_rotation `_ +`apply_rotation `_ Apply the rotation found by find_rotation -`approx_dble `_ +`approx_dble `_ Undocumented -`b_coef `_ +`b_coef `_ Undocumented @@ -55,23 +51,23 @@ Documentation Binomial coefficients -`dble_fact `_ +`dble_fact `_ Undocumented -`dble_fact_even `_ +`dble_fact_even `_ n!! -`dble_fact_odd `_ +`dble_fact_odd `_ n!! -`dble_logfact `_ +`dble_logfact `_ n!! -`ddfact2 `_ +`ddfact2 `_ Undocumented @@ -102,54 +98,58 @@ Documentation Transpose input matrix A into output matrix B -`erf0 `_ +`erf0 `_ Undocumented -`f_integral `_ +`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 `_ +`fact `_ n! -`fact_inv `_ +`fact_inv `_ 1/n! -`find_rotation `_ +`find_rotation `_ Find A.C = B -`gammln `_ +`gammln `_ Undocumented -`gammp `_ +`gammp `_ Undocumented -`gaussian_product `_ +`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_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 `_ +`gcf `_ Undocumented -`get_inverse `_ +`get_inverse `_ Returns the inverse of the square matrix A -`get_pseudo_inverse `_ +`get_pseudo_inverse `_ Find C = A^-1 @@ -162,7 +162,7 @@ Documentation * [ 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 `_ +`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 @@ -180,7 +180,7 @@ Documentation fact_k (x-x_P)^iorder(1) (y-y_P)^iorder(2) (z-z_P)^iorder(3) exp(-p(r-P)^2) -`gser `_ +`gser `_ Undocumented @@ -254,7 +254,7 @@ Documentation to be in integer*8 format -`hermite `_ +`hermite `_ Hermite polynomial @@ -385,7 +385,7 @@ Documentation to be in integer*8 format -`inv_int `_ +`inv_int `_ 1/i @@ -421,7 +421,7 @@ Documentation contains the new order of the elements. -`lapack_diag `_ +`lapack_diag `_ Diagonalize matrix H .br H is untouched between input and ouptut @@ -432,7 +432,7 @@ Documentation .br -`lapack_diag_s2 `_ +`lapack_diag_s2 `_ Diagonalize matrix H .br H is untouched between input and ouptut @@ -443,7 +443,7 @@ Documentation .br -`lapack_diagd `_ +`lapack_diagd `_ Diagonalize matrix H .br H is untouched between input and ouptut @@ -454,7 +454,7 @@ Documentation .br -`lapack_partial_diag `_ +`lapack_partial_diag `_ Diagonalize matrix H .br H is untouched between input and ouptut @@ -465,11 +465,11 @@ Documentation .br -`logfact `_ +`logfact `_ n! -`lowercase `_ +`lowercase `_ Transform to lower case @@ -481,11 +481,11 @@ Documentation Undocumented -`matrix_vector_product `_ +`matrix_vector_product `_ performs u1 =! performs u1 +( u0 * matrix) -`multiply_poly `_ +`multiply_poly `_ Multiply two polynomials D(t) =! D(t) +( B(t)*C(t)) @@ -494,12 +494,11 @@ Documentation Number of points needed for the angular integral -`normalize `_ +`normalize `_ Normalizes vector u - u is expected to be aligned in memory. -`nproc `_ +`nproc `_ Number of current OpenMP threads @@ -521,7 +520,7 @@ Documentation .br -`ortho_lowdin `_ +`ortho_lowdin `_ Compute C_new=C_old.S^-1/2 orthogonalization. .br overlap : overlap matrix @@ -539,7 +538,7 @@ Documentation .br -`ortho_qr `_ +`ortho_qr `_ Orthogonalization using Q.R factorization .br A : matrix to orthogonalize @@ -552,7 +551,7 @@ Documentation .br -`ortho_qr_unblocked `_ +`ortho_qr_unblocked `_ Orthogonalization using Q.R factorization .br A : matrix to orthogonalize @@ -667,34 +666,34 @@ Documentation Undocumented -`recentered_poly2 `_ +`recentered_poly2 `_ Recenter two polynomials -`rint `_ +`rint `_ .. math:: .br \int_0^1 dx \exp(-p x^2) x^n .br -`rint1 `_ +`rint1 `_ Standard version of rint -`rint_large_n `_ +`rint_large_n `_ Version of rint for large values of n -`rint_sum `_ +`rint_sum `_ Needed for the calculation of two-electron integrals. -`rinteg `_ +`rinteg `_ Undocumented -`rintgauss `_ +`rintgauss `_ Undocumented @@ -718,7 +717,7 @@ Documentation to be in integer*8 format -`set_zero_extra_diag `_ +`set_zero_extra_diag `_ Undocumented @@ -775,15 +774,15 @@ Documentation Transpose input matrix A into output matrix B -`u_dot_u `_ +`u_dot_u `_ Compute -`u_dot_v `_ +`u_dot_v `_ Compute -`wall_time `_ +`wall_time `_ The equivalent of cpu_time, but for the wall time. @@ -793,6 +792,6 @@ Documentation Note that theta and phi are in DEGREES !! -`write_git_log `_ +`write_git_log `_ Write the last git commit in file iunit. diff --git a/src/ZMQ/README.rst b/src/ZMQ/README.rst index 860346fb..2fd202da 100644 --- a/src/ZMQ/README.rst +++ b/src/ZMQ/README.rst @@ -21,75 +21,71 @@ Documentation .. by the `update_README.py` script. -`add_task_to_taskserver `_ +`add_task_to_taskserver `_ Get a task from the task server -`add_task_to_taskserver_recv `_ - Get a task from the task server - - -`add_task_to_taskserver_send `_ - Get a task from the task server - - -`connect_to_taskserver `_ +`connect_to_taskserver `_ Connect to the task server and obtain the worker ID -`disconnect_from_taskserver `_ +`disconnect_from_taskserver `_ Disconnect from the task server -`end_parallel_job `_ +`end_parallel_job `_ End a new parallel job with name 'name'. The slave tasks execute subroutine 'slave' -`end_zmq_pair_socket `_ +`end_zmq_pair_socket `_ Terminate socket on which the results are sent. -`end_zmq_pull_socket `_ +`end_zmq_pull_socket `_ Terminate socket on which the results are sent. -`end_zmq_push_socket `_ +`end_zmq_push_socket `_ Terminate socket on which the results are sent. -`end_zmq_sub_socket `_ +`end_zmq_sub_socket `_ Terminate socket on which the results are sent. -`end_zmq_to_qp_run_socket `_ +`end_zmq_to_qp_run_socket `_ Terminate the socket from the application to qp_run -`get_task_from_taskserver `_ +`get_task_from_taskserver `_ Get a task from the task server -`new_parallel_job `_ +`get_tasks_from_taskserver `_ + Get multiple tasks from the task server + + +`new_parallel_job `_ Start a new parallel job with name 'name'. The slave tasks execute subroutine 'slave' -`new_zmq_pair_socket `_ +`new_zmq_pair_socket `_ Socket on which the collector and the main communicate -`new_zmq_pull_socket `_ +`new_zmq_pull_socket `_ Socket on which the results are sent. If thread is 1, use inproc -`new_zmq_push_socket `_ +`new_zmq_push_socket `_ Socket on which the results are sent. If thread is 1, use inproc -`new_zmq_sub_socket `_ +`new_zmq_sub_socket `_ Socket to read the state published by the Task server -`new_zmq_to_qp_run_socket `_ +`new_zmq_to_qp_run_socket `_ Socket on which the qp_run process replies @@ -98,32 +94,36 @@ Documentation Example : tcp://130.120.229.139:12345 -`reset_zmq_addresses `_ +`reset_zmq_addresses `_ Socket which pulls the results (2) -`switch_qp_run_to_master `_ +`switch_qp_run_to_master `_ Address of the master qp_run socket Example : tcp://130.120.229.139:12345 -`task_done_to_taskserver `_ +`task_done_to_taskserver `_ Get a task from the task server -`wait_for_next_state `_ +`tasks_done_to_taskserver `_ + Get a task from the task server + + +`wait_for_next_state `_ Undocumented -`wait_for_state `_ +`wait_for_state `_ Wait for the ZMQ state to be ready -`wait_for_states `_ +`wait_for_states `_ Wait for the ZMQ state to be ready -`zmq_abort `_ +`zmq_abort `_ Aborts a running parallel computation @@ -131,16 +131,25 @@ Documentation Context for the ZeroMQ library -`zmq_delete_task `_ +`zmq_delete_task `_ When a task is done, it has to be removed from the list of tasks on the qp_run queue. This guarantees that the results have been received in the pull. +`zmq_delete_tasks `_ + When a task is done, it has to be removed from the list of tasks on the qp_run + queue. This guarantees that the results have been received in the pull. + + +`zmq_get_dvector `_ + Get psi_coef from the qp_run scheduler + + `zmq_lock `_ Context for the ZeroMQ library -`zmq_port `_ +`zmq_port `_ Return the value of the ZMQ port from the corresponding integer @@ -149,34 +158,38 @@ Documentation Example : tcp://130.120.229.139:12345 -`zmq_set_running `_ +`zmq_put_dvector `_ + Put the X vector on the qp_run scheduler + + +`zmq_set_running `_ Set the job to Running in QP-run -`zmq_socket_pair_inproc_address `_ +`zmq_socket_pair_inproc_address `_ Socket which pulls the results (2) -`zmq_socket_pull_inproc_address `_ +`zmq_socket_pull_inproc_address `_ Socket which pulls the results (2) -`zmq_socket_pull_tcp_address `_ +`zmq_socket_pull_tcp_address `_ Socket which pulls the results (2) -`zmq_socket_push_inproc_address `_ +`zmq_socket_push_inproc_address `_ Socket which pulls the results (2) -`zmq_socket_push_tcp_address `_ +`zmq_socket_push_tcp_address `_ Socket which pulls the results (2) -`zmq_socket_sub_tcp_address `_ +`zmq_socket_sub_tcp_address `_ Socket which pulls the results (2) -`zmq_state `_ +`zmq_state `_ Threads executing work through the ZeroMQ interface