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 posi and mome.

Raises:

ValueError – If the provided topology is not recognized.

Return type:

NDArray[np.complex128]

Note

For R the 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 in posi and mome.

Return type:

NDArray[np.complex128]