multislice

multislice#

Module for running the multislice algorithm.

Functions

allocate_multislice_measurements(waves, ...)

Allocate the multislice measurements that would be produced by detecting the given set of wave functions with the given set of detectors.

conventional_multislice_step(waves, ...[, ...])

Calculate one step of the multislice algorithm for the given batch of wave functions through a given potential slice.

multislice_and_detect(waves, potential[, ...])

Calculate the full multislice algorithm for the given batch of wave functions through a given potential, detecting at each of the exit planes specified in the potential.

transition_potential_multislice_and_detect(...)

Calculate the full multislice algorithm for the given batch of wave functions through a given potential, detecting at each of the exit planes specified in the potential.

Classes

FresnelPropagator()

The Fresnel propagator is used for propagating wave functions using the near-field approximation (Fresnel diffraction).

MultisliceTransform(potential[, detectors, ...])

Transformation applying the multislice algorithm to wave functions, producing new wave functions or measurements.