The if-else cases in lsqr.py were not exhaustive. They become exhaustive by changing ab > aa to ab >= aa.
--- a/examples/cohomology/lsqr.py Mon Aug 31 10:51:56 2009 -0700
+++ b/examples/cohomology/lsqr.py Mon Aug 31 13:45:28 2009 -0700
@@ -24,7 +24,7 @@
c=0.
s=b/ab
r=ab
- elif ab>aa:
+ elif ab>=aa:
sb=1
if b<0: sb=-1
tau=a/b