Skip to content

Commit

Permalink
🚨 fix mypy warning by making typing more explicit
Browse files Browse the repository at this point in the history
Signed-off-by: burgholzer <[email protected]>
  • Loading branch information
burgholzer committed Aug 30, 2024
1 parent cbc0700 commit 6cac8d3
Showing 1 changed file with 9 additions and 8 deletions.
17 changes: 9 additions & 8 deletions src/mqt/qcec/compilation_flow_profiles.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,15 @@

from enum import Enum, unique
from pathlib import Path
from typing import Any
from typing import TYPE_CHECKING, Any

import numpy as np
from qiskit import QuantumCircuit, transpile
from qiskit import __version__ as qiskit_version

if TYPE_CHECKING:
from numpy.typing import NDArray


@unique
class AncillaMode(Enum):
Expand Down Expand Up @@ -307,22 +310,20 @@ def check_recurrence(seq: list[int], order: int = 2) -> list[int] | None:
if len(seq) < (2 * order + 1):
return None

mat, f = [], []
for i in range(order):
mat.append(seq[i : i + order])
f.append(seq[i + order])
mat = np.array([seq[i : i + order] for i in range(order)], dtype=int)
f = np.array([seq[i + order] for i in range(order)], dtype=int)

if np.linalg.det(mat) == 0:
return None

coeffs = np.linalg.inv(mat).dot(f)
coefficients: NDArray[np.float64] = np.linalg.inv(mat).dot(f)

for i in range(2 * order, len(seq)):
predict = np.sum(coeffs * np.array(seq[i - order : i]))
predict: float = np.sum(coefficients * np.array(seq[i - order : i], dtype=float))
if abs(predict - seq[i]) > 10 ** (-2):
return None

return list(coeffs)
return list(coefficients)


def find_continuation(
Expand Down

0 comments on commit 6cac8d3

Please sign in to comment.