Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 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 | ||||
* | Rename mdpoly.types to mdpoly.index as it only contains index types | Nao Pross | 2024-03-06 | 7 | -11/+12 |
| | |||||
* | Replace Protocols with ABC in mdpoly.abc | Nao Pross | 2024-03-06 | 2 | -10/+15 |
| | |||||
* | Improve docstring | Nao Pross | 2024-03-05 | 1 | -1/+4 |
| | |||||
* | Implement more shape checks | Nao Pross | 2024-03-05 | 2 | -5/+44 |
| | |||||
* | Temporary fix to get rid of weird errors | Nao Pross | 2024-03-04 | 1 | -2/+5 |
| | |||||
* | Remove useless unimplemented methods in representations | Nao Pross | 2024-03-04 | 1 | -36/+1 |
| | | | | Clutters the file and will be rewritten anyways in the future | ||||
* | Remove children() and __iter__ from Leaf because it messes with typecheck | Nao Pross | 2024-03-04 | 1 | -12/+0 |
| | |||||
* | Get rid of algebra.ExprWithRepr | Nao Pross | 2024-03-04 | 1 | -9/+7 |
| | |||||
* | Add VizTracer to development dependencies to analyze perf | Nao Pross | 2024-03-04 | 2 | -1/+62 |
| | |||||
* | Fix __mro__ problem in inheritance | Nao Pross | 2024-03-04 | 1 | -5/+5 |
| | |||||
* | Fix types (or, make mypy happier) | Nao Pross | 2024-03-04 | 5 | -78/+85 |
| | |||||
* | Add shape check for MatScalarMul | Nao Pross | 2024-03-04 | 1 | -8/+41 |
| |