qat.purr.integrations.tket module
- class TketBuilder(*args, **kwargs)
Bases:
object
Builds a Tket circuit using a builder API. No direct relation to our other builders as the API is a little too different.
- barrier(qubits)
- creg(name, size)
- custom_gate(gate_def, qubits, params=None, conditions=None)
- gate(name, qubits, params=None, conditions=None)
- is_basic_gate(name)
- measure(qubits, bits, conditions=None)
- qreg(name, size)
- class TketQasmParser(order_result_vars=False, raw_results=False)
Bases:
Qasm2Parser
QASM parser that turns QASM into Tket structures. Built due to the fact that Tkets parser is very fragile and won’t work with QASM v3. When Tkets parser is better, this class can be removed.
- process_barrier(node, context, builder, **kwargs)
- process_cnot(node, context, builder, conditions=None, **kwargs)
- process_creg(node, context, builder, **kwargs)
- process_gate(method, context, builder, conditions=None, **kwargs)
Process a gate call.
- process_gate_definition(node, context, _, **kwargs)
- process_if(node, context, builder, *kwargs)
- process_measure(node, context, builder, conditions=None, **kwargs)
- process_program(builder, qasm)
- process_qreg(node, context, builder, **kwargs)
- process_reset(node, context, builder, conditions=None, **kwargs)
- process_unitary(node, context, builder, conditions=None, **kwargs)
Unitary in QASM terms is just
U(...)
.
- apply_default_transforms(circuit, architecture, opts)
- check_validity(circuit, architecture)
- fetch_default_passes(architecture, opts, pass_list=None, add_delay=True)
- optimize_circuit(circ, architecture, opts)
Apply all Tket optimizations to the circuit provided as defined in the options flag.
- run_tket_optimizations(qasm_string, opts, hardware)
Runs tket-based optimizations and modifications. Routing will always happen no matter the level.
Will run optimizations in sections if a full suite fails until a minimal subset of passing optimizations is found.
- Return type:
str