[PATCH] Fix Basic.__lt__() and friends for noncommutative symbols (issue 1878)

2010-03-28 Thread Øyvind Jensen
All comparisons of for non-commutative symbols used to return False. Now an Inequality or StrictInequality is returned instead. Added a test. --- sympy/core/basic.py| 12 +--- sympy/core/tests/test_basic.py |8 2 files changed, 13 insertions(+), 7 deletions(-)

Re: [PATCH] Fix Basic.__lt__() and friends for noncommutative symbols (issue 1878)

2010-03-28 Thread Toon Verstraelen
Řyvind Jensen wrote: All comparisons of for non-commutative symbols used to return False. Now an Inequality or StrictInequality is returned instead. Added a test. All tests pass for me. The coding is clean. I'm not very familiar with sympy core, but it is good as far as I can tell. cheers,

Re: Fix Basic.__lt__() and friends for noncommutative symbols (issue 1878)

2010-03-28 Thread jegerjensen
Ooops! it turns out I actually got a failing doctest in secondquant.py... Sorry about that. This was because of a comparison a>b that should have used cmp(), and the fix is obvious. Two patches are now uploaded on github in the branch fix__lt__ http://github.com/jegerjensen/sympy/tree/fix__lt__

Re: Fix Basic.__lt__() and friends for noncommutative symbols (issue 1878)

2010-03-28 Thread jegerjensen
This is the other patch: commit 7c4d48d8765a4f5aa621393b8d5e65be0ce32f4e Author: Øyvind Jensen Date: Sun Mar 28 16:06:35 2010 +0200 Commutator in secondquant.py should use cmp() instead of a>> from sympy.physics.secondquant import Commutator >>> A, B = symbols('A B', commutative=False

Re: Fix Basic.__lt__() and friends for noncommutative symbols (issue 1878)

2010-03-28 Thread Vinzent Steinberg
2010/3/28 jegerjensen > This is the other patch: > > commit 7c4d48d8765a4f5aa621393b8d5e65be0ce32f4e > Author: Øyvind Jensen > Date: Sun Mar 28 16:06:35 2010 +0200 > >Commutator in secondquant.py should use cmp() instead of a > diff --git a/sympy/physics/secondquant.py b/sympy/physics/ > s

Re: Fix Basic.__lt__() and friends for noncommutative symbols (issue 1878)

2010-03-28 Thread Aaron S. Meurer
Brian and I were talking about this on IRC a while back. Basic.__cmp__ is really easy to fix. There is a canonical ordering of classes defined in the ordering_of_classes list at the top of basic.py. All we need to do to turn this into a key function is to have it return the position in the li

Re: [PATCH] Fix Basic.__lt__() and friends for noncommutative symbols (issue 1878)

2010-03-28 Thread Vinzent Steinberg
2010/3/28 Øyvind Jensen > All comparisons of for non-commutative symbols used to return False. Now > an Inequality or StrictInequality is returned instead. > > Added a test. > --- > sympy/core/basic.py| 12 +--- > sympy/core/tests/test_basic.py |8 > 2 files c

Re: [PATCH] Fix Basic.__lt__() and friends for noncommutative symbols (issue 1878)

2010-03-28 Thread Aaron S. Meurer
On Mar 28, 2010, at 2:50 PM, Vinzent Steinberg wrote: > 2010/3/28 Øyvind Jensen > All comparisons of for non-commutative symbols used to return False. Now > an Inequality or StrictInequality is returned instead. > > Added a test. > --- > sympy/core/basic.py| 12 +--- > sy