Re: [sage-devel] "Can We Trust Computer Algebra Systems?"

2015-01-27 Thread Jakob Kroeker
I wrote 
 

> I'm aware of this("stopgame" framework); it is a good start. AFAIK it does 
> not support 'stopgame' at function level, only at package level.
>

This statement was of course completely wrong.

@William
why did you not blame me for that?

You can see 52 tickets involving it here: 
>
>http://trac.sagemath.org/search?q=stopgap 

 
>
If you know of *anything* that should be added, contributions are 
> greatly welcome. 
>


a first step:

http://trac.sagemath.org/search?q=stopgap+jakob


Jakob

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] "Can We Trust Computer Algebra Systems?"

2014-11-03 Thread Jakob Kroeker

>
> Factoring is the hard one, there have been lots of factoring bugs in 
> Sage coming from Singular (and there still is #17251 in Singular-3-1-7). 
>

And as correctly noticed, the #17251 is not in Singular 4.0.1
Martin Lee, the former coauthor of 'Singular/factory' is meanwhile very 
familiar with 'factory' and underlying algorithms 
and is able to fix bugs quickly. He fixed all bugs I discovered until now!
The last fix is from 
today:https://github.com/Singular/Sources/commit/d1b07bbb98d7132b6aa0cda7d48dc948e89dae43

So if anybody is able to (auto) detect remaining bugs in Singular's recent  
'factory' (e.g. in 'char_series()' or 'factorize()' ),
in any kind of supported rings, please do so timely.

I have no idea for how long Martin Lee will still maintain 'factory'.


Jakob

Am Samstag, 1. November 2014 10:33:33 UTC+1 schrieb Jeroen Demeyer:
>
> > it seems that Macaulay2 only uses Singular-Factory and Singular-Libfac 
> for a few functions (factor, gcd minimalprimes and 
> irreduciblecharacteristicseries). 
>
> Factoring is the hard one, there have been lots of factoring bugs in 
> Sage coming from Singular (and there still is #17251 in Singular-3-1-7). 
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] "Can We Trust Computer Algebra Systems?"

2014-11-01 Thread Jeroen Demeyer

it seems that Macaulay2 only uses Singular-Factory and Singular-Libfac for a 
few functions (factor, gcd minimalprimes and irreduciblecharacteristicseries).


Factoring is the hard one, there have been lots of factoring bugs in 
Sage coming from Singular (and there still is #17251 in Singular-3-1-7).


--
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] "Can We Trust Computer Algebra Systems?"

2014-10-31 Thread mmarco
Thanks for the info. I  didn't know that. Anyways, it seems that Macaulay2 
only uses Singular-Factory and Singular-Libfac for a few functions (factor, 
gcd minimalprimes and irreduciblecharacteristicseries). So for all the 
other stuff, it would stil be useful to compare the results given by 
Maculay2 and Singular.

El viernes, 31 de octubre de 2014 16:04:04 UTC+1, Nathan Dunfield escribió:
>
> How hard would it be to switch from the singular interface to the 
>> MAcualay2 one for the polynomial stuff?
>>
>
> I believe Macaulay 2 also uses Singular for its basic polynomial stuff:  
>
>
> http://www.math.uiuc.edu/Macaulay2/doc/Macaulay2-1.6/share/doc/Macaulay2/Macaulay2Doc/html/___Acknowledgements.html
>
> Best,
>
> Nathan
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] "Can We Trust Computer Algebra Systems?"

2014-10-31 Thread Nathan Dunfield

>
> How hard would it be to switch from the singular interface to the 
> MAcualay2 one for the polynomial stuff?
>

I believe Macaulay 2 also uses Singular for its basic polynomial stuff:  

http://www.math.uiuc.edu/Macaulay2/doc/Macaulay2-1.6/share/doc/Macaulay2/Macaulay2Doc/html/___Acknowledgements.html

Best,

Nathan

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] "Can We Trust Computer Algebra Systems?"

2014-10-30 Thread Jeroen Demeyer

On 2014-10-30 09:53, Dr. David Kirkby (Kirkby Microwave Ltd) wrote:

I think what is really missing from Sage is "bug-fix-only" releases,
where no new functionality is added - only bugs fixed.
Which problem would this solve? It would certainly add a considerable 
cost to the release management so there has to be a good reason to do that.


--
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] "Can We Trust Computer Algebra Systems?"

2014-10-30 Thread mmarco
How hard would it be to switch from the singular interface to the MAcualay2 
one for the polynomial stuff?

If we can do that, we could automate an extra pass of the testsuite 
consisting on comparing the output from one interface to the other.

>
> Many people doing algebraic geometry research use Magma or Macaulay2. 
>  Sage/Singular has failed to take over in Algebraic Geometry, like 
> Sage has in other areas, such as combinatorics and big parts of number 
> theory.   QC issues with Singular are a part of the reason.  In 
> comparison, in number theory we are able to build on high quality 
> libraries like FLINT. 
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] "Can We Trust Computer Algebra Systems?"

2014-10-30 Thread Dr. David Kirkby (Kirkby Microwave Ltd)
On 29 Oct 2014 14:54, "Jakob Kroeker"  wrote:

> In fact, in particular cases active testing was already done by some Sage
developers,
> which (I do not know this) probably were not explicitly paid for that
task.

I have certainly fed random inputs to sage and found some that would crash
it. At least some of those bugs got fixed by the authors of the code.
Search on trac for user drkirkby and you will find some.

> I suggest to think about offering bounties for new reported bugs

I don't think that would work.  The major motivation factor for open source
developers is to not to make money from it. I suspect one could earn more
stacking shelves at the local supermarket than on getting paid to find
bugs.

How would you decide which bug reports get a bounty - waste time on a
vote?

> and spend 10  to 30 percent of funding money for QA related tasks -
> there is a rule of thumb that for three developers one tester is needed.

I have not heard that, and I am sure it must depend to a considerable
amount what the implications of a bug are - in systems where someone's life
depends on the correct functioning of software would be different to a
cheap game.

I think what is really missing from Sage is "bug-fix-only" releases, where
no new functionality is added - only bugs fixed. This is pretty standard
for both commercial and open source software,  but despite me suggesting
thus several times,  there has never been much appetite for it.

Anyway Jakob, while I don't agree with everything you say, it is good to
see someone else raise the issues of how to increase software quality.

Whilst I think the signal to noise ratio from RJF is too low, his example
of weather forecasting get me thinking.  It must be particularly tricky in
that sort of software to find bugs, when everyone knows it will not be
perfectly accurate.

Dave.

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] "Can We Trust Computer Algebra Systems?"

2014-10-30 Thread Jori Mantysalo

On Wed, 29 Oct 2014, Jakob Kroeker wrote:


I suggest to think about offering bounties for new reported bugs


When having a course of mathematical software, the teacher could give some 
extra point to those who report [new] bugs.


--
Jori Mäntysalo

--
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] "Can We Trust Computer Algebra Systems?"

2014-10-29 Thread William Stein
On Wed, Oct 29, 2014 at 7:54 AM, Jakob Kroeker  wrote:
>> With which money?
>
>
> Funding money. If that is not allowed formally, convince funders.
> In fact, in particular cases active testing was already done by some Sage
> developers,
> which (I do not know this) probably were not explicitly paid for that task.
> There is money for travel, why not for QA? QA is inherently natural for
> software development.
> For example, we could find out, how reliable some routines are (otherwise,
> how to know?),
> or how effective are the used development process policies:
>
> The error rate (crash or incorrect result) for primary decomposition in
> recent Singular version
> should be down to about 1 per 200.000 examples (I' stressing these routines
> at the moment)
> The error rate for algebraic geometry related computations in polynomial
> rings over integers (e.g. groebner, intersect, syzygies...)
> should be much worse. Go figure! Or look at the bug reports in the
> bugtrackers (Singular,sage).
> In fact, std() over integers in Singular is broken for years.
> A serious question: did someone who uses them not notice? And if not, why?

Many people doing algebraic geometry research use Magma or Macaulay2.
 Sage/Singular has failed to take over in Algebraic Geometry, like
Sage has in other areas, such as combinatorics and big parts of number
theory.   QC issues with Singular are a part of the reason.  In
comparison, in number theory we are able to build on high quality
libraries like FLINT.

> I suggest to think about offering bounties for new reported bugs
> and spend 10  to 30 percent of funding money for QA related tasks -
> there is a rule of thumb that for three developers one tester is needed.
> To some noticeable extent QA happens during the ticket review process, but I
> doubt
> that reviewers stress the routines with random input and compare the results
> of different implementations.

Sometimes they don't and sometimes they definitely do.  I often do,
and it is usually results in problems being found.  Stress testing and
comparison of answers when refereeing patches is  good practice, and
is made very easy in sage due to how easy it is to call other systems.

>
>
> Jakob
>
>
> Am Mittwoch, 29. Oktober 2014 11:28:01 UTC+1 schrieb Jeroen Demeyer:
>>
>> On 2014-10-24 18:09, Jakob Kroeker wrote:
>> > I suggest Sage to pay QA staff for actively hunting bugs.
>> With which money?
>>
> --
> You received this message because you are subscribed to the Google Groups
> "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to sage-devel+unsubscr...@googlegroups.com.
> To post to this group, send email to sage-devel@googlegroups.com.
> Visit this group at http://groups.google.com/group/sage-devel.
> For more options, visit https://groups.google.com/d/optout.



-- 
William Stein
Professor of Mathematics
University of Washington
http://wstein.org

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] "Can We Trust Computer Algebra Systems?"

2014-10-29 Thread Jakob Kroeker

>
> With which money? 
>

Funding money. If that is not allowed formally, convince funders. 
In fact, in particular cases active testing was already done by some Sage 
developers,
which (I do not know this) probably were not explicitly paid for that task. 
There is money for travel, why not for QA? QA is inherently natural for 
software development.
For example, we could find out, how reliable some routines are (otherwise, 
how to know?),
or how effective are the used development process policies:

The error rate (crash or incorrect result) for primary decomposition in 
recent Singular version
should be down to about 1 per 200.000 examples (I' stressing these routines 
at the moment)
The error rate for algebraic geometry related computations in polynomial 
rings over integers (e.g. groebner, intersect, syzygies...)
should be much worse. Go figure! Or look at the bug reports in the 
bugtrackers (Singular,sage).
In fact, std() over integers in Singular is broken for years.
A serious question: did someone who uses them not notice? And if not, why?


I suggest to think about offering bounties for new reported bugs 
and spend 10  to 30 percent of funding money for QA related tasks -
there is a rule of thumb that for three developers one tester is needed.
To some noticeable extent QA happens during the ticket review process, but 
I doubt
that reviewers stress the routines with random input and compare the 
results of different implementations.


Jakob


Am Mittwoch, 29. Oktober 2014 11:28:01 UTC+1 schrieb Jeroen Demeyer:
>
> On 2014-10-24 18:09, Jakob Kroeker wrote: 
> > I suggest Sage to pay QA staff for actively hunting bugs. 
> With which money? 
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] "Can We Trust Computer Algebra Systems?"

2014-10-29 Thread Jeroen Demeyer

On 2014-10-24 18:09, Jakob Kroeker wrote:

I suggest Sage to pay QA staff for actively hunting bugs.

With which money?

--
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] "Can We Trust Computer Algebra Systems?"

2014-10-24 Thread Jakob Kroeker

>
> If you know of *anything* that should be added, contributions are 
> greatly welcome. 
>

It is not clear yet if I will ever contribute something substantial to sage 
before leaving research, 
so here some suggestions (which are sadly of much less value):

For example, Sage has a 100% doctest policy, and people can inspect 
> the source code of Sage and see that we follow it.
>

If sage developers find it useful, spread this to other groups!
Consider that there is (e.g. in Singular) a difference between the official 
and practised policy!

- sensitize developers about testing and handling special cases

 - develop and use a framework for auto-testing routines by throwing random 
examples at them
and by comparing different implementations. To my knowledge, there was 
already something done in this direction by the sage group.

- pay QA stuff or users for bug hunting.


*YES, we do*.   At a Sage days a few years ago, Robert Bradshaw, David 
> Roe, me and others introduced a "stopgame" framework for exactly this. 
>
>
I'm aware of this; it is a good start. AFAIK it does not support 'stopgame' 
at function level, only at package level.
I have some suggestions here, but again they are much less worth than real 
contributions.

( AFAIK the user does not get any warnings if he uses polynomial rings over 
integers.
 This functionality is broken in Singular for years and should be 
completely disabled in my opinion until it got fixed.
 There is work in progress by Adi Popescu and Anne Frühbis-Krueger)
)

Jakob


Am Freitag, 24. Oktober 2014 19:01:58 UTC+2 schrieb William:
>
> On Fri, Oct 24, 2014 at 9:16 AM, Jori Mantysalo  > wrote: 
> > On Fri, 24 Oct 2014, Jakob Kroeker wrote: 
> > 
> >> Does Sage warn somehow the user if a user calls a function which is 
> >> *known* to be buggy? 
>
> *YES, we do*.   At a Sage days a few years ago, Robert Bradshaw, David 
> Roe, me and others introduced a "stopgame" framework for exactly this. 
> You can see 52 tickets involving it here: 
>
>http://trac.sagemath.org/search?q=stopgap 
>
> If you know of *anything* that should be added, contributions are 
> greatly welcome. 
>
> I'm extremely appreciative that you (Jakob) are making repeated noise 
> about software quality.  Sage is sufficiently mature (at 10 years old 
> now) that the timing is very much right to have a new round of 
> discussion about how to improve quality. We had a similar 
> discussion around 2006 spurred mainly by Craig Citro and Michael 
> Abshoff, which led to numerous substantial improvements in Sage 
> development.  Last year we had a dramatic improvement in the technical 
> workflow (based on git branches instead of text-based patches) pushed 
> by Andrew Ohana and Volker Braun.But there is much room for 
> improvement. 
>
> For example, Sage has a 100% doctest policy, and people can inspect 
> the source code of Sage and see that we follow it.  That's something 
> Craig Citro convinced us to do 7 years ago, and it has had I think a 
> genuinely positive impact on our code quality, and ability to have a 
> larger number of developers. Michael Abshoff used to obsessively run 
> valgrind on Sage, which detected and fixed many issues with memory 
> leaks, pointer issues, segfaults, etc.  Is there another "lead bullet" 
> that we should add to our arsenal? 
>
> For me the biggest clear technical value in having access to source code 
> is: 
>
>   - It makes it *much easier to adapt/change* for research purposes, 
> since what you *want* to do is often not exactly what the implementors 
> made available.Source code makes this much easier, since (if 
> nothing else) it no question at all makes it possible to more deeply 
> understanding what you're building on. 
>
>   - Reading source code of math software you're using can help you 
> *decide how much to trust or not trust it*.  This is precisely your 
> point -- when you started reading through the code of Singular, you 
> definitely came to conclusion about how much to trust it. Looking 
> at code and deciding -- oh crap, this stuff is a mess -- even if you 
> still use the code in research, is very valuable.Sometimes even 
> bad code is very useful for research purposes, depending on the field 
> of mathematics. An obvious example is "integer factorization". 
> Horrible buggy code is still useful there. 
>
>  -- William 
>
>
> > 
> > 
> > Sometimes, but for example 
>
>
>
> > 
> > On Fri, 24 Oct 2014, Jean-Pierre Flori wrote: 
> > 
> >> We're stuck at http://trac.sagemath.org/ticket/17184. 
> >> I've also posted on Singular forum: 
> > 
> > 
> > I know that Singular versions 3.x has a heisenbug, it stucks sometimes 
> when 
> > factoring multivariate polynomials over rationals. There is no warning 
> > message. 
> > 
> > (But of course user do not get wrong answer, if there is no answer at 
> all.) 
> > 
> > -- 
> > Jori Mäntysalo 
> > 
> > 
> > -- 
> > You received this message because you are subscribed to the Google 
> Group

Re: [sage-devel] "Can We Trust Computer Algebra Systems?"

2014-10-24 Thread Jakob Kroeker

>
> "Can We Trust Computer Algebra Systems?"
>

If anyone bothers of my opinion: no.

Jakob

Am Freitag, 24. Oktober 2014 18:45:39 UTC+2 schrieb Jakob Kroeker:
>
>
> It was fun to read that the day after reading that M-ma gets some 
>> small integer determinants wrong! 
>>
>
> Of course, and now what? 
> Does Sage a better job? # (attention, I'm needling and trolling):
>
> Sage even fails to compute minimal associated primes of the unit ideal 
> correctly:
>
> R. = QQ[x,y];
> I = Ideal(R(1));
> I.minimal_associated_primes()
> #[Ideal (1) of Multivariate Polynomial Ring in x, y over Rational Field]
>
> Sage did make progress in improving the QA in comparison to others.
> Still, in my opinion  Sage   has to to improve the culture of QA even 
> more, increase
> the sensivity to missed special cases
> and maybe spread this quality assurance culture among the other groups ,
>  e.g. to those who develop packages which are used by Sage.
>
>
> Jakob
>
> Am Freitag, 24. Oktober 2014 18:21:43 UTC+2 schrieb John Cremona:
>>
>> To quote from a posting today to the nmbrthry mailing list: 
>>
>> "Here I report my related discovery concerning zeta(3) involving the 
>> harmonic numbers 
>>
>>H(n) = Sum_{k=1}^n 1/k   (n = 1,2,3,...). 
>>
>> On October 22, 2014 I found that 
>>
>>zeta(3) = Sum_{k>0} (3*H(k)-1/k)/(k^2*binom(2k,k)) 
>> .(1) 
>>
>> Via the Mathematica command 
>>
>>
>> FullSimplify[Sum[(3*HarmonicNumber[k]-1/k)/(k^2*Binomial[2k,k]),{k,1,Infinity}]],
>>  
>>
>>
>> Mathematica 9 could yield the desired result zeta(3) half an hour later. 
>> So, (1) does have a proof." 
>>
>> It was fun to read that the day after reading that M-ma gets some 
>> small integer determinants wrong! 
>>
>> John 
>>
>> On 24 October 2014 17:16, Jori Mantysalo  wrote: 
>> > On Fri, 24 Oct 2014, Jakob Kroeker wrote: 
>> > 
>> >> Does Sage warn somehow the user if a user calls a function which is 
>> >> *known* to be buggy? 
>> > 
>> > 
>> > Sometimes, but for example 
>> > 
>> > On Fri, 24 Oct 2014, Jean-Pierre Flori wrote: 
>> > 
>> >> We're stuck at http://trac.sagemath.org/ticket/17184. 
>> >> I've also posted on Singular forum: 
>> > 
>> > 
>> > I know that Singular versions 3.x has a heisenbug, it stucks sometimes 
>> when 
>> > factoring multivariate polynomials over rationals. There is no warning 
>> > message. 
>> > 
>> > (But of course user do not get wrong answer, if there is no answer at 
>> all.) 
>> > 
>> > -- 
>> > Jori Mäntysalo 
>> > 
>> > 
>> > -- 
>> > You received this message because you are subscribed to the Google 
>> Groups 
>> > "sage-devel" group. 
>> > To unsubscribe from this group and stop receiving emails from it, send 
>> an 
>> > email to sage-devel+...@googlegroups.com. 
>> > To post to this group, send email to sage-...@googlegroups.com. 
>> > Visit this group at http://groups.google.com/group/sage-devel. 
>> > For more options, visit https://groups.google.com/d/optout. 
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] "Can We Trust Computer Algebra Systems?"

2014-10-24 Thread William Stein
On Fri, Oct 24, 2014 at 9:16 AM, Jori Mantysalo  wrote:
> On Fri, 24 Oct 2014, Jakob Kroeker wrote:
>
>> Does Sage warn somehow the user if a user calls a function which is
>> *known* to be buggy?

*YES, we do*.   At a Sage days a few years ago, Robert Bradshaw, David
Roe, me and others introduced a "stopgame" framework for exactly this.
You can see 52 tickets involving it here:

   http://trac.sagemath.org/search?q=stopgap

If you know of *anything* that should be added, contributions are
greatly welcome.

I'm extremely appreciative that you (Jakob) are making repeated noise
about software quality.  Sage is sufficiently mature (at 10 years old
now) that the timing is very much right to have a new round of
discussion about how to improve quality. We had a similar
discussion around 2006 spurred mainly by Craig Citro and Michael
Abshoff, which led to numerous substantial improvements in Sage
development.  Last year we had a dramatic improvement in the technical
workflow (based on git branches instead of text-based patches) pushed
by Andrew Ohana and Volker Braun.But there is much room for
improvement.

For example, Sage has a 100% doctest policy, and people can inspect
the source code of Sage and see that we follow it.  That's something
Craig Citro convinced us to do 7 years ago, and it has had I think a
genuinely positive impact on our code quality, and ability to have a
larger number of developers. Michael Abshoff used to obsessively run
valgrind on Sage, which detected and fixed many issues with memory
leaks, pointer issues, segfaults, etc.  Is there another "lead bullet"
that we should add to our arsenal?

For me the biggest clear technical value in having access to source code is:

  - It makes it *much easier to adapt/change* for research purposes,
since what you *want* to do is often not exactly what the implementors
made available.Source code makes this much easier, since (if
nothing else) it no question at all makes it possible to more deeply
understanding what you're building on.

  - Reading source code of math software you're using can help you
*decide how much to trust or not trust it*.  This is precisely your
point -- when you started reading through the code of Singular, you
definitely came to conclusion about how much to trust it. Looking
at code and deciding -- oh crap, this stuff is a mess -- even if you
still use the code in research, is very valuable.Sometimes even
bad code is very useful for research purposes, depending on the field
of mathematics. An obvious example is "integer factorization".
Horrible buggy code is still useful there.

 -- William


>
>
> Sometimes, but for example



>
> On Fri, 24 Oct 2014, Jean-Pierre Flori wrote:
>
>> We're stuck at http://trac.sagemath.org/ticket/17184.
>> I've also posted on Singular forum:
>
>
> I know that Singular versions 3.x has a heisenbug, it stucks sometimes when
> factoring multivariate polynomials over rationals. There is no warning
> message.
>
> (But of course user do not get wrong answer, if there is no answer at all.)
>
> --
> Jori Mäntysalo
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to sage-devel+unsubscr...@googlegroups.com.
> To post to this group, send email to sage-devel@googlegroups.com.
> Visit this group at http://groups.google.com/group/sage-devel.
> For more options, visit https://groups.google.com/d/optout.



-- 
William Stein
Professor of Mathematics
University of Washington
http://wstein.org

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] "Can We Trust Computer Algebra Systems?"

2014-10-24 Thread Jakob Kroeker


> It was fun to read that the day after reading that M-ma gets some 
> small integer determinants wrong! 
>

Of course, and now what? 
Does Sage a better job? # (attention, I'm needling and trolling):

Sage even fails to compute minimal associated primes of the unit ideal 
correctly:

R. = QQ[x,y];
I = Ideal(R(1));
I.minimal_associated_primes()
#[Ideal (1) of Multivariate Polynomial Ring in x, y over Rational Field]

Sage did make progress in improving the QA in comparison to others.
Still, in my opinion  Sage   has to to improve the culture of QA even more, 
increase
the sensivity to missed special cases
and maybe spread this quality assurance culture among the other groups ,
 e.g. to those who develop packages which are used by Sage.


Jakob

Am Freitag, 24. Oktober 2014 18:21:43 UTC+2 schrieb John Cremona:
>
> To quote from a posting today to the nmbrthry mailing list: 
>
> "Here I report my related discovery concerning zeta(3) involving the 
> harmonic numbers 
>
>H(n) = Sum_{k=1}^n 1/k   (n = 1,2,3,...). 
>
> On October 22, 2014 I found that 
>
>zeta(3) = Sum_{k>0} (3*H(k)-1/k)/(k^2*binom(2k,k)) 
> .(1) 
>
> Via the Mathematica command 
>
>
> FullSimplify[Sum[(3*HarmonicNumber[k]-1/k)/(k^2*Binomial[2k,k]),{k,1,Infinity}]],
>  
>
>
> Mathematica 9 could yield the desired result zeta(3) half an hour later. 
> So, (1) does have a proof." 
>
> It was fun to read that the day after reading that M-ma gets some 
> small integer determinants wrong! 
>
> John 
>
> On 24 October 2014 17:16, Jori Mantysalo > 
> wrote: 
> > On Fri, 24 Oct 2014, Jakob Kroeker wrote: 
> > 
> >> Does Sage warn somehow the user if a user calls a function which is 
> >> *known* to be buggy? 
> > 
> > 
> > Sometimes, but for example 
> > 
> > On Fri, 24 Oct 2014, Jean-Pierre Flori wrote: 
> > 
> >> We're stuck at http://trac.sagemath.org/ticket/17184. 
> >> I've also posted on Singular forum: 
> > 
> > 
> > I know that Singular versions 3.x has a heisenbug, it stucks sometimes 
> when 
> > factoring multivariate polynomials over rationals. There is no warning 
> > message. 
> > 
> > (But of course user do not get wrong answer, if there is no answer at 
> all.) 
> > 
> > -- 
> > Jori Mäntysalo 
> > 
> > 
> > -- 
> > You received this message because you are subscribed to the Google 
> Groups 
> > "sage-devel" group. 
> > To unsubscribe from this group and stop receiving emails from it, send 
> an 
> > email to sage-devel+...@googlegroups.com . 
> > To post to this group, send email to sage-...@googlegroups.com 
> . 
> > Visit this group at http://groups.google.com/group/sage-devel. 
> > For more options, visit https://groups.google.com/d/optout. 
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] "Can We Trust Computer Algebra Systems?"

2014-10-24 Thread John Cremona
To quote from a posting today to the nmbrthry mailing list:

"Here I report my related discovery concerning zeta(3) involving the
harmonic numbers

   H(n) = Sum_{k=1}^n 1/k   (n = 1,2,3,...).

On October 22, 2014 I found that

   zeta(3) = Sum_{k>0} (3*H(k)-1/k)/(k^2*binom(2k,k))
.(1)

Via the Mathematica command


FullSimplify[Sum[(3*HarmonicNumber[k]-1/k)/(k^2*Binomial[2k,k]),{k,1,Infinity}]],

Mathematica 9 could yield the desired result zeta(3) half an hour later.
So, (1) does have a proof."

It was fun to read that the day after reading that M-ma gets some
small integer determinants wrong!

John

On 24 October 2014 17:16, Jori Mantysalo  wrote:
> On Fri, 24 Oct 2014, Jakob Kroeker wrote:
>
>> Does Sage warn somehow the user if a user calls a function which is
>> *known* to be buggy?
>
>
> Sometimes, but for example
>
> On Fri, 24 Oct 2014, Jean-Pierre Flori wrote:
>
>> We're stuck at http://trac.sagemath.org/ticket/17184.
>> I've also posted on Singular forum:
>
>
> I know that Singular versions 3.x has a heisenbug, it stucks sometimes when
> factoring multivariate polynomials over rationals. There is no warning
> message.
>
> (But of course user do not get wrong answer, if there is no answer at all.)
>
> --
> Jori Mäntysalo
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to sage-devel+unsubscr...@googlegroups.com.
> To post to this group, send email to sage-devel@googlegroups.com.
> Visit this group at http://groups.google.com/group/sage-devel.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] "Can We Trust Computer Algebra Systems?"

2014-10-24 Thread Jori Mantysalo

On Fri, 24 Oct 2014, Jakob Kroeker wrote:

Does Sage warn somehow the user if a user calls a function which is 
*known* to be buggy?


Sometimes, but for example

On Fri, 24 Oct 2014, Jean-Pierre Flori wrote:


We're stuck at http://trac.sagemath.org/ticket/17184.
I've also posted on Singular forum:


I know that Singular versions 3.x has a heisenbug, it stucks sometimes 
when factoring multivariate polynomials over rationals. There is no 
warning message.


(But of course user do not get wrong answer, if there is no answer at 
all.)


--
Jori Mäntysalo

--
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] "Can We Trust Computer Algebra Systems?"

2014-10-24 Thread Jakob Kroeker

>
> The fact that it is possible to do it in principle is the important bit,
>

Mandatory, but of course not sufficient. Just recall the recently 
discovered bash shell bug which was lurking in the source for more than 10 
years.

The important bit is that one can go and check. 
>

I'm doing this: since in the recent project I ran into many bugs in a 
well-known CAS, and now
I do not trust any function I use and started to look actively for bugs 
(testing and code reviewing) and discovered about 100 bugs during the last 
year. 
Some code parts (which exist and were used for more than 10 years) I 
checked, reach an error rate about 5 bugs per 1000 lines.
Sage builds on top of this CAS and probably on top of other buggy packages.

Does Sage warn somehow the user if a user calls a function which is *known* 
to be buggy?

If possible, I suggest Sage to pay QA staff for actively hunting bugs.


Jakob




Am Freitag, 24. Oktober 2014 17:21:29 UTC+2 schrieb bluescarni:
>
> On 24 October 2014 05:30, kcrisman > 
> wrote:
>
>>
>>It was an interesting read. The article (at potential risk of starting 
>>> a firestorm) does seem to suggest that open-source software like Sage is 
>>> more trustworthy for computational proofs as one can (in principle) verify 
>>> the code's logic and can look at the list of known bugs.
>>>


>> In principle.  But naturally we have a bug tracker for a reason.  Also, I 
>> didn't have time to look at the article they referenced about some 
>> experience with open source; perhaps someone could summarize it.
>>
>>
> The fact that it is possible to do it in principle is the important bit, 
> not if actually people do so. When I am writing a paper I don't necessarily 
> go and check each and every previous result on which the paper is built, 
> but it is essential to be able to do so if desired or needed.
>
> Likewise, it's not really important (from the point of view of this 
> discussion anyway) if Sage or another open-source software is more or less 
> trustworthy in practice than a closed-source system. The important bit is 
> that one can go and check. Trust and blind faith are two different things.
>
> I find it quite depressing how publications relying on (or describing) 
> "black boxes" are routinely accepted and I wish the research community were 
> intellectually honest about this issue.
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] "Can We Trust Computer Algebra Systems?"

2014-10-24 Thread Francesco Biscani
On 24 October 2014 05:30, kcrisman  wrote:

>
>It was an interesting read. The article (at potential risk of starting
>> a firestorm) does seem to suggest that open-source software like Sage is
>> more trustworthy for computational proofs as one can (in principle) verify
>> the code's logic and can look at the list of known bugs.
>>
>>>
>>>
> In principle.  But naturally we have a bug tracker for a reason.  Also, I
> didn't have time to look at the article they referenced about some
> experience with open source; perhaps someone could summarize it.
>
>
The fact that it is possible to do it in principle is the important bit,
not if actually people do so. When I am writing a paper I don't necessarily
go and check each and every previous result on which the paper is built,
but it is essential to be able to do so if desired or needed.

Likewise, it's not really important (from the point of view of this
discussion anyway) if Sage or another open-source software is more or less
trustworthy in practice than a closed-source system. The important bit is
that one can go and check. Trust and blind faith are two different things.

I find it quite depressing how publications relying on (or describing)
"black boxes" are routinely accepted and I wish the research community were
intellectually honest about this issue.

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] "Can We Trust Computer Algebra Systems?"

2014-10-23 Thread kcrisman


>It was an interesting read. The article (at potential risk of starting 
> a firestorm) does seem to suggest that open-source software like Sage is 
> more trustworthy for computational proofs as one can (in principle) verify 
> the code's logic and can look at the list of known bugs.
>
>>
>>
In principle.  But naturally we have a bug tracker for a reason.  Also, I 
didn't have time to look at the article they referenced about some 
experience with open source; perhaps someone could summarize it.

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] "Can We Trust Computer Algebra Systems?"

2014-10-23 Thread Travis Scrimshaw
   It was an interesting read. The article (at potential risk of starting a 
firestorm) does seem to suggest that open-source software like Sage is more 
trustworthy for computational proofs as one can (in principle) verify the 
code's logic and can look at the list of known bugs.

Best,
Travis


On Thursday, October 23, 2014 7:16:55 PM UTC-7, William wrote:
>
>
> On Oct 23, 2014 6:23 PM, "kcrisman" > 
> wrote:
> >
> > Feature article in the Notices:
> > http://www.ams.org/notices/201410/rnoti-p1249.pdf
> > The point, as the authors say, is not about any one system; as we know, 
> any nontrivial software (including good ol' Sage) has plenty of bugs.  
> Happy reading!
> > - kcrisman
> >
>
> Fortunately (?!) their article seems to not mention Sage. 
>
> > -- 
> > You received this message because you are subscribed to the Google 
> Groups "sage-devel" group.
> > To unsubscribe from this group and stop receiving emails from it, send 
> an email to sage-devel+...@googlegroups.com .
> > To post to this group, send email to sage-...@googlegroups.com 
> .
> > Visit this group at http://groups.google.com/group/sage-devel.
> > For more options, visit https://groups.google.com/d/optout.
>  

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] "Can We Trust Computer Algebra Systems?"

2014-10-23 Thread William Stein
On Oct 23, 2014 6:23 PM, "kcrisman"  wrote:
>
> Feature article in the Notices:
> http://www.ams.org/notices/201410/rnoti-p1249.pdf
> The point, as the authors say, is not about any one system; as we know,
any nontrivial software (including good ol' Sage) has plenty of bugs.
Happy reading!
> - kcrisman
>

Fortunately (?!) their article seems to not mention Sage.

> --
> You received this message because you are subscribed to the Google Groups
"sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an
email to sage-devel+unsubscr...@googlegroups.com.
> To post to this group, send email to sage-devel@googlegroups.com.
> Visit this group at http://groups.google.com/group/sage-devel.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] "Can We Trust Computer Algebra Systems?"

2014-10-23 Thread kcrisman
Feature article in the Notices:
http://www.ams.org/notices/201410/rnoti-p1249.pdf
The point, as the authors say, is not about any one system; as we know, any 
nontrivial software (including good ol' Sage) has plenty of bugs.  Happy 
reading!
- kcrisman

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.