Skip to content

Commit 2c7bbed

Browse files
authored
Don't use black box QROAM in THC call graph. (#614)
Don't use black box in THC call graph.
1 parent 79c324d commit 2c7bbed

1 file changed

Lines changed: 5 additions & 3 deletions

File tree

qualtran/bloqs/chemistry/thc/prepare.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@
3939
)
4040
from qualtran.bloqs.basic_gates import Hadamard, Ry, Toffoli, XGate
4141
from qualtran.bloqs.basic_gates.swap import CSwap
42-
from qualtran.bloqs.chemistry.black_boxes import QROAM
4342
from qualtran.bloqs.multi_control_multi_target_pauli import MultiControlPauli
4443
from qualtran.bloqs.on_each import OnEach
4544
from qualtran.bloqs.reflection import Reflection
@@ -435,8 +434,11 @@ def build_call_graph(self, ssa: 'SympySymbolAllocator') -> Set['BloqCountT']:
435434
data_size = self.num_spin_orb // 2 + self.num_mu * (self.num_mu + 1) // 2
436435
nd = (data_size - 1).bit_length()
437436
cost_2 = (ToContiguousIndex(nmu, nd), 1)
438-
m = 2 * nmu + 2 + self.keep_bitsize
439-
cost_3 = (QROAM(data_size, m), 1)
437+
qroam = SelectSwapQROM(
438+
*(self.theta, self.alt_theta, self.alt_mu, self.alt_nu, self.keep),
439+
target_bitsizes=(1, 1, nmu, nmu, self.keep_bitsize),
440+
)
441+
cost_3 = (qroam, 1)
440442
cost_4 = (OnEach(self.keep_bitsize, Hadamard()), 1)
441443
cost_5 = (LessThanEqual(self.keep_bitsize, self.keep_bitsize), 2)
442444
cost_6 = (CSwap(nmu), 3)

0 commit comments

Comments
 (0)