Emulator

The emulator is included as a sub-module within Lightworks, designed to enable the simulation of photonic systems, with a set of tools for retrieving different data about the system functionality. While using the emulator, it is also possible to include imperfections in the system, enabling an understanding of the effect that these imperfections will likely have on a chosen algorithm. All emulation tasks require specification of a backend, which the task is then run against. More info about this can be found in Backends.

The different simulation objects are discussed in the following sections, with an initial comparison of their functionality in the emulator included below:

Simulator object comparison

Object

Input

Output

Imperfect source/detectors

Simulator

PhotonicCircuit, Input states, Output states

Probability amplitudes

No

Sampler

PhotonicCircuit, Input state, Post-selection/heralding rules

Sample counts

Yes

Analyzer

PhotonicCircuit, Input state, Post-selection/heralding rules

Probability distribution

No

All simulation objects support the inclusion of heralds through the circuit object, which allows these modes to be excluded from specification of input/outputs within the emulator.

Before using the emulator, a Theory section is included which details some of they key concepts behind simulation of indistinguishable photons in linear optic systems.

Contents