diff options
-rw-r--r-- | README.md | 20 |
1 files changed, 16 insertions, 4 deletions
@@ -25,6 +25,18 @@ Some aspects of the library: ## Example +In this example, two polynomial expressions are defined using sympy expressions + +$f_1(x_1, x_2) = x_1 + x_2$ + +$f_2(x_1, x_2) = x_1 + x_1 x_2$ + +Then, the two expression are combined using the `__add__` (or equivalently `+`) function + +$f_3(x_1, x_2) = f_1(x_1, x_2) + f_2(x_1, x_2) = 2 x_1 + x_2 + x_1 x_2$ + +Finally, different representations of the polynomial are printed. + ``` python import sympy import polymatrix @@ -37,19 +49,19 @@ x = polymatrix.from_((x1, x2)) f1 = polymatrix.from_(x1 + x2) f2 = polymatrix.from_(x1 + x1*x2) -expr = f1 + f2 +f3 = f1 + f2 # prints the data structure of the expression # ExpressionImpl(underlying=AdditionExprImpl(left=FromSympyExprImpl(data=((x1 + x2,),)), right=FromSympyExprImpl(data=((x1*x2 + x1,),)))) -print(expr) +print(f3) -state, poly_matrix = expr.apply(state) +state, poly_matrix = f3.apply(state) # prints the data structure of the polynomial matrix # PolyMatrixImpl(terms={(0, 0): {((0, 1), (1, 1)): 1, ((0, 1),): 2, ((1, 1),): 1}}, shape=(1, 1)) print(poly_matrix) -state, matrix_repr = polymatrix.to_matrix_repr((expr,), x).apply(state) +state, matrix_repr = polymatrix.to_matrix_repr((f3,), x).apply(state) # prints the numpy matrix representations of the polynomial matrix # array([[2., 1.]]) |