pyscivr.basis module
Coherent state overlaps for 1D coordinates with various topologies (R, R+, S1, I-, I+).
See section II E 2 or appendix H of the paper for details.
- Notation:
T: number of time steps of the trajectory.m: number of active coordinates.
- pyscivr.basis.overlap_1d(topology, posi_ref, mome_ref, posi, mome, gamma, *, n_image=3)[source]
Compute the overlap \(\langle q_{\text{ref}}, p_{\text{ref}} | q, p \rangle\) for a 1D topology.
- Parameters:
topology (str) – Topology of the 1D coordinate.
posi_ref (float) – Reference position.
mome_ref (float) – Reference momentum.
posi (ArrayLike) –
(T,)positions to evaluate the overlap at.mome (ArrayLike) –
(T,)momenta to evaluate the overlap at.gamma (float) – Width parameter of the coherent state basis.
n_image (int) – Number of images to consider for periodic boundary conditions.
- Returns:
Overlap values for each position and momentum in
posiandmome.- Raises:
ValueError – If the provided topology is not recognized.
- Return type:
NDArray[np.complex128]
Note
For
Rthe overlap is\[\langle q_{\text{ref}}, p_{\text{ref}} | q, p \rangle_{\mathbb{R}^1} = \exp\left( -\frac{\gamma}{4} (q_{\text{ref}} - q)^2 - \frac{1}{4 \gamma \hbar^2} (p_{\text{ref}} - p)^2 + \frac{i}{2 \hbar} (p_{\text{ref}} + p)(q_{\text{ref}} - q) \right)\]The other topologies are built from it by image summations.
- pyscivr.basis.get_overlap(topologies, posi_ref, mome_ref, posi, mome, gammas, *, n_image=3)[source]
Compute the overlap \(\langle q_{\text{ref}}, p_{\text{ref}} | q, p \rangle\) for multiple 1D topologies.
The total overlap is the product of the 1D overlaps for each coordinate.
- Parameters:
topologies (Sequence[str]) –
(m,)topologies of the 1D coordinates.posi_ref (ArrayLike) –
(m,)reference positions.mome_ref (ArrayLike) –
(m,)reference momenta.posi (ArrayLike) –
(T, m)positions.mome (ArrayLike) –
(T, m)momenta.gammas (ArrayLike) –
(m,)width parameters of the coherent state basis.n_image (int) – Number of images to consider for periodic boundary conditions.
- Returns:
(T,)overlap values for each position and momentum inposiandmome.- Return type:
NDArray[np.complex128]