squidasm
latest

Installation

  • Installation

Tutorial:

  • Overview
  • Basics
  • NetQASM
  • Simulation control
  • Network configuration
  • Terminology

API

  • Overview
    • Configurations
      • Network Configuration
      • Stacks configurations
      • Link configurations
        • Link Configurations
      • CLink configurations
    • Run
    • Logger
    • Program
    • Classical socket
    • Util
    • Routines
squidasm
  • Overview
  • Configurations
  • Link Configurations
  • Edit on GitHub

Link Configurations

class squidasm.run.stack.config.LinkConfig(**data)

Configuration for a single link.

stack1: str

Name of the first stack being connected via link.

stack2: str

Name of the second stack being connected via link.

typ: str

Type of the link.

cfg: Any

Configuration of the link, allowed configuration depends on type.

classmethod from_file(path)

Load the configuration from a YAML file.

Return type:

LinkConfig

classmethod perfect_config(stack1, stack2)

Create a configuration for a link without any noise or errors.

Return type:

LinkConfig

class squidasm.run.stack.config.DepolariseLinkConfig(**data)

Depolarising model config.

Depolarising quantum links are used to generate entangled pairs with a specified fidelity and probability of success. The noise in the generated entangled pairs is depolarising noise.

The time of a cycle is either explicitly given or calculated by using the distance and speed of light.

classmethod from_file(path)

Load the configuration from a YAML file.

Return type:

Any

fidelity: float

Fidelity of successfully generated EPR pairs.

prob_success: float

Probability of successfully generating an EPR pair per cycle.

t_cycle: Optional[float]

Duration of a cycle. [ns]

length: Optional[float]

length of the link. Will be used to calculate t_cycle with t_cycle=length/speed_of_light. [km]

speed_of_light: float

Speed of light in the optical fiber connecting the two nodes. [km/s]

class squidasm.run.stack.config.HeraldedLinkConfig(**data)

Heralded double-click quantum link model.

The heralded link uses a model with both nodes connected by fiber to a midpoint station with a Bell-state measurement detector. The nodes repeatedly send out entangled photons and, on a successful measurement at the midpoint, the midpoint station will send out a signal to both nodes, heralding successful entanglement.

This model uses the double click model as developed and described by: https://arxiv.org/abs/2207.10579 (Appendix C: Double-click model)

Length

This model simulates a heralded link with a midpoint station. The lengths from the nodes to the midpoint station are set via the parameters length_A and length_B, but if desired, the parameter length can be used to set the total length and this will make the “A” and “B” sides equally long.

Per side parameter

The parameters p_loss_init, p_loss_length and speed_of_light can be specified per side of the heralded link. These parameters have a “global” parameter and per side parameters with _A and _B extensions. The model will use the per side parameters, but for easier usage, the input can be set to the “global” parameter that will be distributed to each of the sides if their per side value is missing.

Qdevice parameter

The parameters emission_fidelity, emission_duration and collection_efficiency originate from the qdevice used, but affect the entanglement generation that is simulated in the qlink. These parameters have a “global” parameter and per side parameters with _A and _B extensions. The model will only use the per side parameters, but for easier usage, the input can be set to the “global” parameter that will be distributed to each of the sides if their per side value is missing.

The value of these parameters will be retrieved in the following order:

  1. Directly from this configuration. If either the “global” parameter or both per side parameters have been specified.

  2. From the qdevice properties. This will assign the parameter to either the “A” or “B” side that the qdevice is connected to. To add a property to a qdevice, add it to the external_params in a qdevice configuration.

  3. From the defaults.

classmethod from_file(path)

Load the configuration from a YAML file.

Return type:

Any

length: Optional[float]

Total length [km] of fiber. For more information, see: Length.

p_loss_init: Optional[float]

Probability that photons are lost when entering connection. This is a Per side parameter.

p_loss_length: Optional[float]

Attenuation coefficient [dB/km] of the fiber. This is a Per side parameter.

speed_of_light: Optional[float]

Speed of light [km/s] in fiber of the heralded connection. This is a Per side parameter.

emission_fidelity: Optional[float]

Fidelity of state shared between photon and memory qubit compared to PHI_PLUS() Bell state directly after emission. This is a Qdevice parameter.

dark_count_probability: float

Dark-count probability per detection

detector_efficiency: float

Probability that the presence of a photon leads to a detection event

visibility: float

Hong-Ou-Mandel visibility of photons that are being interfered (measure of photon indistinguishability)

num_resolving: bool

Determines whether photon-number-resolving detectors are used for the Bell-state measurement

coin_prob_ph_ph: float

Coincidence probability for two photons. When using a coincidence time window in the double-click protocol, two clicks are only accepted if they occurred within one coincidence time window away from each other. This parameter is the probability that if both clicks are photon detections, they are within one coincidence window. In general, this depends not only on the size of the coincidence time window, but also on the state of emitted photons and the total detection time window. Defaults to 1.

coin_prob_ph_dc: float

Coincidence probability for a photon and a dark count. When using a coincidence time window in the double-click protocol, two clicks are only accepted if they occurred within one coincidence time window away from each other. This parameter is the probability that if one click is a photon detection and the other a dark count, they are within one coincidence window. In general, this depends not only on the size of the coincidence time window, but also on the state of emitted photons and the total detection time window. Defaults to 1.

coin_prob_dc_dc: float

Coincidence probability for two dark counts. When using a coincidence time window in the double-click protocol, two clicks are only accepted if they occurred within one coincidence time window away from each other. This parameter is the probability that if both clicks are dark counts, they are within one coincidence window. In general, this depends on the size of the coincidence time window and the total detection time window. Defaults to 1.

num_multiplexing_modes: int

Number of modes used for multiplexing, i.e. how many entanglement generation attempts are made per round.

emission_duration: Optional[float]

Time in nanoseconds it takes the memory to emit a photon that is entangled with a memory qubit. This is a Qdevice parameter.

collection_efficiency: Optional[float]

Chance of collecting the entangled photon emitted by a memory qubit. This parameter wil only rescale p_loss_init in this model. This is a Qdevice parameter.

length_A: Optional[float]

Length [km] of “A” side of the fiber. For more information, see: Length.

length_B: Optional[float]

Length [km] of “B” side of the fiber. For more information, see: Length.

p_loss_init_A: Optional[float]
p_loss_length_A: Optional[float]
speed_of_light_A: Optional[float]
emission_fidelity_A: Optional[float]
emission_duration_A: Optional[float]
collection_efficiency_A: Optional[float]
p_loss_init_B: Optional[float]
p_loss_length_B: Optional[float]
speed_of_light_B: Optional[float]
emission_fidelity_B: Optional[float]
emission_duration_B: Optional[float]
collection_efficiency_B: Optional[float]
Previous Next

© Copyright 2023, QuTech. Revision d36d3af1.

Built with Sphinx using a theme provided by Read the Docs.