From aa218c3f21d3a4fa9ed2ff3edfada13b5e131d69 Mon Sep 17 00:00:00 2001 From: Michael Schneeberger Date: Thu, 4 Aug 2022 15:33:45 +0200 Subject: add links to README.md --- README.md | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index 98ba196..6ce4eb8 100644 --- a/README.md +++ b/README.md @@ -2,17 +2,26 @@ `polymatrix` is a library to represent and operate on multivariate polynomials. -It is currently mainly used to define Sum Of Squares optimization problems. +It is used to define Sum Of Squares optimization problems. -Some aspects of the library +## Key aspects -* it has a lazy behavior: +Some aspects of the library: + +* it has a lazy behavior * the library implements operators to build polynomial expression - * the actual polynomial representation is created by calling the `apply(state)` method on the polynomial expression -* a `sympy` expression can be converted to a polynomial expression using the `polymatrix.from_sympy` function -* multiple polynomial expressions are combined using functions like `polymatrix.v_stack` or `polymatrix.block_diag`. -* polynomial expressions are manipulated using bounded functions like `diff`, `reshape`, `substitute`, `sum` or `to_constant` (see `polymatrix/expression/mixins/expressionmixin.py`) -* an expression can be converted to matrix representation using `polymatrix.to_matrix_repr`. Again, to get the actual representation the `apply(state)` method needs to be called. + * the actual polynomial is created by calling the [`apply(state)`](https://gitlab.nccr-automation.ch/michael.schneeberger/polymatrix/-/blob/main/polymatrix/expression/mixins/expressionbasemixin.py) method on the polynomial expression +* a `sympy` expression is converted to a polynomial expression using the [`polymatrix.from_sympy`](https://gitlab.nccr-automation.ch/michael.schneeberger/polymatrix/-/blob/main/polymatrix/__init__.py) function +* multiple polynomial expressions are combined using functions like + * [`polymatrix.v_stack`](https://gitlab.nccr-automation.ch/michael.schneeberger/polymatrix/-/blob/main/polymatrix/__init__.py) + * [`polymatrix.block_diag`](https://gitlab.nccr-automation.ch/michael.schneeberger/polymatrix/-/blob/main/polymatrix/__init__.py). +* polynomial expressions are manipulated using bounded functions like + * [`diff`](https://gitlab.nccr-automation.ch/michael.schneeberger/polymatrix/-/blob/main/polymatrix/expression/mixins/expressionmixin.py), + * [`reshape`](https://gitlab.nccr-automation.ch/michael.schneeberger/polymatrix/-/blob/main/polymatrix/expression/mixins/expressionmixin.py) + * [`substitute`](https://gitlab.nccr-automation.ch/michael.schneeberger/polymatrix/-/blob/main/polymatrix/expression/mixins/expressionmixin.py) + * [`sum`](https://gitlab.nccr-automation.ch/michael.schneeberger/polymatrix/-/blob/main/polymatrix/expression/mixins/expressionmixin.py) + * [`to_constant`](https://gitlab.nccr-automation.ch/michael.schneeberger/polymatrix/-/blob/main/polymatrix/expression/mixins/expressionmixin.py) +* an expression is converted to matrix representation using [`polymatrix.to_matrix_repr`](https://gitlab.nccr-automation.ch/michael.schneeberger/polymatrix/-/blob/main/polymatrix/__init__.py). Again, to get the actual representation the [`apply(state)`](https://gitlab.nccr-automation.ch/michael.schneeberger/polymatrix/-/blob/main/polymatrix/statemonad/mixins/statemonadmixin.py) method needs to be called. ## Example -- cgit v1.2.1