Mirror

class src.components.mirror.Mirror(name: str, timeline: Timeline, fidelity=0.98, destination='', encoding_type={'bases': [((1 + 0j, 0j), (0j, 1 + 0j)), ((0.7071067811865476 + 0j, 0.7071067811865476 + 0j), (- 0.7071067811865476 + 0j, 0.7071067811865476 + 0j))], 'name': 'polarization'}, phase_error=0)

Single photon reflecting device. This class models the reflection of a single photon, in the fashion of an experimental mirror. Can be attached to many devices to enable different measurement options.

name

label for mirror instance.

Type:

str

timeline

timeline for simulation.

Type:

Timeline

fidelity

fraction of qubits not lost on the reflective surface

Type:

float

destination

destination node for reflected photons

Type:

str

encoding_type

encoding scheme of emitted photons (as defined in the encoding module).

Type:

Dict[str, Any]

phase_error

phase error applied to qubits.

Type:

float

get(photon, **kwargs) None

Method to get a photon to reflect.

Will send to destination node specified by destination attribute through owner node.

Parameters:

photon (Photon) – photon to reflect

init()

Method to initialize entity (abstract).

Entity init methods are invoked for all timeline entities when the timeline is initialized. This method can be used to perform any necessary functions before simulation.