mqt.qudits.quantum_circuitΒΆ

Qudit Quantum Circuit Module.

SubpackagesΒΆ

SubmodulesΒΆ

Package ContentsΒΆ

class QuantumCircuit(*args)[source]ΒΆ
property num_quditsΒΆ
property dimensionsΒΆ
property gate_set: NoneΒΆ
qasm_to_gate_set_dictΒΆ
classmethod get_qasm_set()[source]ΒΆ
reset() None[source]ΒΆ
copy()[source]ΒΆ
append(qreg: QuantumRegister) None[source]ΒΆ
append_classic(creg: ClassicRegister) None[source]ΒΆ
csum(qudits: list[int])[source]ΒΆ
cu_one(qudits: int, parameters: ndarray, controls: ControlData | None = None)[source]ΒΆ
cu_two(qudits: list[int], parameters: ndarray, controls: ControlData | None = None)[source]ΒΆ
cu_multi(qudits: list[int], parameters: ndarray, controls: ControlData | None = None)[source]ΒΆ
cx(qudits: list[int], parameters: list | None = None)[source]ΒΆ
gellmann(qudit: int, parameters: list | None = None, controls: ControlData | None = None)[source]ΒΆ
h(qudit: int, controls: ControlData | None = None)[source]ΒΆ
rh(qudit: int, parameters: list, controls: ControlData | None = None)[source]ΒΆ
ls(qudits: list[int], parameters: list | None = None)[source]ΒΆ
ms(qudits: list[int], parameters: list | None = None)[source]ΒΆ
pm(qudits: list[int], parameters: list)[source]ΒΆ
r(qudit: int, parameters: list, controls: ControlData | None = None)[source]ΒΆ
randu(qudits: list[int])[source]ΒΆ
rz(qudit: int, parameters: list, controls: ControlData | None = None)[source]ΒΆ
virtrz(qudit: int, parameters: list, controls: ControlData | None = None)[source]ΒΆ
s(qudit: int, controls: ControlData | None = None)[source]ΒΆ
x(qudit: int, controls: ControlData | None = None)[source]ΒΆ
z(qudit: int, controls: ControlData | None = None)[source]ΒΆ
replace_gate(gate_index: int, sequence: list[Gate]) None[source]ΒΆ
set_instructions(sequence: list[Gate])[source]ΒΆ
from_qasm(qasm_prog) None[source]ΒΆ

Create a circuit from qasm text

to_qasm()[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

draw() None[source]ΒΆ
class QuantumRegister(name, size, dims=None)[source]ΒΆ
classmethod from_map(sitemap: dict) list[QuantumRegister][source]ΒΆ
__qasm__()[source]ΒΆ
__getitem__(key)[source]ΒΆ
class QASM[source]ΒΆ

Class that manages the parsing of QASM programs

parse_nonspecial_lines(line, rgxs, in_comment_flag)[source]ΒΆ
parse_qreg(line, rgxs, sitemap) bool[source]ΒΆ
parse_creg(line, rgxs, sitemap_classic) bool[source]ΒΆ
safe_eval_math_expression(expression)[source]ΒΆ
parse_gate(line, rgxs, sitemap, gates) bool[source]ΒΆ
parse_ignore(line, rgxs, warned) bool[source]ΒΆ
parse_ditqasm2_str(contents)[source]ΒΆ

Parse the string contents of an OpenQASM 2.0 file. This parser only supports basic gate_matrix definitions, and is not guaranteed to check the full openqasm grammar.

parse_ditqasm2_file(fname)[source]ΒΆ

Parse an OpenQASM 2.0 file.