aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Move operations (operator overloading etc) outside of expression classNao Pross2024-03-1812-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 PolyExprNao Pross2024-03-186-21/+21
|
* Fix Leaf.leftNao Pross2024-03-181-0/+1
|
* Fix importsNao Pross2024-03-185-9/+8
|
* Split mdpoly.algebra into multiple filesNao Pross2024-03-1717-731/+854
|
* Abandon support for rational functionsNao Pross2024-03-152-12/+6
|
* Add util.showtree to print internals of expressionsNao Pross2024-03-151-0/+13
|
* Make expression objects dataclassesNao Pross2024-03-151-44/+29
|
* Fix reference docsNao Pross2024-03-141-11/+3
|
* Add big docstring in module to discuss terminologyNao Pross2024-03-142-2/+105
|
* Change every __repr__ to __str__ to be consistent with python data modelNao Pross2024-03-142-21/+21
| | | | https://docs.python.org/3/reference/datamodel.html#object.__repr__
* Add stubs for testingNao Pross2024-03-105-0/+125
| | | | | | To run tests do: $ python3 -m mdpoly.test
* Fix PolyIndex.__contains__Nao Pross2024-03-101-2/+7
|
* Fix bug in PolyPartialDiff and add PolyRingExpr.diff(wrt)Nao Pross2024-03-102-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 Pross2024-03-101-1/+2
|
* Add PolyIndex.as_multi_index for Newton polytope and minor cleanupNao Pross2024-03-101-27/+61
|
* Fix PolyPartialDiff.replaceNao Pross2024-03-101-2/+14
|
* Add dependencies CVXOPT for SOS and PrettyPrintTree for visualizationNao Pross2024-03-092-1/+93
|
* Miscellaneous fixes, mostly docstringsNao Pross2024-03-092-36/+30
|
* Improve type signature of Expr.to_reprNao Pross2024-03-092-22/+32
|
* Pass shape parameter to Repr constructorNao Pross2024-03-083-16/+20
|
* Fix typos in docstringNao Pross2024-03-081-4/+4
|
* Implement MatScalarMul.to_reprNao Pross2024-03-081-3/+7
|
* Add tree rotations to ExprNao Pross2024-03-081-0/+21
|
* Fix missing edge case in Expr.childrenNao Pross2024-03-081-0/+2
|
* Replace hash() with hashlib.sha256() for robustness to collisionNao Pross2024-03-081-8/+17
|
* Fix bug that breaks PolyRingExpr.shape & cleanupNao Pross2024-03-081-12/+12
| | | | | Leaf classes need to overwrite the shape abstractmethod with property but not algebra
* Make Expr a Merkle binary tree to allow subtree comparisonNao Pross2024-03-081-11/+12
|
* Create directory for examplesNao Pross2024-03-081-0/+43
|
* Update READMENao Pross2024-03-071-1/+1
|
* Fix regression in State.from_indexNao Pross2024-03-071-4/+3
| | | | Likely caused by f69cda1b84482a2c5dd4c6b8fcf16aebb7ac11ba
* Finish incomplete implementation of MatVar.to_reprNao Pross2024-03-071-7/+8
|
* Delete mdpoly.leaves make Var, Param, Const ABCsNao Pross2024-03-076-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 changesNao Pross2024-03-072-5/+8
|
* Make new constructors Variable.from_powers and Variable.make_combinationsNao Pross2024-03-071-14/+59
|
* Comments & minor changesNao Pross2024-03-071-6/+14
|
* Relax dependenciesNao Pross2024-03-071-6/+6
|
* Fix regression of algebra checkNao Pross2024-03-076-23/+131
| | | | | Feature broke on commit cdfac0a6a8a9e4225a03aeb6e7115f6fc2f2fbad while switching from structural typing to OOP inheritance
* Add missing docstringsNao Pross2024-03-061-10/+44
|
* Fix out of date docstringsNao Pross2024-03-062-13/+13
|
* Fix missing case for PolyIndex.differentiateNao Pross2024-03-061-0/+6
|
* Move to_repr to Expr.to_repr necessary by removing duck typing HasReprNao Pross2024-03-064-50/+83
|
* Nuke duck typing and replace with OOP to make type checker happyNao Pross2024-03-064-293/+265
|
* Move algebra into abc.ExprNao Pross2024-03-061-1/+12
| | | | since shape is already there, might as well simplify
* Rename mdpoly.types to mdpoly.index as it only contains index typesNao Pross2024-03-067-11/+12
|
* Replace Protocols with ABC in mdpoly.abcNao Pross2024-03-062-10/+15
|
* Improve docstringNao Pross2024-03-051-1/+4
|
* Implement more shape checksNao Pross2024-03-052-5/+44
|
* Temporary fix to get rid of weird errorsNao Pross2024-03-041-2/+5
|
* Remove useless unimplemented methods in representationsNao Pross2024-03-041-36/+1
| | | | Clutters the file and will be rewritten anyways in the future