aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mdpoly/types.py26
1 files changed, 22 insertions, 4 deletions
diff --git a/mdpoly/types.py b/mdpoly/types.py
index 14847fa..29e7b83 100644
--- a/mdpoly/types.py
+++ b/mdpoly/types.py
@@ -50,13 +50,31 @@ class MatrixIndex(NamedTuple):
return cls(row, col)
-class PolyTermIndex(NamedTuple):
- term: int
+class PolyVarIndex(NamedTuple):
+ """
+ Tuple to index a power of a variable.
+
+ Concretely this represents things like x^2, y^4
+ """
+ varindex: int
power: Number
-class PolyIndex:
+class PolyIndex(tuple[PolyVarIndex]):
"""
Tuple to index a coefficient of a polynomial.
+
+ Example:
+
+ Suppose there are two variables x, y with indices 0, 1 respectively.
+ Then the monomal xy^2 has PolyIndex
+
+ (PolyVarIndex(varindex=0, power=1), PolyVarIndex(varindex=1, power=2)
+
+ Then given the polynomial
+
+ p(x, y) = 3x^2 + 5xy^2
+
+ The with the PolyIndex above we can retrieve the coefficient 5 in front
+ of xy^2.
"""
- indices: tuple[PolyTermIndex]