get_effective_hamiltonian_from_system
- get_effective_hamiltonian_from_system(ket_tuple_list, system_pair, order=2, required_overlap=0.9, unit=None)[source]
Get the perturbative Hamiltonian at a desired order in Rayleigh-Schrödinger perturbation theory.
This function takes a list of tuples of ket states, which forms the basis of the model space in which the effective Hamiltonian is calculated. The whole Hamiltonian is taken from a pair system. The Hamiltonian of the pair system is assumed to be diagonal in the unperturbed Hamiltonian, all off-diagonal elements are assumed to belong to the perturbative term. The function also checks for resonances between all states and states in the model space.
- Parameters:
ket_tuple_list (
Collection
[Union
[KetPairReal
,KetPairComplex
,tuple
[KetAtom
,KetAtom
],Sequence
[KetAtom
]]]) – List of all pair states that span up the model space. The effective Hamiltonian is calculated for these states.system_pair (
Union
[SystemPairReal
,SystemPairComplex
]) – Two-Atom-System, diagonal in the basis of the unperturbed Hamiltonian.order (
int
) – Order up to which the perturbation theory is expanded. Support up to third order. Default is second order.required_overlap (
float
) – If set, the code checks for validity of a perturbative treatment. Error is thrown if the perturbed eigenstate has less overlap than this value with the unperturbed eigenstate.unit (
Optional
[str
]) – The unit to which to convert the result. Default None will return a pint quantity.
- Return type:
tuple
[Union
[ndarray
[tuple
[int
,...
],dtype
[Any
]],PlainQuantity
[ndarray
[tuple
[int
,...
],dtype
[Any
]]]],csr_matrix
]- Returns:
Effective Hamiltonian as a \(m \times m\) matrix, where m is the length of ket_tuple_list.
Eigenvectors in perturbation theory due to interaction with states out of the model space, returned as a sparse matrix in compressed row format. Each row represents the corresponding eigenvector.
- Raises:
ValueError – If a resonance between a state in the model space and a state not in the model space occurs.