(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