Skip to content

Conversation

Aniketsy
Copy link

@Aniketsy Aniketsy commented Sep 3, 2025

This PR resolves a compatibility issue with Python 3.11 and above, where passing a set directly to random.sample() raises a TypeError.

In util.py, the open_qubits set is now explicitly converted to a list before being passed to random.sample() in the _apply_random_control function.

Audit of other random.sample() calls in util.py: No changes needed

Line 150: qubits is expected to be a list or tuple .
locs = tuple(random.sample(qubits, n_qubits))

Line 199: Same as above, qubits is a tuple.
locs = tuple(random.sample(qubits, n_qubits))

Line 253: qubits is a list.
this_term_qubits = random.sample(qubits, term_length)

Line 255: paulis is a list.
[random.sample(paulis,1)[0] for _ in range(term_length)]

Please let me know if this fix needs any improvements . I’m open to feedback and happy to make changes based on suggestions.
Thankyou!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants