summaryrefslogtreecommitdiffstats
path: root/polymatrix/expression/mixins/legendreseriesmixin.py
diff options
context:
space:
mode:
Diffstat (limited to 'polymatrix/expression/mixins/legendreseriesmixin.py')
-rw-r--r--polymatrix/expression/mixins/legendreseriesmixin.py22
1 files changed, 9 insertions, 13 deletions
diff --git a/polymatrix/expression/mixins/legendreseriesmixin.py b/polymatrix/expression/mixins/legendreseriesmixin.py
index aa3de58..bec4c6c 100644
--- a/polymatrix/expression/mixins/legendreseriesmixin.py
+++ b/polymatrix/expression/mixins/legendreseriesmixin.py
@@ -10,49 +10,45 @@ from polymatrix.expression.mixins.expressionbasemixin import ExpressionBaseMixin
class LegendreSeriesMixin(ExpressionBaseMixin):
@property
@abc.abstractmethod
- def underlying(self) -> tuple[ExpressionBaseMixin]:
- ...
+ def underlying(self) -> tuple[ExpressionBaseMixin]: ...
@property
@abc.abstractmethod
- def degrees(self) -> tuple[int, ...] | None:
- ...
+ def degrees(self) -> tuple[int, ...] | None: ...
@property
@abc.abstractmethod
- def stack(self) -> tuple[FrameSummary]:
- ...
+ def stack(self) -> tuple[FrameSummary]: ...
# overwrites the abstract method of `ExpressionBaseMixin`
def apply(
- self,
+ self,
state: ExpressionState,
) -> tuple[ExpressionState, PolyMatrix]:
-
state, underlying = self.underlying.apply(state)
if self.degrees is None:
degrees = range(underlying.shape[0])
else:
degrees = self.degrees
-
+
poly_matrix_data = {}
for degree in degrees:
- # for degree in self.degree:
+ # for degree in self.degree:
poly = underlying.get_poly(degree, 0)
poly_matrix_data[degree, 0] = dict(poly)
if 2 <= degree:
poly = underlying.get_poly(degree - 2, 0)
- factor = - (degree - 1) / (degree + 1)
+ factor = -(degree - 1) / (degree + 1)
for m, v in poly.items():
if m in poly_matrix_data[degree, 0]:
- poly_matrix_data[degree, 0][m] += v*factor
+ poly_matrix_data[degree, 0][m] += v * factor
else:
- poly_matrix_data[degree, 0][m] = v*factor
+ poly_matrix_data[degree, 0][m] = v * factor
poly_matrix = init_poly_matrix(
data=poly_matrix_data,