Element

Generic element factory

elementary.element.element_factory(vector: Callable[[...], tuple[jax.Array, jax.Array, jax.Array]] | None = None, scalar: Callable[[...], jax.Array] | None = None, curvature: Callable[[...], jax.Array] | None = None, torsion: Callable[[...], jax.Array] | None = None, hamiltonian: Callable[[...], jax.Array] | None = None, beta: float | None = None, gamma: float | None = None, driver: Callable[[...], jax.Array] | None = None, settings: dict | None = None, order: int = 0, iterations: int = 1, autonomous: bool = True, final: bool = True) Callable[[...], jax.Array][source]

Generate generic element transfer map

Parameters:
  • vector (Optional[Callable[..., tuple[Array, Array, Array]]]) – normalized vector potential

  • scalar (Optional[Callable[..., Array]]) – normalized scalar potential

  • curvature (Optional[Callable[..., Array]]) – curvature

  • torsion (Optional[Callable[..., Array]]) – torsion

  • hamiltonian (Optional[Callable[..., Array]]) – generic hamiltonian (other callables are ignored)

  • beta (Optional[float]) – relativistic beta

  • gamma (Optional[float]) – relativistic gamma

  • driver (Optional[Callable[..., Array]]) – symplectic integrator (tao)

  • settings (Optional[dict]) – configuration settings for integrator

  • order (int, default=0) – yoshida composition order

  • iterations (int, default=1) – number of integration

  • autonomous (bool, default=True) – autonomous flag

  • final (bool, default=True) – flag to return only the final state

Return type:

Callable[…, Array]