|
6 | 6 | from gamspy.exceptions import GamspyException, ValidationError |
7 | 7 |
|
8 | 8 | from gamspy_qubo import _utils |
9 | | -from gamspy_qubo.backend import DwaveBackend, KipuBackend |
| 9 | +from gamspy_qubo.backend import DwaveBackend, JsonBackend, KipuBackend |
10 | 10 |
|
11 | 11 | LOG_LEVEL_DICT = {0: log.WARN, 1: log.INFO, 2: log.DEBUG} |
12 | 12 | SUPPORTED_QUANTUM_BACKENDS = [ |
13 | 13 | "dwave", |
14 | 14 | "kipu", |
| 15 | + "json", |
15 | 16 | ] # append this list when adding new quantum backend |
16 | 17 |
|
17 | 18 |
|
@@ -595,7 +596,7 @@ def write_qubowl(self) -> None: |
595 | 596 | non_zero_values = self.Q[non_zero_indices] |
596 | 597 | with open(f"QMat_{self._modelName}.qs", "w") as fp: |
597 | 598 | fp.write(f"{self.Q.shape[0]} {len(non_zero_values)} {self.Qconst}\n") |
598 | | - for i, j, value in zip(*non_zero_indices, non_zero_values): |
| 599 | + for i, j, value in zip(*non_zero_indices, non_zero_values, strict=True): |
599 | 600 | if value != 0: |
600 | 601 | fp.write(f"{i + 1} {j + 1} {value}\n") |
601 | 602 |
|
@@ -655,8 +656,14 @@ def solve(self, *args, **kwargs) -> pd.DataFrame | None: |
655 | 656 | optimized_variable_values = self._q_container["x"].records |
656 | 657 | elif self._backend in SUPPORTED_QUANTUM_BACKENDS: |
657 | 658 | q_vars: pd.Series = self._q_container["qi"].records["uni"] |
658 | | - _initialize = {"dwave": DwaveBackend, "kipu": KipuBackend} |
659 | | - _backend: DwaveBackend | KipuBackend = _initialize[self._backend]( |
| 659 | + _initialize = { |
| 660 | + "dwave": DwaveBackend, |
| 661 | + "kipu": KipuBackend, |
| 662 | + "json": JsonBackend, |
| 663 | + } |
| 664 | + _backend: DwaveBackend | KipuBackend | JsonBackend = _initialize[ |
| 665 | + self._backend |
| 666 | + ]( |
660 | 667 | q_matrix=self.Q, |
661 | 668 | q_variables=q_vars, |
662 | 669 | q_constant=self.Qconst, |
|
0 commit comments