@@ -14,20 +14,6 @@ def sdag() -> list[ir.Statement]:
1414 return [_op := op .stmts .S (), op .stmts .Adjoint (op = _op .result , is_unitary = True )]
1515
1616
17- def sqrt_x_dag () -> list [ir .Statement ]:
18- return [
19- _op := op .stmts .SqrtX (),
20- op .stmts .Adjoint (op = _op .result , is_unitary = True ),
21- ]
22-
23-
24- def sqrt_y_dag () -> list [ir .Statement ]:
25- return [
26- _op := op .stmts .SqrtY (),
27- op .stmts .Adjoint (op = _op .result , is_unitary = True ),
28- ]
29-
30-
3117# (theta, phi, lam)
3218U3_HALF_PI_ANGLE_TO_GATES : dict [
3319 tuple [int , int , int ], Callable [[], Tuple [List [ir .Statement ], ...]]
@@ -40,21 +26,21 @@ def sqrt_y_dag() -> list[ir.Statement]:
4026 (1 , 0 , 1 ): lambda : ([op .stmts .S ()], [op .stmts .SqrtY ()]),
4127 (1 , 0 , 2 ): lambda : ([op .stmts .H ()],),
4228 (1 , 0 , 3 ): lambda : (sdag (), [op .stmts .SqrtY ()]),
43- (1 , 1 , 0 ): lambda : ([op .stmts .S ()], sqrt_x_dag () ),
44- (1 , 1 , 1 ): lambda : ([op .stmts .Z ()], sqrt_x_dag () ),
45- (1 , 1 , 2 ): lambda : (sdag (), sqrt_x_dag () ),
46- (1 , 1 , 3 ): lambda : (sqrt_x_dag (),),
47- (1 , 2 , 0 ): lambda : ([op .stmts .Z ()], sqrt_y_dag () ),
48- (1 , 2 , 1 ): lambda : (sdag (), sqrt_y_dag () ),
49- (1 , 2 , 2 ): lambda : (sqrt_y_dag (), ),
50- (1 , 2 , 3 ): lambda : ([op .stmts .S ()], sqrt_y_dag () ),
51- (1 , 3 , 0 ): lambda : (sdag (), [op .stmts .SqrtX ()]),
52- (1 , 3 , 1 ): lambda : ([op .stmts .SqrtX ()],),
53- (1 , 3 , 2 ): lambda : ([op .stmts .S ()], [op .stmts .SqrtX ()]),
54- (1 , 3 , 3 ): lambda : ([ op . stmts . Z ()] , [op .stmts .SqrtX ()]),
29+ (1 , 1 , 0 ): lambda : ([op .stmts .SqrtY ()], [ op . stmts . S ()] ),
30+ (1 , 1 , 1 ): lambda : ([op .stmts .S ()], [ op . stmts . SqrtY ()], [ op . stmts . S ()] ),
31+ (1 , 1 , 2 ): lambda : ([ op . stmts . Z ()], [ op . stmts . SqrtY ()], [ op . stmts . S ()] ),
32+ (1 , 1 , 3 ): lambda : (sdag (), [ op . stmts . SqrtY ()], [ op . stmts . S ()] ),
33+ (1 , 2 , 0 ): lambda : ([op .stmts .SqrtY ()], [ op . stmts . Z ()] ),
34+ (1 , 2 , 1 ): lambda : ([ op . stmts . S ()], [ op . stmts . SqrtY ()], [ op . stmts . Z ()] ),
35+ (1 , 2 , 2 ): lambda : ([ op . stmts . Z ()], [ op . stmts . SqrtY ()], [ op . stmts . Z ()] ),
36+ (1 , 2 , 3 ): lambda : (sdag (), [op .stmts .SqrtY ()], [ op . stmts . Z ()] ),
37+ (1 , 3 , 0 ): lambda : ([op .stmts .SqrtY ()], sdag () ),
38+ (1 , 3 , 1 ): lambda : ([op .stmts .S ()], [ op . stmts . SqrtY ()], sdag () ),
39+ (1 , 3 , 2 ): lambda : ([op .stmts .Z ()], [op .stmts .SqrtY ()], sdag () ),
40+ (1 , 3 , 3 ): lambda : (sdag () , [op .stmts .SqrtY ()], sdag () ),
5541 (2 , 0 , 0 ): lambda : ([op .stmts .Y ()],),
5642 (2 , 0 , 1 ): lambda : ([op .stmts .S ()], [op .stmts .Y ()]),
57- (2 , 0 , 2 ): lambda : ([op .stmts .X ()],),
43+ (2 , 0 , 2 ): lambda : ([op .stmts .Z ()], [ op . stmts . Y ()] ),
5844 (2 , 0 , 3 ): lambda : (sdag (), [op .stmts .Y ()]),
5945}
6046
0 commit comments