braket.ir.jaqcd.program module

class braket.ir.jaqcd.program.Program[source]

Bases: pydantic.main.BaseModel

Root object of the JsonAwsQuantumCircuitDescription IR.

- instructions

List of instructions.

- basis_rotation_instructions

List of instructions for rotation to desired measurement bases

- results

List of requested results

Examples

>>> Program(instructions=[H(target=0), Rz(angle=0.15, target=1)])
>>> Program(instructions=[H(target=0), CNot(control=0, target=1)],
...     results=[Expectation(targets=[0], observable=['x'])],
...     basis_rotation_instructions=[H(target=0)])

Note

The type GateInstructions includes the following instructions: CCNot, CNot, CPhaseShift, CPhaseShift00, CPhaseShift01, CPhaseShift10, CSwap, CY, CZ, H, I, ISwap, PhaseShift, PSwap, Rx, Ry, Rz, S, Swap, Si, T, Ti, Unitary, V, Vi, X, XX, XY, Y, YY, Z, ZZ

Create a new model by parsing and validating input data from keyword arguments.

Raises ValidationError if the input data cannot be parsed to form a valid model.

instructions: List[GateInstructions] = None
results: Optional[List[Union[Amplitude, Expectation, Probability, Sample, StateVector, Variance]]] = None
basis_rotation_instructions: Optional[List[GateInstructions]] = None