On 08/27/10 09:17 AM, John Cremona wrote:
On 27 August 2010 07:25, Dr. David Kirkby<david.kir...@onetel.net>  wrote:
On 08/24/10 02:06 PM, kcrisman wrote:

Anyway, I think (as you have correctly noted before) we have a bit of
a culture clash between software engineering and mathematics.

<SNIP>


Just have patience with those of us who aren't from a software
background - and trust that we are trying hard to internalize your
lessons, but that we have more immediate needs to fill as well for our
next course or paper.  I think that just as Minh's messages about
documentation are slowly taking hold in the whole ecosystem, so are
yours about software engineering.

- kcrisman


Just to make a point, my own background is not software engineering. My
first degree is in electrical and electronic engineering, my masters in
microwaves and optoelectronics and my PhD in medical physics. Apart from a
very brief spell (about 6 months), I have never worked in the IT industry.

I first became aware of the subject of software engineering when an
Australian guy joined the department I worked at University College London.
Russel's task was to develop some hardware and software for a research
project. He quite rightly realised that developing software "by the seat of
your pants" as he called it was not the way to go about it. So before
starting to write the software, he purchased a book on the subject of
software engineering.

I never gave this topic much more thought until I started working on Sage. I
then because to realise that Sage needs to take a more professional approach
to the development, as it seems a bit add-hock to me.

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'm currently running the doctests 100 times on a machine, with the same
build of Sage that passed all doc tests. This is an interesting failure I
observed:

sage -t  -long devel/sage/doc/en/constructions/linear_algebra.rst
**********************************************************************
File
"/export/home/drkirkby/sage-4.5.3.alpha2/devel/sage-main/doc/en/constructions/linear_algebra.rst",
line 202:
    sage: A.eigenvalues()
Expected:
    [3, 2, 1]
Got:
    [3, 1]
**********************************************************************


That is very worrying.  The matrix A here is

[1 1 0]
[0 2 0]
[0 0 3]

over the rationals, so if eigenvalues are being missed it is in
finding the roots of a rational cubic whose roots are 1,2,3.  I tried
tracing through the call to A.eigenvalues() but that is hard to do
since it spends ages doing things whose necessity is hard to
understand (for example, there are calls to cputime()!).

John

Thank you for looking at this John.

I think you have just proved one of the points I tried to make John.

* I spend some time testing multiple times and observe that failure, once in 47 runs of the doctests.

* 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.

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.

Dave

--
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