braket.default_simulator.openqasm.circuit module

class braket.default_simulator.openqasm.circuit.Circuit(instructions: list[GateOperation] | None = None, results: list[Amplitude | Expectation | Probability | Sample | StateVector | DensityMatrix | Variance | AdjointGradient] | None = None)[source]

Bases: object

This is a lightweight analog to braket.ir.jaqcd.program_v1.Program. The Interpreter compiles to an IR to hand off to the simulator, braket.default_simulator.state_vector_simulator.StateVectorSimulator, for example. Our simulator module takes in a circuit specification that satisfies the interface implemented by this class.

add_instruction(instruction: [GateOperation, KrausOperation]) None[source]

Add instruction to the circuit.

Parameters:

instruction (GateOperation) – Instruction to add.

add_measure(target: tuple[int])[source]
add_result(result: Amplitude | Expectation | Probability | Sample | StateVector | DensityMatrix | Variance | AdjointGradient) None[source]

Add result type to the circuit.

Parameters:

result (Results) – Result type to add.

property num_qubits: int
property basis_rotation_instructions

Basis rotation instructions implied by the provided observables