(Sigh...  And I had promised myself not to get involved in this thread...)

On Fri, 27 Aug 2010 10:03:08 +0100, "Dr. David Kirkby" 
<david.kir...@onetel.net> wrote:
> On 08/27/10 09:17 AM, John Cremona wrote:
> > On 27 August 2010 07:25, Dr. David Kirkby<david.kir...@onetel.net>  wrote:
> >>
> >> My own view is I'd rather have something with less features, which I could
> >> rely on, than lots of features I don't trust. When there is little in the
> >> way of project management, and a culture of not doing anything properly,
> >> then attitude tends to spread like a virus.

I'll deal with this in decreasing order of importance:

1. "there is little in the way of project management" is an undeserved
jab at William, and "[there is] a culture of not doing anything
properly" is an undeserved jab at the *majority* of Sage developers.
Maybe the crusade for more quality control can proceed without this type
of comment. 


2. referring to "My own view is I'd rather have something with less
features, which I could rely on, than lots of features I don't trust":
there might be such something's out there.  Maybe Maxima does everything
you want without anything you don't.  Maybe a calculator does.  Maybe
Ondrej Certik's SPD project would be a good starting point if you would
prefer something similar to Sage but much leaner (and without all the
badly-written number theory code we keep hearing about).

> * You look at the code and find it's dubious. Calling cputime() when 
> computing 
> eignevectors does seem a bit odd. Even I know that. But this is getting past 
> the 
> review process.

Ah good, another chance to take a swing at the review process.  Based on
a bug we haven't yet reproduced, don't know where it is, and without
having even peeked at the code.

> If you want, I can create a trac ticket for this, or perhaps its better if 
> you 
> do it, since you know more about the code. The test procedure was
> 
>   * Sun Ultra 27
>   * 3.33 GHz quad core Xeon (hyperhtreaded)
>   * OpenSolaris 06/2009.
>   * 12 GB RAM
>   * Totally unmodified sage-4.5.3.alpha2
>   * Running 'make ptestlong' in a loop which executes that 100 times.
>   * The failure was obsevved once in 47 runs to date.
> 
> There are other suspicious failures I've observed, but that one stuck me as 
> particularly worrying as the result seemed to look believable. When you get a 
> traceback, it's obvious something has gone wrong. But in this case it's less 
> obvious.

I don't know about you, but if I get...

     Expected:                                                                  
               
          [3, 2, 1]                                                             
               
     Got:                                                                       
               
          [3, 1]                                                                
               

... I look at what the test is trying to do:

    sage: A = matrix(QQ, [[1,1,0],[0,2,0],[0,0,3]])
    sage: A
    [1 1 0]
    [0 2 0]
    [0 0 3]
    sage: A.eigenvalues()

So A is a diagonal matrix with diagonal entries 1, 2, 3.  What do you
think the eigenvalues are?  To me [3, 1] looks pretty obviously wrong.

Next step is looking at the code.  Here's what I get from spending less
than two minutes on it: the eigenvalues are obtained by computing the
characteristic polynomial of A, and then factoring this polynomial.  The
factorisation of the polynomial is outsourced to Pari.  The actual
computation of the characteristic polynomial should, in this case, be
outsourced to Linbox.  

So the heisenbug is very likely to be either in Pari or in Linbox or in
how we communicate with them.  Maybe it's for some reason only seen on
OpenSolaris.  (No, I have no real reason to believe this other than
doctesting that file 100 times on 32- and 64-bit Linux machines and not
seeing any failure.)  Maybe it's cosmic radiation (no, I'm not serious).
Maybe it's the doctesting code getting bored of running the same test
over and over again and deciding to get creative with it (also not
serious about this one).





Best,
Alex



-- 
Alex Ghitza -- http://aghitza.org/
Lecturer in Mathematics -- The University of Melbourne -- Australia

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to