18.2. The RSF module with various CC reference functions
Please, first read the Quick Guide on all available RSF-CC methods here.
Since most of the RSF-CC flavors implemented in PyBEST offer similar functionality, all features mentioned below are applicable to all RSF-CC methods if not mentioned otherwise. All modules support only the Davidson diagonalization of the EOM Hamiltonian.
In addition to the IOData
container attributes
mentioned in the Quick Guide above, the RSFBase
containers include the following information
- orb_a
A copy of the orbitals used in the CC reference calculation
- e_ref
The total energy of the CC reference function
18.2.1. Summary of keyword arguments
The RSFCCD
module supports various keyword
arguments that allow us to steer the optimization of ionized states (ionization
energies and the eigenvectors of the targeted states).
In the following, all supported keyword
arguments are listed together with their default values. Please note that for
most cases, the default values should be sufficient to reach convergence.
- nroot
(int) the number of targeted (ionized) states (default
1
)- threshold
(float) printing threshold for the eigenvectors. If a (row) element of
civ_ee
is larger than the threshold in absolute value, the corresponding ionization contribution is printed (default0.1
)- tco
(str | None) the flavor of tensor contraction operations used. Either
cupy
,td
oreinsum
(defaultNone
)Note
PyBEST takes the most efficient tensor contraction operations for specific contractions. By default, selected operations are exported to the GPU using Cupy. If Cupy is not available,
td
is selected.einsum
is taken if all other flavors are unsupported.We do not recommend changing the default unless you know what you are doing. The tco keyword argument is deprecated.
- dump_cache
(boolean) effective Hamiltonian elements are loaded and dumped to the disk whenever needed. Since large arrays are dumped to/read from disk, this implementation is slower but more memory-effective (default
True
if the number of active orbitals exceeds 300).
Some keyword arguments are working together with the Davidson
solver:
- tolerance
(float) optimization threshold for each ionization energy (default
1e-6
)- tolerancev
(float) optimization threshold for each ionized state eigenvector (default
1e-4
)- maxiter
(int) maximum number of total Davidson diagonalization steps (default
200
)- nguessv
(int) total number of guess vectors (default
(nroots-1)*4+1
, that is, 4 vectors per ionized state)- maxvectors
(int) maximum number of Davidson vectors. If additional vectors are added, a subspace collapse is performed (default
(nroots-1)*10
, that is, 10 vectors per excited state)- todisk
(boolean) if set to
True
, all intermediates are stored to disk. This reduces memory requirements. However, due to the intensive I/O operations, the code is slowed down significantly (defaultFalse
).