guesses_any(matrix, n_guesses, block='ph', spin_change=0, spin_block_symmetrisation='none', degeneracy_tolerance=1e-14)¶
Obtain guesses by inspecting a block of the diagonal of the passed ADC matrix. The symmetry of the returned vectors is already set-up properly. Note that this routine may return fewer vectors than requested in case the requested number could not be found.
matrix The matrix for which guesses are to be constructed n_guesses The number of guesses to be searched for. Less number of
vectors are returned if this many could not be found.
- block Diagonal block to use for obtaining the guesses
(typically “ph” or “pphh”).
- spin_change The spin change to enforce in an excitation.
Typical values are 0 (singlet/triplet/any) and -1 (spin-flip).
Symmetrisation to enforce between equivalent spin blocks, which all yield the desired spin_change. E.g. if spin_change == 0, then both the alpha->alpha and beta->beta blocks of the singles part of the excitation vector achieve a spin change of 0. The symmetry specified with this parameter will then be imposed between the a-a and b-b blocks. Valid values are “none”, “symmetric” and “antisymmetric”, where “none” enforces no particular symmetry.
Tolerance for two entries of the diagonal to be considered degenerate, i.e. identical.