Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Allow extensions, see for example mdpoly.test.TestExtension | Nao Pross | 2024-03-18 | 4 | -11/+68 |
| | | | | TODO: can multiple extensions coexist? | ||||
* | Fix mdpoly.test | Nao Pross | 2024-03-18 | 2 | -7/+9 |
| | |||||
* | Fix MatParam.to_repr | Nao Pross | 2024-03-18 | 1 | -7/+2 |
| | |||||
* | Remove use of replace from example | Nao Pross | 2024-03-18 | 1 | -6/+1 |
| | |||||
* | Fix regressions from refractor | Nao Pross | 2024-03-18 | 4 | -18/+69 |
| | | | | See 8676dc34530be9669cd3dfc5bd5a54cb8f9ac482 | ||||
* | Re-implement __add__, __sub__, __mul__ | Nao Pross | 2024-03-18 | 3 | -27/+84 |
| | |||||
* | Move operations (operator overloading etc) outside of expression class | Nao Pross | 2024-03-18 | 12 | -554/+356 |
| | | | | | | The new class WithOps (TODO: better name) wraps around an expression tree and provides operator overloading and convenient methods. This requires a big structural change hence most things are now broken. | ||||
* | Rename PolyRingExpr to just PolyExpr | Nao Pross | 2024-03-18 | 6 | -21/+21 |
| | |||||
* | Fix Leaf.left | Nao Pross | 2024-03-18 | 1 | -0/+1 |
| | |||||
* | Fix imports | Nao Pross | 2024-03-18 | 5 | -9/+8 |
| | |||||
* | Split mdpoly.algebra into multiple files | Nao Pross | 2024-03-17 | 17 | -731/+854 |
| | |||||
* | Abandon support for rational functions | Nao Pross | 2024-03-15 | 2 | -12/+6 |
| | |||||
* | Add util.showtree to print internals of expressions | Nao Pross | 2024-03-15 | 1 | -0/+13 |
| | |||||
* | Make expression objects dataclasses | Nao Pross | 2024-03-15 | 1 | -44/+29 |
| | |||||
* | Fix reference docs | Nao Pross | 2024-03-14 | 1 | -11/+3 |
| | |||||
* | Add big docstring in module to discuss terminology | Nao Pross | 2024-03-14 | 2 | -2/+105 |
| | |||||
* | Change every __repr__ to __str__ to be consistent with python data model | Nao Pross | 2024-03-14 | 2 | -21/+21 |
| | | | | https://docs.python.org/3/reference/datamodel.html#object.__repr__ | ||||
* | Add stubs for testing | Nao Pross | 2024-03-10 | 5 | -0/+125 |
| | | | | | | To run tests do: $ python3 -m mdpoly.test | ||||
* | Fix PolyIndex.__contains__ | Nao Pross | 2024-03-10 | 1 | -2/+7 |
| | |||||
* | Fix bug in PolyPartialDiff and add PolyRingExpr.diff(wrt) | Nao Pross | 2024-03-10 | 2 | -7/+19 |
| | | | | | Forgot to premultiply with old exponent, d_x (x^2) = 2 * x, bug was that d_x (x^2) gives x, which is wrong | ||||
* | Fix PolyRingExpr.__neg__ | Nao Pross | 2024-03-10 | 1 | -1/+2 |
| | |||||
* | Add PolyIndex.as_multi_index for Newton polytope and minor cleanup | Nao Pross | 2024-03-10 | 1 | -27/+61 |
| | |||||
* | Fix PolyPartialDiff.replace | Nao Pross | 2024-03-10 | 1 | -2/+14 |
| | |||||
* | Add dependencies CVXOPT for SOS and PrettyPrintTree for visualization | Nao Pross | 2024-03-09 | 2 | -1/+93 |
| | |||||
* | Miscellaneous fixes, mostly docstrings | Nao Pross | 2024-03-09 | 2 | -36/+30 |
| | |||||
* | Improve type signature of Expr.to_repr | Nao Pross | 2024-03-09 | 2 | -22/+32 |
| | |||||
* | Pass shape parameter to Repr constructor | Nao Pross | 2024-03-08 | 3 | -16/+20 |
| | |||||
* | Fix typos in docstring | Nao Pross | 2024-03-08 | 1 | -4/+4 |
| | |||||
* | Implement MatScalarMul.to_repr | Nao Pross | 2024-03-08 | 1 | -3/+7 |
| | |||||
* | Add tree rotations to Expr | Nao Pross | 2024-03-08 | 1 | -0/+21 |
| | |||||
* | Fix missing edge case in Expr.children | Nao Pross | 2024-03-08 | 1 | -0/+2 |
| | |||||
* | Replace hash() with hashlib.sha256() for robustness to collision | Nao Pross | 2024-03-08 | 1 | -8/+17 |
| | |||||
* | Fix bug that breaks PolyRingExpr.shape & cleanup | Nao Pross | 2024-03-08 | 1 | -12/+12 |
| | | | | | Leaf classes need to overwrite the shape abstractmethod with property but not algebra | ||||
* | Make Expr a Merkle binary tree to allow subtree comparison | Nao Pross | 2024-03-08 | 1 | -11/+12 |
| | |||||
* | Create directory for examples | Nao Pross | 2024-03-08 | 1 | -0/+43 |
| | |||||
* | Update README | Nao Pross | 2024-03-07 | 1 | -1/+1 |
| | |||||
* | Fix regression in State.from_index | Nao Pross | 2024-03-07 | 1 | -4/+3 |
| | | | | Likely caused by f69cda1b84482a2c5dd4c6b8fcf16aebb7ac11ba | ||||
* | Finish incomplete implementation of MatVar.to_repr | Nao Pross | 2024-03-07 | 1 | -7/+8 |
| | |||||
* | Delete mdpoly.leaves make Var, Param, Const ABCs | Nao Pross | 2024-03-07 | 6 | -198/+297 |
| | | | | | | | | The change is motivated by the desire of having easy access to wrappers like Const that have the behaviour of expressions of a certain algebra. After this changes Var, Param and Const are ABC and cannot be instantiated, instead one should use (appropriately) PolyVar, MatVar, etc. | ||||
* | Minor changes | Nao Pross | 2024-03-07 | 2 | -5/+8 |
| | |||||
* | Make new constructors Variable.from_powers and Variable.make_combinations | Nao Pross | 2024-03-07 | 1 | -14/+59 |
| | |||||
* | Comments & minor changes | Nao Pross | 2024-03-07 | 1 | -6/+14 |
| | |||||
* | Relax dependencies | Nao Pross | 2024-03-07 | 1 | -6/+6 |
| | |||||
* | Fix regression of algebra check | Nao Pross | 2024-03-07 | 6 | -23/+131 |
| | | | | | Feature broke on commit cdfac0a6a8a9e4225a03aeb6e7115f6fc2f2fbad while switching from structural typing to OOP inheritance | ||||
* | Add missing docstrings | Nao Pross | 2024-03-06 | 1 | -10/+44 |
| | |||||
* | Fix out of date docstrings | Nao Pross | 2024-03-06 | 2 | -13/+13 |
| | |||||
* | Fix missing case for PolyIndex.differentiate | Nao Pross | 2024-03-06 | 1 | -0/+6 |
| | |||||
* | Move to_repr to Expr.to_repr necessary by removing duck typing HasRepr | Nao Pross | 2024-03-06 | 4 | -50/+83 |
| | |||||
* | Nuke duck typing and replace with OOP to make type checker happy | Nao Pross | 2024-03-06 | 4 | -293/+265 |
| | |||||
* | Move algebra into abc.Expr | Nao Pross | 2024-03-06 | 1 | -1/+12 |
| | | | | since shape is already there, might as well simplify |