from pyquil import Program, get_qc from pyquil.gates import * pg = Program() rads1 = pg.declare("rads1", memory_type="REAL") ro = pg.declare("ro", memory_type="BIT", memory_size=6) pg += H(3) pg += X(2) pg += Y(2) pg += Z(2) pg += RX(rads1*.5*(-2), 3) pg += RY(-rads1*(-2), 3) pg += RZ(-2.0943951023931953, 3) pg += RZ(-0.7675840859664933, 4) pg += RY(-1.4439793494898376, 4) pg += RZ(-1.943589293061628, 4) # 0->5 allowed by c_to_tars pg += CNOT(0, 5) # 0->1 not allowed by c_to_tars # SIGX AT 1 IF 0T # not allowed in strict mode pg += PHASE(-rads1, 2) pg += CPHASE00(rads1, 0, 2) pg += CPHASE01(-rads1, 0, 2) pg += CPHASE10(0.7853981633974483, 0, 2) pg += CPHASE(0.7853981633974483, 0, 2) pg += SWAP(2, 0) pg.MEASURE(0, ro[0]) pg.MEASURE(1, ro[1]) pg.MEASURE(2, ro[2]) pg.MEASURE(3, ro[3]) pg.MEASURE(4, ro[4]) pg.MEASURE(5, ro[5])