Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions qumat/qumat.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,12 @@ def __init__(self, backend_config):
self.circuit = None
self.num_qubits = None
self.parameters = {}
self.num_qubits = None

def create_empty_circuit(self, num_qubits: int | None = None):
self.num_qubits = num_qubits
self.circuit = self.backend_module.create_empty_circuit(num_qubits)
self.num_qubits = num_qubits

def apply_not_gate(self, qubit_index):
self.backend_module.apply_not_gate(self.circuit, qubit_index)
Expand Down Expand Up @@ -71,6 +73,13 @@ def apply_pauli_z_gate(self, qubit_index):
self.backend_module.apply_pauli_z_gate(self.circuit, qubit_index)

def execute_circuit(self, parameter_values=None):
if self.num_qubits == 0:
shots = self.backend_config["backend_options"].get("shots", 1)
if self.backend_name == "cirq":
return [{0: shots}]
else:
return {"": shots}

if parameter_values:
self.bind_parameters(parameter_values)
self.backend_config["parameter_values"] = self.parameters # Pass parameters
Expand Down
2 changes: 1 addition & 1 deletion testing/test_create_circuit.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ def test_create_empty_circuit(self, backend_name):

assert qumat.circuit is not None

@pytest.mark.parametrize("num_qubits", [1, 3, 5])
@pytest.mark.parametrize("num_qubits", [0, 1, 3, 5])
def test_create_circuit_initializes_to_zero(self, backend_name, num_qubits):
"""Test that create_empty_circuit properly initializes all qubits to |0⟩."""
backend_config = self.get_backend_config(backend_name)
Expand Down