IMSRG.generator¶
Module to construct IMSRG generator.
Functions
|
Constructs the one-body part of the arctan IMSRG generator |
|
Constructs one-body energy differences for IMSRG generator denominators |
|
Constructs the two-body part of the arctan IMSRG generator |
|
Constructs two-body energy differences for IMSRG generator denominators |
|
Extracts single-particle energies for hole states from the Fock matrix |
|
Extracts single-particle energies for particle states from the Fock matrix |
- IMSRG.generator.get_hole_spes(occs, f)¶
Extracts single-particle energies for hole states from the Fock matrix
- Parameters:
occs (numpy array) – Occupation numbers for each single-particle state
f (numpy array) – Fock matrix containing single-particle energies on the diagonal
- Returns:
Single-particle energies for occupied (hole) states
- Return type:
numpy array
- IMSRG.generator.get_particle_spes(occs, f, delta=0.0)¶
Extracts single-particle energies for particle states from the Fock matrix
- Parameters:
occs (numpy array) – Occupation numbers for each single-particle state
f (numpy array) – Fock matrix containing single-particle energies on the diagonal
delta (float) – Optional; energy shift to avoid degeneracies in denominators
- Returns:
Single-particle energies for unoccupied (particle) states
- Return type:
numpy array
- IMSRG.generator.build_1b_energy_difference(occs, f, delta=0.0)¶
Constructs one-body energy differences for IMSRG generator denominators
Computes the energy differences e_i - e_a between hole and particle states, which appear in the denominators of the IMSRG generator. A small regularization term prevents division by zero
- Parameters:
occs (numpy array) – Occupation numbers for each single-particle state
f (numpy array) – Fock matrix containing single-particle energies
delta (float) – Optional; energy shift to avoid degeneracies in denominators
- Returns:
Matrix of energy differences for one-body generator denominators
- Return type:
numpy array
- IMSRG.generator.build_2b_energy_difference(occs, f, delta=0.0)¶
Constructs two-body energy differences for IMSRG generator denominators
Computes the energy differences e_i + e_j - e_a - e_b between hole and particle state pairs, which appear in the denominators of the IMSRG generator. A small regularization term prevents division by zero
- Parameters:
occs (numpy array) – Occupation numbers for each single-particle state
f (numpy array) – Fock matrix containing single-particle energies
delta (float) – Optional; energy shift to avoid degeneracies in denominators
- Returns:
Tensor of energy differences for two-body generator denominators
- Return type:
numpy array
- IMSRG.generator.build_1b_arctan_generator(occs, f, delta=0.0)¶
Constructs the one-body part of the arctan IMSRG generator
Builds the generator eta^{(1)} = (1/2) arctan(2f^{ai}/e_{ai}) that drives the one-body part of the IMSRG flow equations, ensuring decoupling of particle-hole excitations from the reference state. An optional delta pushes up the energies of the particle states to prevent vanishing energy denominators and ensure numerical stability. Most calculations should not need this
- Parameters:
occs (numpy array) – Occupation numbers for each single-particle state
f (numpy array) – One-body Fock matrix
delta (float) – Optional; energy shift to avoid degeneracies in denominators
- Returns:
One-body arctangent generator matrix elements
- Return type:
numpy array
- IMSRG.generator.build_2b_arctan_generator(occs, f, gamma, delta=0.0)¶
Constructs the two-body part of the arctan IMSRG generator
Builds the generator eta^{(2)} = (1/2) arctan(2Gamma^{abij}/e_{abij}) that drives the two-body part of the IMSRG flow equations, ensuring decoupling of particle-hole excitations from the reference state. An optional delta pushes up the energies of the particle states to prevent vanishing energy denominators and ensure numerical stability. Most calculations should not need this
- Parameters:
occs (numpy array) – Occupation numbers for each single-particle state
f (numpy array) – One-body Fock matrix for constructing energy denominators
gamma (numpy array) – Two-body interaction matrix
delta (float) – Optional; energy shift to avoid degeneracies in denominators
- Returns:
Two-body arctangent generator matrix elements
- Return type:
numpy array