mqt.qudits.quantum_circuit.circuit

Module Contents

InverseSitemap
is_not_none_or_empty(variable: Parameter) → bool[source]
G
add_gate_decorator(func: Callable[..., G]) → Callable[..., G][source]
class QuantumCircuit(*args: int | QuantumRegister | list[int] | None)[source]
qasm_to_gate_set_dict: ClassVar
cl_inverse_sitemap: InverseSitemap
inverse_sitemap: InverseSitemap
number_gates: int = 0
instructions: list[Gate] = []
quantum_registers: list[QuantumRegister] = []
classic_registers: list[ClassicRegister] = []
sitemap: mqt.qudits.quantum_circuit.components.quantum_register.SiteMap
classic_site_map: ClSitemap
num_cl: int = 0
mappings: list[list[int]] | None = None
path_save: str | None = None
classmethod get_qasm_set() → dict[str, str][source]
property dimensions: list[int]
property num_qudits: int
reset() → None[source]
copy() → QuantumCircuit[source]
append(qreg: QuantumRegister) → None[source]
append_classic(creg: ClassicRegister) → None[source]
csum(qudits: list[int]) → CSum[source]
cu_one(qudits: int, parameters: numpy.typing.NDArray[numpy.complex128], controls: ControlData | None = None) → CustomOne[source]
cu_two(qudits: list[int], parameters: numpy.typing.NDArray[numpy.complex128], controls: ControlData | None = None) → CustomTwo[source]
cu_multi(qudits: list[int], parameters: numpy.typing.NDArray[numpy.complex128], controls: ControlData | None = None) → CustomMulti[source]
cx(qudits: list[int], parameters: list[int | float] | None = None) → CEx[source]
gellmann(qudit: int, parameters: list[int | str], controls: ControlData | None = None) → GellMann[source]
h(qudit: int, controls: ControlData | None = None) → H[source]
rh(qudit: int, parameters: list[int], controls: ControlData | None = None) → Rh[source]
ls(qudits: list[int], parameters: list[float]) → LS[source]
ms(qudits: list[int], parameters: list[float]) → MS[source]
pm(qudits: int, parameters: list[int]) → Perm[source]
r(qudit: int, parameters: list[int | float], controls: ControlData | None = None) → R[source]
randu(qudits: list[int]) → RandU[source]
rz(qudit: int, parameters: list[int | float], controls: ControlData | None = None) → Rz[source]
noisex(qudit: int, parameters: list[int], controls: ControlData | None = None) → NoiseX[source]
noisey(qudit: int, parameters: list[int], controls: ControlData | None = None) → NoiseY[source]
noisez(qudit: int, level: int, controls: ControlData | None = None) → VirtRz[source]
virtrz(qudit: int, parameters: list[int | float], controls: ControlData | None = None) → VirtRz[source]
s(qudit: int, controls: ControlData | None = None) → S[source]
x(qudit: int, controls: ControlData | None = None) → X[source]
z(qudit: int, controls: ControlData | None = None) → Z[source]
replace_gate(gate_index: int, sequence: Sequence[Gate]) → None[source]
set_instructions(sequence: Sequence[Gate]) → QuantumCircuit[source]
set_mapping(mappings: list[list[int]]) → QuantumCircuit[source]
from_qasm(qasm_prog: str) → None[source]

Create a circuit from qasm text.

to_qasm() → str[source]
save_to_file(file_name: str, file_path: str = '.') → str[source]

Save qasm into a file with the specified name and path.

Parameters:
  • text (str) – The text to be saved into the file.

  • file_name (str) – The name of the file.

  • file_path (str, optional) – The path where the file will be saved. Defaults to “.” (current directory).

Returns:

The full path of the saved file.

Return type:

str

load_from_file(file_path: str) → None[source]

Load text from a file.

Parameters:

file_path (str) – The path of the file to load.

Returns:

The text loaded from the file.

Return type:

str

property gate_set: str
simulate() → numpy.typing.NDArray[numpy.complex128][source]
compileO0(backend_name: str) → QuantumCircuit[source]
compileO1(backend_name: str) → QuantumCircuit[source]
set_initial_state(state: numpy.typing.NDArray[numpy.complex128], approx: bool = False) → QuantumCircuit[source]