X-Git-Url: https://scm.cri.ensmp.fr/git/linpy.git/blobdiff_plain/d06ab92943ec2e10a2bd798ca7c1b5cea395bf34..5de84d8c67faaedde2ecd0eb8dda080b38f86023:/pypol/linexprs.py diff --git a/pypol/linexprs.py b/pypol/linexprs.py index 9a1ed64..73c6b0e 100644 --- a/pypol/linexprs.py +++ b/pypol/linexprs.py @@ -61,7 +61,7 @@ class Expression: self = object().__new__(cls) self._coefficients = OrderedDict() for symbol, coefficient in sorted(coefficients, - key=lambda item: item[0].name): + key=lambda item: item[0].sortkey()): if isinstance(coefficient, Rational): coefficient = coefficient.constant if not isinstance(coefficient, numbers.Rational): @@ -380,6 +380,9 @@ class Symbol(Expression): def dimension(self): return 1 + def sortkey(self): + return self.name, + def issymbol(self): return True