You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The following example breaks Deutsch-Josza for two-qubit case with error:
Traceback (most recent call last):
File "./deutsch-josza.py", line 15, in <module>
is_constant = dj.is_constant(qvm,qubit_bitmap)
File "/Users/ruslan/anaconda3/envs/pyquil/lib/python3.6/site-packages/grove/deutsch_jozsa/deutsch_jozsa.py", line 59, in is_constant
constant = all([bit == 0 for bit in bitstring])
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
Was there a fix for this? I'm unable to make DJ algorithm run for 1+ qubit.
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-1-459d38310220> in <module>
19
20 dj = DeutschJosza()
---> 21 is_constant = dj.is_constant(qvm,qubit_bitmap)
22 print(is_constant)
~/opt/anaconda3/envs/QUANTUM/lib/python3.9/site-packages/grove/deutsch_jozsa/deutsch_jozsa.py in is_constant(self, cxn, bitstring_map)
57 # We are only running a single shot, so we are only interested in the first element.
58 bitstring = np.array(returned_bitstring, dtype=int)
---> 59 constant = all([bit == 0 for bit in bitstring])
60 return constant
61
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
The following example breaks Deutsch-Josza for two-qubit case with error:
Code producing the error:
Is fixable by changing the offending line to:
but I'm not sure if that's the most elegant solution.
You might also want to consider adding it to tests (they lack working 2-qubit mapping examples, only the ones that are invalid).
See also PR #146
The text was updated successfully, but these errors were encountered: