Multipole

Multipole element factory

elementary.multipole.multipole_factory(beta: float | None = None, gamma: float | None = None, driver: Callable[[...], jax.Array] | None = None, settings: dict | None = None, order: int = 0, iterations: int = 1, final: bool = True) Callable[[...], jax.Array][source]

Multipole element transfer map

Parameters:
  • 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

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

Return type:

Callable[…, Array]

elementary.multipole.vector(qs: jax.Array, s: jax.Array, kq_n: jax.Array, kq_s: jax.Array, ks_n: jax.Array, ks_s: jax.Array, ko_n: jax.Array, ko_s: jax.Array) tuple[jax.Array, jax.Array, jax.Array][source]

Vector potential