qoqo_tket

A docstring describing the module.

class qoqo_tket.QoqoTketBackend(tket_backend: Backend | AerBackend | None = None)[source]

Run a Qoqo QuantumProgram or circuit on a Tket backend.

Init for Tket backend settings.

Parameters:

tket_backend (Backend) – Tket backend instance to use for the simulation.

Raises:

TypeError – the input is not a valid Tket Backend instance.

__init__(tket_backend: Backend | AerBackend | None = None) None[source]

Init for Tket backend settings.

Parameters:

tket_backend (Backend) – Tket backend instance to use for the simulation.

Raises:

TypeError – the input is not a valid Tket Backend instance.

compile_circuit(circuits: Circuit | List[Circuit]) Circuit[source]

Use a tket backend to compile qoqo circuit(s).

Parameters:

circuits (Union[Circuit, List[Circuit]]) – qoqo circuit(s)

Returns:

compiled qoqo circuit

Return type:

Circuit

run_circuit(circuits: Circuit | list[Circuit], n_shots: int | list[int] | None = None) Tuple[Dict[str, List[List[bool]]], Dict[str, List[List[float]]], Dict[str, List[List[complex]]]] | List[Tuple[Dict[str, List[List[bool]]], Dict[str, List[List[float]]], Dict[str, List[List[complex]]]]][source]

Use a tket backend to run qoqo circuit(s).

Parameters:
  • circuits (Union[Circuit, list[Circuit]]) – qoqo circuit(s)

  • n_shots (Union[int, list[int], None]) – number of shots for each circuit

Returns:

Union[ Tuple[

Dict[str, List[List[bool]]], Dict[str, List[List[float]]], Dict[str, List[List[complex]]],

], List[

Tuple[

Dict[str, List[List[bool]]], Dict[str, List[List[float]]], Dict[str, List[List[complex]]],

]

],

]]: Result for each circuit

compile_program(quantum_program: QuantumProgram) QuantumProgram[source]

Use tket backend to compile a QuantumProgram.

Parameters:

quantum_program (QuantumProgram) – QuantumProgram to transpile.

Returns:

transpiled QuantumProgram.

Return type:

QuantumProgram

run_measurement_registers(measurement: Any) Tuple[Dict[str, List[List[bool]]], Dict[str, List[List[float]]], Dict[str, List[List[complex]]]][source]

Run all circuits of a measurement with the Tket backend.

Parameters:

measurement – The measurement that is run.

Returns:

Tuple[Dict[str, List[List[bool]]], Dict[str, List[List[float]]], Dict[str, List[List[complex]]]]

run_measurement(measurement: Any) Dict[str, float] | None[source]

Run a circuit with the Tket backend.

Parameters:

measurement – The measurement that is run.

Returns:

Optional[Dict[str, float]]

run_program(program: QuantumProgram, params_values: List[List[float]]) List[Tuple[Dict[str, List[List[bool]]], Dict[str, List[List[float]]], Dict[str, List[List[complex]]]] | Dict[str, float]] | None[source]

Run a qoqo quantum program on a tket backend multiple times.

It can handle QuantumProgram instances containing any kind of measurement. The list of lists of parameters will be used to call program.run(self, params) or program.run_registers(self, params) as many times as the number of sublists. The return type will change accordingly.

If no parameters values are provided, a normal call program.run(self, []) call will be executed.

Parameters:
  • program (QuantumProgram) – the qoqo quantum program to run.

  • params_values (List[List[float]]) – the parameters values to pass to the quantum program.

Returns:

Optional[
List[
Union[
Tuple[

Dict[str, List[List[bool]]], Dict[str, List[List[float]]], Dict[str, List[List[complex]]],

], Dict[str, float],

]

]

]: list of dictionaries (or tuples of dictionaries) containing the

run results.