diff options
Diffstat (limited to 'polymatrix/expression/init')
44 files changed, 121 insertions, 99 deletions
diff --git a/polymatrix/expression/init/initadditionexpr.py b/polymatrix/expression/init/initadditionexpr.py index e5b31c8..cdc97b1 100644 --- a/polymatrix/expression/init/initadditionexpr.py +++ b/polymatrix/expression/init/initadditionexpr.py @@ -1,12 +1,12 @@ from polymatrix.expression.mixins.expressionbasemixin import ExpressionBaseMixin -from polymatrix.expression.impl.additionexprimpl import AdditionExprImpl +import polymatrix.expression.impl.impl def init_addition_expr( left: ExpressionBaseMixin, right: ExpressionBaseMixin, ): - return AdditionExprImpl( + return polymatrix.expression.impl.impl.AdditionExprImpl( left=left, right=right, ) diff --git a/polymatrix/expression/init/initblockdiagexpr.py b/polymatrix/expression/init/initblockdiagexpr.py index 930385f..a9ad8a6 100644 --- a/polymatrix/expression/init/initblockdiagexpr.py +++ b/polymatrix/expression/init/initblockdiagexpr.py @@ -1,9 +1,7 @@ -from polymatrix.expression.impl.blockdiagexprimpl import BlockDiagExprImpl - - +import polymatrix.expression.impl.impl def init_block_diag_expr( underlying: tuple, ): - return BlockDiagExprImpl( + return polymatrix.expression.impl.impl.BlockDiagExprImpl( underlying=underlying, ) diff --git a/polymatrix/expression/init/initcacheexpr.py b/polymatrix/expression/init/initcacheexpr.py index 977e033..861ffa1 100644 --- a/polymatrix/expression/init/initcacheexpr.py +++ b/polymatrix/expression/init/initcacheexpr.py @@ -1,10 +1,10 @@ from polymatrix.expression.mixins.expressionbasemixin import ExpressionBaseMixin -from polymatrix.expression.impl.cacheexprimpl import CacheExprImpl +import polymatrix.expression.impl.impl def init_cache_expr( underlying: ExpressionBaseMixin, ): - return CacheExprImpl( + return polymatrix.expression.impl.impl.CacheExprImpl( underlying=underlying, ) diff --git a/polymatrix/expression/init/initcombinationsexpr.py b/polymatrix/expression/init/initcombinationsexpr.py index 80bf4d0..10931e6 100644 --- a/polymatrix/expression/init/initcombinationsexpr.py +++ b/polymatrix/expression/init/initcombinationsexpr.py @@ -1,12 +1,12 @@ from polymatrix.expression.mixins.expressionbasemixin import ExpressionBaseMixin -from polymatrix.expression.impl.combinationsexprimpl import CombinationsExprImpl +import polymatrix.expression.impl.impl def init_combinations_expr( monomials: ExpressionBaseMixin, number: int, ): - return CombinationsExprImpl( + return polymatrix.expression.impl.impl.CombinationsExprImpl( monomials=monomials, number=number, ) diff --git a/polymatrix/expression/init/initderivativeexpr.py b/polymatrix/expression/init/initderivativeexpr.py index a6ca06c..b1c9405 100644 --- a/polymatrix/expression/init/initderivativeexpr.py +++ b/polymatrix/expression/init/initderivativeexpr.py @@ -1,5 +1,5 @@ from polymatrix.expression.mixins.expressionbasemixin import ExpressionBaseMixin -from polymatrix.expression.impl.derivativeexprimpl import DerivativeExprImpl +import polymatrix.expression.impl.impl def init_derivative_expr( @@ -13,7 +13,7 @@ def init_derivative_expr( if introduce_derivatives is None: introduce_derivatives = False - return DerivativeExprImpl( + return polymatrix.expression.impl.impl.DerivativeExprImpl( underlying=underlying, variables=variables, introduce_derivatives=introduce_derivatives, diff --git a/polymatrix/expression/init/initdeterminantexpr.py b/polymatrix/expression/init/initdeterminantexpr.py index f0d1bb5..660f3ae 100644 --- a/polymatrix/expression/init/initdeterminantexpr.py +++ b/polymatrix/expression/init/initdeterminantexpr.py @@ -1,10 +1,10 @@ from polymatrix.expression.mixins.expressionbasemixin import ExpressionBaseMixin -from polymatrix.expression.impl.determinantexprimpl import DeterminantExprImpl +import polymatrix.expression.impl.impl def init_determinant_expr( underlying: ExpressionBaseMixin, ): - return DeterminantExprImpl( + return polymatrix.expression.impl.impl.DeterminantExprImpl( underlying=underlying, ) diff --git a/polymatrix/expression/init/initdiagexpr.py b/polymatrix/expression/init/initdiagexpr.py index db9b6d4..794c5bf 100644 --- a/polymatrix/expression/init/initdiagexpr.py +++ b/polymatrix/expression/init/initdiagexpr.py @@ -1,10 +1,10 @@ from polymatrix.expression.mixins.expressionbasemixin import ExpressionBaseMixin -from polymatrix.expression.impl.diagexprimpl import DiagExprImpl +import polymatrix.expression.impl.impl def init_diag_expr( underlying: ExpressionBaseMixin, ): - return DiagExprImpl( + return polymatrix.expression.impl.impl.DiagExprImpl( underlying=underlying, ) diff --git a/polymatrix/expression/init/initdivergenceexpr.py b/polymatrix/expression/init/initdivergenceexpr.py index d1aa02c..6f5d99d 100644 --- a/polymatrix/expression/init/initdivergenceexpr.py +++ b/polymatrix/expression/init/initdivergenceexpr.py @@ -1,13 +1,13 @@ from polymatrix.expression.mixins.expressionbasemixin import ExpressionBaseMixin from typing import Union -from polymatrix.expression.impl.divergenceexprimpl import DivergenceExprImpl +import polymatrix.expression.impl.impl def init_divergence_expr( underlying: ExpressionBaseMixin, variables: tuple, ): - return DivergenceExprImpl( + return polymatrix.expression.impl.impl.DivergenceExprImpl( underlying=underlying, variables=variables, ) diff --git a/polymatrix/expression/init/initdivisionexpr.py b/polymatrix/expression/init/initdivisionexpr.py index 2a701a9..d7870bc 100644 --- a/polymatrix/expression/init/initdivisionexpr.py +++ b/polymatrix/expression/init/initdivisionexpr.py @@ -1,12 +1,12 @@ from polymatrix.expression.mixins.expressionbasemixin import ExpressionBaseMixin -from polymatrix.expression.impl.divisionexprimpl import DivisionExprImpl +import polymatrix.expression.impl.impl def init_division_expr( left: ExpressionBaseMixin, right: ExpressionBaseMixin, ): - return DivisionExprImpl( + return polymatrix.expression.impl.impl.DivisionExprImpl( left=left, right=right, ) diff --git a/polymatrix/expression/init/initelemmultexpr.py b/polymatrix/expression/init/initelemmultexpr.py index ae0e85f..ef66c68 100644 --- a/polymatrix/expression/init/initelemmultexpr.py +++ b/polymatrix/expression/init/initelemmultexpr.py @@ -1,12 +1,12 @@ from polymatrix.expression.mixins.expressionbasemixin import ExpressionBaseMixin -from polymatrix.expression.impl.elemmultexprimpl import ElemMultExprImpl +import polymatrix.expression.impl.impl def init_elem_mult_expr( left: ExpressionBaseMixin, right: ExpressionBaseMixin, ): - return ElemMultExprImpl( + return polymatrix.expression.impl.impl.ElemMultExprImpl( left=left, right=right, ) diff --git a/polymatrix/expression/init/initevalexpr.py b/polymatrix/expression/init/initevalexpr.py index 0fad8e5..c59a8d5 100644 --- a/polymatrix/expression/init/initevalexpr.py +++ b/polymatrix/expression/init/initevalexpr.py @@ -2,7 +2,7 @@ import typing import numpy as np from polymatrix.expression.init.initsubstituteexpr import format_substitutions from polymatrix.expression.mixins.expressionbasemixin import ExpressionBaseMixin -from polymatrix.expression.impl.evalexprimpl import EvalExprImpl +import polymatrix.expression.impl.impl def init_eval_expr( @@ -31,7 +31,7 @@ def init_eval_expr( substitutions = tuple((variable, formatted_values(value)) for variable, value in substitutions) - return EvalExprImpl( + return polymatrix.expression.impl.impl.EvalExprImpl( underlying=underlying, substitutions=substitutions, ) diff --git a/polymatrix/expression/init/initexpression.py b/polymatrix/expression/init/initexpression.py index 7262e47..3c3258c 100644 --- a/polymatrix/expression/init/initexpression.py +++ b/polymatrix/expression/init/initexpression.py @@ -1,5 +1,5 @@ +from polymatrix.expression.expression import ExpressionImpl from polymatrix.expression.mixins.expressionbasemixin import ExpressionBaseMixin -from polymatrix.expression.impl.expressionimpl import ExpressionImpl def init_expression( diff --git a/polymatrix/expression/init/initeyeexpr.py b/polymatrix/expression/init/initeyeexpr.py index e691b03..642e4c6 100644 --- a/polymatrix/expression/init/initeyeexpr.py +++ b/polymatrix/expression/init/initeyeexpr.py @@ -1,10 +1,10 @@ from polymatrix.expression.mixins.expressionbasemixin import ExpressionBaseMixin -from polymatrix.expression.impl.eyeexprimpl import EyeExprImpl +import polymatrix.expression.impl.impl def init_eye_expr( variable: ExpressionBaseMixin, ): - return EyeExprImpl( + return polymatrix.expression.impl.impl.EyeExprImpl( variable=variable, ) diff --git a/polymatrix/expression/init/initfilterexpr.py b/polymatrix/expression/init/initfilterexpr.py index c47036f..7164183 100644 --- a/polymatrix/expression/init/initfilterexpr.py +++ b/polymatrix/expression/init/initfilterexpr.py @@ -1,5 +1,5 @@ from polymatrix.expression.mixins.expressionbasemixin import ExpressionBaseMixin -from polymatrix.expression.impl.filterexprimpl import FilterExprImpl +import polymatrix.expression.impl.impl def init_filter_expr( @@ -10,7 +10,7 @@ def init_filter_expr( if inverse is None: inverse = False - return FilterExprImpl( + return polymatrix.expression.impl.impl.FilterExprImpl( underlying=underlying, predicator=predicator, inverse=inverse, diff --git a/polymatrix/expression/init/initfromsymmetricmatrixexpr.py b/polymatrix/expression/init/initfromsymmetricmatrixexpr.py index 3af7dc3..b3ef782 100644 --- a/polymatrix/expression/init/initfromsymmetricmatrixexpr.py +++ b/polymatrix/expression/init/initfromsymmetricmatrixexpr.py @@ -1,10 +1,10 @@ from polymatrix.expression.mixins.expressionbasemixin import ExpressionBaseMixin -from polymatrix.expression.impl.fromsymmetricmatrixexprimpl import FromSymmetricMatrixExprImpl +import polymatrix.expression.impl.impl def init_from_symmetric_matrix_expr( underlying: ExpressionBaseMixin, ): - return FromSymmetricMatrixExprImpl( + return polymatrix.expression.impl.impl.FromSymmetricMatrixExprImpl( underlying=underlying, ) diff --git a/polymatrix/expression/init/initfromsympyexpr.py b/polymatrix/expression/init/initfromsympyexpr.py index 2ab6ded..4ca6fcf 100644 --- a/polymatrix/expression/init/initfromsympyexpr.py +++ b/polymatrix/expression/init/initfromsympyexpr.py @@ -2,14 +2,13 @@ import typing import numpy as np import sympy -from polymatrix.expression.impl.fromsympyexprimpl import FromSympyExprImpl +from polymatrix.expression.impl.impl import FromSympyExprImpl from polymatrix.expression.mixins.expressionbasemixin import ExpressionBaseMixin -def init_from_sympy_expr( - data: typing.Union[np.ndarray, tuple[tuple[float]]], -): - +def init_from_expr_or_none( + data: typing.Union[np.ndarray, tuple[tuple[float]]], +) -> ExpressionBaseMixin | None: match data: case np.ndarray(): assert len(data.shape) <= 2 @@ -37,21 +36,33 @@ def init_from_sympy_expr( case _: data = tuple((e,) for e in data) - case np.number: - data = ((float(data),),) + case sympy.Expr(): + data = ((sympy.expand(data),),) case ExpressionBaseMixin(): return data - case sympy.Expr(): - data = ((sympy.expand(data),),) - case _: - if not isinstance(data, (float, int)): - raise Exception(f'{data=}, {type(data)=}') + if not isinstance(data, (float, int, np.number)): + # raise Exception(f'{data=}, {type(data)=}') + return None data = ((data,),) return FromSympyExprImpl( - data=data, + data=data, ) + + +def init_from_sympy_expr( + data: typing.Union[np.ndarray, tuple[tuple[float]]], +): + # if isinstance(data, ExpressionBaseMixin): + # return data + + expr = init_from_expr_or_none(data) + + if expr is None: + raise Exception(f'{data=}') + + return expr diff --git a/polymatrix/expression/init/initfromtermsexpr.py b/polymatrix/expression/init/initfromtermsexpr.py index c2080c6..b2c1dc3 100644 --- a/polymatrix/expression/init/initfromtermsexpr.py +++ b/polymatrix/expression/init/initfromtermsexpr.py @@ -1,6 +1,6 @@ import typing -from polymatrix.expression.impl.fromtermsexprimpl import FromTermsExprImpl from polymatrix.polymatrix.mixins.polymatrixmixin import PolyMatrixMixin +import polymatrix.expression.impl.impl def init_from_terms_expr( @@ -27,7 +27,7 @@ def init_from_terms_expr( # Expression needs to be hashable terms_formatted = tuple((key, tuple(monomials.items())) for key, monomials in gen_terms) - return FromTermsExprImpl( + return polymatrix.expression.impl.impl.FromTermsExprImpl( terms=terms_formatted, shape=shape, ) diff --git a/polymatrix/expression/init/initgetitemexpr.py b/polymatrix/expression/init/initgetitemexpr.py index 5fea7a5..f7fc0c9 100644 --- a/polymatrix/expression/init/initgetitemexpr.py +++ b/polymatrix/expression/init/initgetitemexpr.py @@ -1,6 +1,6 @@ from numpy import isin from polymatrix.expression.mixins.expressionbasemixin import ExpressionBaseMixin -from polymatrix.expression.impl.getitemexprimpl import GetItemExprImpl +import polymatrix.expression.impl.impl def init_get_item_expr( @@ -10,13 +10,13 @@ def init_get_item_expr( def get_hashable_slice(index): if isinstance(index, slice): - return GetItemExprImpl.Slice(start=index.start, stop=index.stop, step=index.step) + return polymatrix.expression.impl.impl.GetItemExprImpl.Slice(start=index.start, stop=index.stop, step=index.step) else: return index proper_index = (get_hashable_slice(index[0]), get_hashable_slice(index[1])) - return GetItemExprImpl( + return polymatrix.expression.impl.impl.GetItemExprImpl( underlying=underlying, index=proper_index, ) diff --git a/polymatrix/expression/init/inithalfnewtonpolytopeexpr.py b/polymatrix/expression/init/inithalfnewtonpolytopeexpr.py index e4ab6a2..794c938 100644 --- a/polymatrix/expression/init/inithalfnewtonpolytopeexpr.py +++ b/polymatrix/expression/init/inithalfnewtonpolytopeexpr.py @@ -1,5 +1,5 @@ from polymatrix.expression.mixins.expressionbasemixin import ExpressionBaseMixin -from polymatrix.expression.impl.halfnewtonpolytopeexprimpl import HalfNewtonPolytopeExprImpl +import polymatrix.expression.impl.impl def init_half_newton_polytope_expr( @@ -7,7 +7,7 @@ def init_half_newton_polytope_expr( variables: ExpressionBaseMixin, filter: ExpressionBaseMixin | None = None, ): - return HalfNewtonPolytopeExprImpl( + return polymatrix.expression.impl.impl.HalfNewtonPolytopeExprImpl( monomials=monomials, variables=variables, filter=filter diff --git a/polymatrix/expression/init/initlinearinexpr.py b/polymatrix/expression/init/initlinearinexpr.py index b869aee..30705e2 100644 --- a/polymatrix/expression/init/initlinearinexpr.py +++ b/polymatrix/expression/init/initlinearinexpr.py @@ -1,5 +1,5 @@ from polymatrix.expression.mixins.expressionbasemixin import ExpressionBaseMixin -from polymatrix.expression.impl.linearinexprimpl import LinearInExprImpl +import polymatrix.expression.impl.impl def init_linear_in_expr( @@ -10,7 +10,7 @@ def init_linear_in_expr( ): assert isinstance(variables, ExpressionBaseMixin), f'{variables=}' - return LinearInExprImpl( + return polymatrix.expression.impl.impl.LinearInExprImpl( underlying=underlying, monomials=monomials, variables=variables, diff --git a/polymatrix/expression/init/initlinearmatrixinexpr.py b/polymatrix/expression/init/initlinearmatrixinexpr.py index cd4ce97..83e9aea 100644 --- a/polymatrix/expression/init/initlinearmatrixinexpr.py +++ b/polymatrix/expression/init/initlinearmatrixinexpr.py @@ -1,12 +1,12 @@ from polymatrix.expression.mixins.expressionbasemixin import ExpressionBaseMixin -from polymatrix.expression.impl.linearmatrixinexprimpl import LinearMatrixInExprImpl +import polymatrix.expression.impl.impl def init_linear_matrix_in_expr( underlying: ExpressionBaseMixin, variable: int, ): - return LinearMatrixInExprImpl( + return polymatrix.expression.impl.impl.LinearMatrixInExprImpl( underlying=underlying, variable=variable, ) diff --git a/polymatrix/expression/init/initlinearmonomialsexpr.py b/polymatrix/expression/init/initlinearmonomialsexpr.py index 8083715..f830542 100644 --- a/polymatrix/expression/init/initlinearmonomialsexpr.py +++ b/polymatrix/expression/init/initlinearmonomialsexpr.py @@ -1,5 +1,5 @@ from polymatrix.expression.mixins.expressionbasemixin import ExpressionBaseMixin -from polymatrix.expression.impl.linearmonomialsexprimpl import LinearMonomialsExprImpl +import polymatrix.expression.impl.impl def init_linear_monomials_expr( @@ -9,7 +9,7 @@ def init_linear_monomials_expr( assert isinstance(variables, ExpressionBaseMixin), f'{variables=}' - return LinearMonomialsExprImpl( + return polymatrix.expression.impl.impl.LinearMonomialsExprImpl( underlying=underlying, variables=variables, ) diff --git a/polymatrix/expression/init/initmatrixmultexpr.py b/polymatrix/expression/init/initmatrixmultexpr.py index 9081368..20bffec 100644 --- a/polymatrix/expression/init/initmatrixmultexpr.py +++ b/polymatrix/expression/init/initmatrixmultexpr.py @@ -1,12 +1,12 @@ from polymatrix.expression.mixins.expressionbasemixin import ExpressionBaseMixin -from polymatrix.expression.impl.matrixmultexprimpl import MatrixMultExprImpl +import polymatrix.expression.impl.impl def init_matrix_mult_expr( left: ExpressionBaseMixin, right: ExpressionBaseMixin, ): - return MatrixMultExprImpl( + return polymatrix.expression.impl.impl.MatrixMultExprImpl( left=left, right=right, ) diff --git a/polymatrix/expression/init/initmaxdegreeexpr.py b/polymatrix/expression/init/initmaxdegreeexpr.py index 60fc40a..d232163 100644 --- a/polymatrix/expression/init/initmaxdegreeexpr.py +++ b/polymatrix/expression/init/initmaxdegreeexpr.py @@ -1,10 +1,10 @@ from polymatrix.expression.mixins.expressionbasemixin import ExpressionBaseMixin -from polymatrix.expression.impl.maxdegreeexprimpl import MaxDegreeExprImpl +import polymatrix.expression.impl.impl def init_max_degree_expr( underlying: ExpressionBaseMixin, ): - return MaxDegreeExprImpl( + return polymatrix.expression.impl.impl.MaxDegreeExprImpl( underlying=underlying, ) diff --git a/polymatrix/expression/init/initmaxexpr.py b/polymatrix/expression/init/initmaxexpr.py index b0b1e4d..41dde90 100644 --- a/polymatrix/expression/init/initmaxexpr.py +++ b/polymatrix/expression/init/initmaxexpr.py @@ -1,10 +1,10 @@ from polymatrix.expression.mixins.expressionbasemixin import ExpressionBaseMixin -from polymatrix.expression.impl.maxexprimpl import MaxExprImpl +import polymatrix.expression.impl.impl def init_max_expr( underlying: ExpressionBaseMixin, ): - return MaxExprImpl( + return polymatrix.expression.impl.impl.MaxExprImpl( underlying=underlying, ) diff --git a/polymatrix/expression/init/initparametrizeexpr.py b/polymatrix/expression/init/initparametrizeexpr.py index c5b77a3..178d963 100644 --- a/polymatrix/expression/init/initparametrizeexpr.py +++ b/polymatrix/expression/init/initparametrizeexpr.py @@ -1,5 +1,5 @@ from polymatrix.expression.mixins.expressionbasemixin import ExpressionBaseMixin -from polymatrix.expression.impl.parametrizeexprimpl import ParametrizeExprImpl +import polymatrix.expression.impl.impl def init_parametrize_expr( @@ -9,7 +9,7 @@ def init_parametrize_expr( if name is None: name = 'undefined' - return ParametrizeExprImpl( + return polymatrix.expression.impl.impl.ParametrizeExprImpl( underlying=underlying, name=name, ) diff --git a/polymatrix/expression/init/initparametrizematrixexpr.py b/polymatrix/expression/init/initparametrizematrixexpr.py new file mode 100644 index 0000000..bf90510 --- /dev/null +++ b/polymatrix/expression/init/initparametrizematrixexpr.py @@ -0,0 +1,12 @@ +from polymatrix.expression.mixins.expressionbasemixin import ExpressionBaseMixin +import polymatrix.expression.impl.impl + + +def init_parametrize_matrix_expr( + underlying: ExpressionBaseMixin, + name: str, +): + return polymatrix.expression.impl.impl.ParametrizeMatrixExprImpl( + underlying=underlying, + name=name, +) diff --git a/polymatrix/expression/init/initquadraticinexpr.py b/polymatrix/expression/init/initquadraticinexpr.py index 6555b4b..9569cd3 100644 --- a/polymatrix/expression/init/initquadraticinexpr.py +++ b/polymatrix/expression/init/initquadraticinexpr.py @@ -1,5 +1,5 @@ from polymatrix.expression.mixins.expressionbasemixin import ExpressionBaseMixin -from polymatrix.expression.impl.quadraticinexprimpl import QuadraticInExprImpl +import polymatrix.expression.impl.impl def init_quadratic_in_expr( @@ -10,7 +10,7 @@ def init_quadratic_in_expr( assert isinstance(variables, ExpressionBaseMixin), f'{variables=}' - return QuadraticInExprImpl( + return polymatrix.expression.impl.impl.QuadraticInExprImpl( underlying=underlying, monomials=monomials, variables=variables, diff --git a/polymatrix/expression/init/initquadraticmonomialsexpr.py b/polymatrix/expression/init/initquadraticmonomialsexpr.py index 190f7df..c965312 100644 --- a/polymatrix/expression/init/initquadraticmonomialsexpr.py +++ b/polymatrix/expression/init/initquadraticmonomialsexpr.py @@ -1,5 +1,5 @@ from polymatrix.expression.mixins.expressionbasemixin import ExpressionBaseMixin -from polymatrix.expression.impl.quadraticmonomialsexprimpl import QuadraticMonomialsExprImpl +import polymatrix.expression.impl.impl def init_quadratic_monomials_expr( @@ -9,7 +9,7 @@ def init_quadratic_monomials_expr( assert isinstance(variables, ExpressionBaseMixin), f'{variables=}' - return QuadraticMonomialsExprImpl( + return polymatrix.expression.impl.impl.QuadraticMonomialsExprImpl( underlying=underlying, variables=variables, ) diff --git a/polymatrix/expression/init/initrepmatexpr.py b/polymatrix/expression/init/initrepmatexpr.py index 2f7fb7c..152fff8 100644 --- a/polymatrix/expression/init/initrepmatexpr.py +++ b/polymatrix/expression/init/initrepmatexpr.py @@ -1,12 +1,12 @@ from polymatrix.expression.mixins.expressionbasemixin import ExpressionBaseMixin -from polymatrix.expression.impl.repmatexprimpl import RepMatExprImpl +import polymatrix.expression.impl.impl def init_rep_mat_expr( underlying: ExpressionBaseMixin, repetition: tuple, ): - return RepMatExprImpl( + return polymatrix.expression.impl.impl.RepMatExprImpl( underlying=underlying, repetition=repetition, ) diff --git a/polymatrix/expression/init/initreshapeexpr.py b/polymatrix/expression/init/initreshapeexpr.py index f95fb00..4e6ab57 100644 --- a/polymatrix/expression/init/initreshapeexpr.py +++ b/polymatrix/expression/init/initreshapeexpr.py @@ -1,5 +1,5 @@ +from polymatrix.expression.impl.reshapeexprmixin import ReshapeExprImpl from polymatrix.expression.mixins.expressionbasemixin import ExpressionBaseMixin -from polymatrix.expression.impl.reshapeexprimpl import ReshapeExprImpl def init_reshape_expr( diff --git a/polymatrix/expression/init/initsetelementatexpr.py b/polymatrix/expression/init/initsetelementatexpr.py index 86df5aa..250c35b 100644 --- a/polymatrix/expression/init/initsetelementatexpr.py +++ b/polymatrix/expression/init/initsetelementatexpr.py @@ -1,5 +1,5 @@ from polymatrix.expression.mixins.expressionbasemixin import ExpressionBaseMixin -from polymatrix.expression.impl.setelementatexprimpl import SetElementAtExprImpl +import polymatrix.expression.impl.impl def init_set_element_at_expr( @@ -7,7 +7,7 @@ def init_set_element_at_expr( index: tuple, value: ExpressionBaseMixin, ): - return SetElementAtExprImpl( + return polymatrix.expression.impl.impl.SetElementAtExprImpl( underlying=underlying, index=index, value=value, diff --git a/polymatrix/expression/init/initsqueezeexpr.py b/polymatrix/expression/init/initsqueezeexpr.py index d71a9b5..d539453 100644 --- a/polymatrix/expression/init/initsqueezeexpr.py +++ b/polymatrix/expression/init/initsqueezeexpr.py @@ -1,10 +1,10 @@ from polymatrix.expression.mixins.expressionbasemixin import ExpressionBaseMixin -from polymatrix.expression.impl.squeezeexprimpl import SqueezeExprImpl +import polymatrix.expression.impl.impl def init_squeeze_expr( underlying: ExpressionBaseMixin, ): - return SqueezeExprImpl( + return polymatrix.expression.impl.impl.SqueezeExprImpl( underlying=underlying, ) diff --git a/polymatrix/expression/init/initsubstituteexpr.py b/polymatrix/expression/init/initsubstituteexpr.py index 50cbee0..15a6566 100644 --- a/polymatrix/expression/init/initsubstituteexpr.py +++ b/polymatrix/expression/init/initsubstituteexpr.py @@ -3,12 +3,12 @@ import numpy as np from polymatrix.expression.init.initfromsympyexpr import init_from_sympy_expr from polymatrix.expression.mixins.expressionbasemixin import ExpressionBaseMixin -from polymatrix.expression.impl.substituteexprimpl import SubstituteExprImpl +import polymatrix.expression.impl.impl def format_substitutions( variables: typing.Union[typing.Any, tuple, dict], - values: typing.Union[float, tuple] = None, + values: float | tuple = None, ): """ (variables = x, values = 1.0) # ok @@ -63,12 +63,13 @@ def init_substitute_expr( def formatted_values(value) -> ExpressionBaseMixin: if isinstance(value, ExpressionBaseMixin): return value + else: return init_from_sympy_expr(value) substitutions = tuple((variable, formatted_values(value)) for variable, value in substitutions) - return SubstituteExprImpl( + return polymatrix.expression.impl.impl.SubstituteExprImpl( underlying=underlying, substitutions=substitutions, ) diff --git a/polymatrix/expression/init/initsubtractmonomialsexpr.py b/polymatrix/expression/init/initsubtractmonomialsexpr.py index 131401b..de720bd 100644 --- a/polymatrix/expression/init/initsubtractmonomialsexpr.py +++ b/polymatrix/expression/init/initsubtractmonomialsexpr.py @@ -1,12 +1,12 @@ from polymatrix.expression.mixins.expressionbasemixin import ExpressionBaseMixin -from polymatrix.expression.impl.subtractmonomialsexprimpl import SubtractMonomialsExprImpl +import polymatrix.expression.impl.impl def init_subtract_monomials_expr( underlying: ExpressionBaseMixin, monomials: ExpressionBaseMixin, ): - return SubtractMonomialsExprImpl( + return polymatrix.expression.impl.impl.SubtractMonomialsExprImpl( underlying=underlying, monomials=monomials, ) diff --git a/polymatrix/expression/init/initsumexpr.py b/polymatrix/expression/init/initsumexpr.py index 606d86b..288ae72 100644 --- a/polymatrix/expression/init/initsumexpr.py +++ b/polymatrix/expression/init/initsumexpr.py @@ -1,10 +1,10 @@ from polymatrix.expression.mixins.expressionbasemixin import ExpressionBaseMixin -from polymatrix.expression.impl.sumexprimpl import SumExprImpl +import polymatrix.expression.impl.impl def init_sum_expr( underlying: ExpressionBaseMixin, ): - return SumExprImpl( + return polymatrix.expression.impl.impl.SumExprImpl( underlying=underlying, ) diff --git a/polymatrix/expression/init/initsymmetricexpr.py b/polymatrix/expression/init/initsymmetricexpr.py index 87be3ed..dc321e5 100644 --- a/polymatrix/expression/init/initsymmetricexpr.py +++ b/polymatrix/expression/init/initsymmetricexpr.py @@ -1,10 +1,10 @@ from polymatrix.expression.mixins.expressionbasemixin import ExpressionBaseMixin -from polymatrix.expression.impl.symmetricexprimpl import SymmetricExprImpl +import polymatrix.expression.impl.impl def init_symmetric_expr( underlying: ExpressionBaseMixin, ): - return SymmetricExprImpl( + return polymatrix.expression.impl.impl.SymmetricExprImpl( underlying=underlying, ) diff --git a/polymatrix/expression/init/inittoconstantexpr.py b/polymatrix/expression/init/inittoconstantexpr.py index ead35f8..a0084a1 100644 --- a/polymatrix/expression/init/inittoconstantexpr.py +++ b/polymatrix/expression/init/inittoconstantexpr.py @@ -1,10 +1,10 @@ from polymatrix.expression.mixins.expressionbasemixin import ExpressionBaseMixin -from polymatrix.expression.impl.toconstantexprimpl import ToConstantExprImpl +import polymatrix.expression.impl.impl def init_to_constant_expr( underlying: ExpressionBaseMixin, ): - return ToConstantExprImpl( + return polymatrix.expression.impl.impl.ToConstantExprImpl( underlying=underlying, ) diff --git a/polymatrix/expression/init/inittoquadraticexpr.py b/polymatrix/expression/init/inittoquadraticexpr.py index dfc0567..77e6943 100644 --- a/polymatrix/expression/init/inittoquadraticexpr.py +++ b/polymatrix/expression/init/inittoquadraticexpr.py @@ -1,10 +1,10 @@ from polymatrix.expression.mixins.expressionbasemixin import ExpressionBaseMixin -from polymatrix.expression.impl.toquadraticexprimpl import ToQuadraticExprImpl +import polymatrix.expression.impl.impl def init_to_quadratic_expr( underlying: ExpressionBaseMixin, ): - return ToQuadraticExprImpl( + return polymatrix.expression.impl.impl.ToQuadraticExprImpl( underlying=underlying, ) diff --git a/polymatrix/expression/init/inittosortedvariables.py b/polymatrix/expression/init/inittosortedvariables.py index 5d669c9..3f5222a 100644 --- a/polymatrix/expression/init/inittosortedvariables.py +++ b/polymatrix/expression/init/inittosortedvariables.py @@ -1,10 +1,10 @@ from polymatrix.expression.mixins.expressionbasemixin import ExpressionBaseMixin -from polymatrix.expression.impl.tosortedvariablesimpl import ToSortedVariablesImpl +import polymatrix.expression.impl.impl def init_to_sorted_variables( underlying: ExpressionBaseMixin, ): - return ToSortedVariablesImpl( + return polymatrix.expression.impl.impl.ToSortedVariablesImpl( underlying=underlying, ) diff --git a/polymatrix/expression/init/inittosymmetricmatrixexpr.py b/polymatrix/expression/init/inittosymmetricmatrixexpr.py index 89fc46c..68b27fe 100644 --- a/polymatrix/expression/init/inittosymmetricmatrixexpr.py +++ b/polymatrix/expression/init/inittosymmetricmatrixexpr.py @@ -1,10 +1,10 @@ from polymatrix.expression.mixins.expressionbasemixin import ExpressionBaseMixin -from polymatrix.expression.impl.tosymmetricmatrixexprimpl import ToSymmetricMatrixExprImpl +import polymatrix.expression.impl.impl def init_to_symmetric_matrix_expr( underlying: ExpressionBaseMixin, ): - return ToSymmetricMatrixExprImpl( + return polymatrix.expression.impl.impl.ToSymmetricMatrixExprImpl( underlying=underlying, ) diff --git a/polymatrix/expression/init/inittransposeexpr.py b/polymatrix/expression/init/inittransposeexpr.py index 9ca9d91..7807e4d 100644 --- a/polymatrix/expression/init/inittransposeexpr.py +++ b/polymatrix/expression/init/inittransposeexpr.py @@ -1,10 +1,10 @@ from polymatrix.expression.mixins.expressionbasemixin import ExpressionBaseMixin -from polymatrix.expression.impl.transposeexprimpl import TransposeExprImpl +import polymatrix.expression.impl.impl def init_transpose_expr( underlying: ExpressionBaseMixin, ): - return TransposeExprImpl( + return polymatrix.expression.impl.impl.TransposeExprImpl( underlying=underlying, ) diff --git a/polymatrix/expression/init/inittruncateexpr.py b/polymatrix/expression/init/inittruncateexpr.py index 4582bcb..d36db03 100644 --- a/polymatrix/expression/init/inittruncateexpr.py +++ b/polymatrix/expression/init/inittruncateexpr.py @@ -1,5 +1,5 @@ from polymatrix.expression.mixins.expressionbasemixin import ExpressionBaseMixin -from polymatrix.expression.impl.truncateexprimpl import TruncateExprImpl +import polymatrix.expression.impl.impl def init_truncate_expr( @@ -14,7 +14,7 @@ def init_truncate_expr( if inverse is None: inverse = False - return TruncateExprImpl( + return polymatrix.expression.impl.impl.TruncateExprImpl( underlying=underlying, variables=variables, degrees=degrees, diff --git a/polymatrix/expression/init/initvstackexpr.py b/polymatrix/expression/init/initvstackexpr.py index 1edc716..3d47979 100644 --- a/polymatrix/expression/init/initvstackexpr.py +++ b/polymatrix/expression/init/initvstackexpr.py @@ -1,6 +1,6 @@ -from polymatrix.expression.impl.vstackexprimpl import VStackExprImpl from polymatrix.expression.init.initfromsympyexpr import init_from_sympy_expr from polymatrix.expression.mixins.expressionbasemixin import ExpressionBaseMixin +import polymatrix.expression.impl.impl def init_v_stack_expr( @@ -15,6 +15,6 @@ def init_v_stack_expr( else: yield init_from_sympy_expr(e) - return VStackExprImpl( + return polymatrix.expression.impl.impl.VStackExprImpl( underlying=tuple(gen_underlying()), ) |