aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mdpoly/__init__.py2
-rw-r--r--mdpoly/abc.py3
-rw-r--r--mdpoly/expressions/matrix.py3
-rw-r--r--mdpoly/expressions/poly.py5
-rw-r--r--mdpoly/representations.py4
5 files changed, 8 insertions, 9 deletions
diff --git a/mdpoly/__init__.py b/mdpoly/__init__.py
index 1ac17a5..c341cb1 100644
--- a/mdpoly/__init__.py
+++ b/mdpoly/__init__.py
@@ -105,7 +105,7 @@ TODO: data structure(s) that represent the polynomial
# internal classes imported with underscore because
# they should not be exposed to the end users
-from .abc import (Shape as _Shape)
+from .index import (Shape as _Shape)
from .expressions.poly import (PolyConst as _PolyConst, PolyVar as _PolyVar, PolyParam as _PolyParam)
from .expressions.matrix import (MatConst as _MatConst, MatVar as _MatVar, MatParam as _MatParam)
diff --git a/mdpoly/abc.py b/mdpoly/abc.py
index cd90f85..657adf7 100644
--- a/mdpoly/abc.py
+++ b/mdpoly/abc.py
@@ -11,10 +11,11 @@ from dataclassabc import dataclassabc
from .constants import NUMERICS_EPS
from .errors import AlgebraicError
+from .index import Shape
from .util import iszero
if TYPE_CHECKING:
- from .index import Number, Shape, MatrixIndex, PolyIndex
+ from .index import Number, MatrixIndex, PolyIndex
from .state import State
diff --git a/mdpoly/expressions/matrix.py b/mdpoly/expressions/matrix.py
index 65f86c2..cd38383 100644
--- a/mdpoly/expressions/matrix.py
+++ b/mdpoly/expressions/matrix.py
@@ -9,8 +9,6 @@ from ..abc import Expr, Var, Const, Param, Algebra
from ..index import MatrixIndex, PolyIndex, PolyVarIndex
from ..errors import MissingParameters
-from .. import operations
-
if TYPE_CHECKING:
from ..abc import ReprT
from ..index import Shape, Number
@@ -124,7 +122,6 @@ class MatConst(Const, MatrixExpr):
return self.name
-
T = TypeVar("T", bound=Var)
@dataclassabc(frozen=True)
diff --git a/mdpoly/expressions/poly.py b/mdpoly/expressions/poly.py
index 3fe83ca..6e0308b 100644
--- a/mdpoly/expressions/poly.py
+++ b/mdpoly/expressions/poly.py
@@ -1,10 +1,11 @@
from __future__ import annotations
from typing import TYPE_CHECKING
-from typing import Type, Iterable
+from typing import Type, Iterable, cast
from functools import reduce
from itertools import chain, combinations_with_replacement
from dataclassabc import dataclassabc
+from operator import mul as opmul
from ..abc import Expr, Var, Const, Param, Algebra, ReprT
from ..index import Shape, MatrixIndex, PolyIndex, PolyVarIndex, Number
@@ -62,7 +63,7 @@ class PolyRingExpr(Expr):
# Ignore typecheck because dataclassabc has no typing stub
vars_and_const = chain(variables, (PolyConst(1),)) # type: ignore[call-arg]
for comb in combinations_with_replacement(vars_and_const, max_degree):
- yield cast(PolyRingExpr, reduce(operator.mul, comb))
+ yield cast(PolyRingExpr, reduce(opmul, comb))
# --- Operator Overloading ---
diff --git a/mdpoly/representations.py b/mdpoly/representations.py
index 32c75d7..1efe286 100644
--- a/mdpoly/representations.py
+++ b/mdpoly/representations.py
@@ -4,10 +4,10 @@ from typing import TYPE_CHECKING
from typing import Iterable
import numpy as np
+from .abc import Repr
+
if TYPE_CHECKING:
import numpy.typing as npt
-
- from .abc import Repr
from .index import Number, Shape, MatrixIndex, PolyIndex