X-Git-Url: https://scm.cri.mines-paristech.fr/git/linpy.git/blobdiff_plain/75b826058dcbdb53fea2ed5258b59e806b465449..2b13a146860ac116ce0388d8f7551044c09c55f7:/linpy/linexprs.py diff --git a/linpy/linexprs.py b/linpy/linexprs.py index a0be583..ee6e39e 100644 --- a/linpy/linexprs.py +++ b/linpy/linexprs.py @@ -62,7 +62,7 @@ class LinExpr: symbols to their coefficients, and a constant term. The coefficients and the constant term must be rational numbers. - For example, the linear expression x + 2y + 1 can be constructed using + For example, the linear expression x + 2*y + 1 can be constructed using one of the following instructions: >>> x, y = symbols('x y') @@ -76,7 +76,7 @@ class LinExpr: Alternatively, linear expressions can be constructed from a string: - >>> LinExpr('x + 2*y + 1') + >>> LinExpr('x + 2y + 1') A linear expression with a single symbol of coefficient 1 and no constant term is automatically subclassed as a Symbol instance. A linear @@ -245,7 +245,11 @@ class LinExpr: @_polymorphic def __eq__(self, other): """ - Test whether two linear expressions are equal. + Test whether two linear expressions are equal. Unlike methods + LinExpr.__lt__(), LinExpr.__le__(), LinExpr.__ge__(), LinExpr.__gt__(), + the result is a boolean value, not a polyhedron. To express that two + linear expressions are equal or not equal, use functions Eq() and Ne() + instead. """ return self._coefficients == other._coefficients and \ self._constant == other._constant @@ -373,30 +377,6 @@ class LinExpr: string += ' - {}'.format(-constant) return string - def _repr_latex_(self): - string = '' - for i, (symbol, coefficient) in enumerate(self.coefficients()): - if coefficient == 1: - if i != 0: - string += ' + ' - elif coefficient == -1: - string += '-' if i == 0 else ' - ' - elif i == 0: - string += '{}'.format(coefficient._repr_latex_().strip('$')) - elif coefficient > 0: - string += ' + {}'.format(coefficient._repr_latex_().strip('$')) - elif coefficient < 0: - string += ' - {}'.format((-coefficient)._repr_latex_().strip('$')) - string += '{}'.format(symbol._repr_latex_().strip('$')) - constant = self.constant - if len(string) == 0: - string += '{}'.format(constant._repr_latex_().strip('$')) - elif constant > 0: - string += ' + {}'.format(constant._repr_latex_().strip('$')) - elif constant < 0: - string += ' - {}'.format((-constant)._repr_latex_().strip('$')) - return '$${}$$'.format(string) - def _parenstr(self, always=False): string = str(self) if not always and (self.isconstant() or self.issymbol()): @@ -521,9 +501,6 @@ class Symbol(LinExpr): def __repr__(self): return self.name - def _repr_latex_(self): - return '$${}$$'.format(self.name) - def symbols(names): """ @@ -582,9 +559,6 @@ class Dummy(Symbol): def __repr__(self): return '_{}'.format(self.name) - def _repr_latex_(self): - return '$${}_{{{}}}$$'.format(self.name, self._index) - class Rational(LinExpr, Fraction): """ @@ -629,13 +603,3 @@ class Rational(LinExpr, Fraction): return '{!r}'.format(self.numerator) else: return '{!r}/{!r}'.format(self.numerator, self.denominator) - - def _repr_latex_(self): - if self.denominator == 1: - return '$${}$$'.format(self.numerator) - elif self.numerator < 0: - return '$$-\\frac{{{}}}{{{}}}$$'.format(-self.numerator, - self.denominator) - else: - return '$$\\frac{{{}}}{{{}}}$$'.format(self.numerator, - self.denominator)