55from kirin .rewrite import abc as rewrite_abc
66from kirin .dialects import ilist
77
8- from bloqade .noise import native
98from bloqade .analysis import address
10- from bloqade .qasm2 .dialects import uop , glob , parallel
9+ from bloqade .qasm2 .dialects import uop , glob , noise , parallel
1110
1211
1312@dataclass
@@ -19,9 +18,7 @@ class NoiseRewriteRule(rewrite_abc.RewriteRule):
1918
2019 address_analysis : Dict [ir .SSAValue , address .Address ]
2120 qubit_ssa_value : Dict [int , ir .SSAValue ]
22- noise_model : native .MoveNoiseModelABC = field (
23- default_factory = native .TwoRowZoneModel
24- )
21+ noise_model : noise .MoveNoiseModelABC = field (default_factory = noise .TwoRowZoneModel )
2522
2623 def rewrite_Statement (self , node : ir .Statement ) -> rewrite_abc .RewriteResult :
2724 if isinstance (node , uop .SingleQubitGate ):
@@ -43,10 +40,10 @@ def insert_single_qubit_noise(
4340 qargs : ir .SSAValue ,
4441 probs : Tuple [float , float , float , float ],
4542 ):
46- native .PauliChannel (qargs , px = probs [0 ], py = probs [1 ], pz = probs [2 ]).insert_before (
43+ noise .PauliChannel (qargs , px = probs [0 ], py = probs [1 ], pz = probs [2 ]).insert_before (
4744 node
4845 )
49- native .AtomLossChannel (qargs , prob = probs [3 ]).insert_before (node )
46+ noise .AtomLossChannel (qargs , prob = probs [3 ]).insert_before (node )
5047
5148 return rewrite_abc .RewriteResult (has_done_something = True )
5249
@@ -103,9 +100,9 @@ def move_noise_stmts(
103100 nodes .append (
104101 qargs := ilist .New (tuple (self .qubit_ssa_value [q ] for q in qubits ))
105102 )
106- nodes .append (native .AtomLossChannel (qargs .result , prob = probs [3 ]))
103+ nodes .append (noise .AtomLossChannel (qargs .result , prob = probs [3 ]))
107104 nodes .append (
108- native .PauliChannel (qargs .result , px = probs [0 ], py = probs [1 ], pz = probs [2 ])
105+ noise .PauliChannel (qargs .result , px = probs [0 ], py = probs [1 ], pz = probs [2 ])
109106 )
110107
111108 return nodes
@@ -116,7 +113,7 @@ def cz_gate_noise(
116113 qargs : ir .SSAValue ,
117114 ) -> list [ir .Statement ]:
118115 return [
119- native .CZPauliChannel (
116+ noise .CZPauliChannel (
120117 ctrls ,
121118 qargs ,
122119 px_ctrl = self .noise_model .cz_paired_gate_px ,
@@ -127,7 +124,7 @@ def cz_gate_noise(
127124 pz_qarg = self .noise_model .cz_paired_gate_pz ,
128125 paired = True ,
129126 ),
130- native .CZPauliChannel (
127+ noise .CZPauliChannel (
131128 ctrls ,
132129 qargs ,
133130 px_ctrl = self .noise_model .cz_unpaired_gate_px ,
@@ -138,8 +135,8 @@ def cz_gate_noise(
138135 pz_qarg = self .noise_model .cz_unpaired_gate_pz ,
139136 paired = False ,
140137 ),
141- native .AtomLossChannel (ctrls , prob = self .noise_model .cz_gate_loss_prob ),
142- native .AtomLossChannel (qargs , prob = self .noise_model .cz_gate_loss_prob ),
138+ noise .AtomLossChannel (ctrls , prob = self .noise_model .cz_gate_loss_prob ),
139+ noise .AtomLossChannel (qargs , prob = self .noise_model .cz_gate_loss_prob ),
143140 ]
144141
145142 def rewrite_cz_gate (self , node : uop .CZ ):
0 commit comments