Sage and commercial software

3 views
Skip to first unread message

mhampton

unread,
Nov 23, 2009, 11:01:42 PM11/23/09
to sage-devel
I thought that Mark McClure's post on another thread raised some
interesting issues, and that it was worth responding to, but it was so
tangential that it deserves a seperate thread:

"""
But William, just two days ago on sage-support you wrote:
"Let's put Mathworks out of business."
http://groups.google.com/group/sage-support/browse_thread/thread/b564...

So I wonder, what is your true feeling on this matter?

To be clear, I am not attempting to be inflammatory.
I have been genuinely interested in Sage for a couple
years and have used it for real mathematics sporadically.
I could even imagine jumping into Sage development but I
have been *very* put off by the outright hostile stance
frequently expressed towards the commercial systems on
the sage discussion groups. As I mentioned in my
response on sage-support, The Mathworks has played a
central role in the development of numerical software
(both commercial and free) for many years. Thus, I
really feel that your desire to "put Mathworks out of
business" is misdirected, particularly in the context
of your current grant proposal.

Mark McClure"""

I can't speak for William, who I suppose is the only person who can
give an "official" Sage opinion, but I think my feelings on this might
overlap with his somewhat.

It is good for mathematics if there are multiple implementations of
any sort of computational functionality, to check results at the very
least. So it is good that Mathematica, Matlab, etc. exist. It is
also preferable that the implementations are open, so that they can be
examined carefully. Thus to the extent that commercial software
"competes" with free and open software, I will root for the latter.

I don't really think William meant what he said literally, at least in
the medium term. Or at least it can be viewed less confrontationally:
Sage could only put MathWorks out of business if it became the
standard choice in a wide variety of engineering, scientific, and
mathematical fields. We have a long, long way to go before this
happens, so I interpret William's statement as a sort of cheerleading
to inspire people who care about open and free software. Sage would
be a tremendous success if we could put anybody out of business. It
is a rather negative way to frame a positive goal though.

When I began using Sage about four years ago it was for purely
technical reasons. I had used Mathematica for 15 years, and I was
quite happy with it overall. But I needed to do some computations
that Sage supported and Mathematica did not (from bioinformatics and
polyhedral geometry). As time went on, the fact that Mathematica was
a closed system began to bother me more and more. Using it now
reminds me of how once I quit smoking, the smell of cigarette smoke
became more and more irritating.

As you point out, I think MathWorks is less harmful in many ways than
Mathematica for the culture of science, engineering, and mathematics.
Matlab was started as a free teaching tool after all, and only later
commercialized, so I think its corporate culture is healthier.

For a project such as Sage, the competition is for hearts and minds.
Most people in academia don't want to learn many different systems,
they want a single tool for teaching and research. It is natural, as
Sage developers, to wish that that single tool be Sage rather than
anything else. Realistically, for the forseeable future the
commercial alternatives will be in business and continue to innovate
and improve their products. Trying to exceed their offerings is an
ambitious goal that helps focus our efforts.

Other Sage developers surely have a spectrum of other opinions. Some
of them probably do feel antagonist towards MathWorks etc, others do
not. I hope that doesn't turn you off of Sage. Its a large and
growing community, so one can expect to disagree sometimes.

Cheers,
Marshall Hampton

Dr. David Kirkby

unread,
Nov 23, 2009, 11:49:52 PM11/23/09
to sage-...@googlegroups.com
mhampton wrote:
> I thought that Mark McClure's post on another thread raised some
> interesting issues, and that it was worth responding to, but it was so
> tangential that it deserves a seperate thread:
>
> """
> But William, just two days ago on sage-support you wrote:
> "Let's put Mathworks out of business."

I can't find the link, as the URL you gave points to an error message. Only
William can tell you his beliefs, but I do not think William would actually want
to put Mathworks out of business. I know I personally would not. It was probably
more as a joke.

I've had a number of discussions with Wolfram Research employees, and most are
nice people. They have mortgages to pay, children to feed etc. I have a huge
respect for Daniel Lichtblau of Wolfram Research, as he clearly knows his
subject, but does not come out with a load of hype. The sales patter from some
other WRI employees can get a bit much though.

It would be a very sad day if Wolfram Research went out of business.

I've commented before, that I doubt CPUs would be as good as they are today if
there was not competition between Intel and AMD. Competition is a good thing. It
motivates people to innovate.

I find it hard to believe Sage will not have a negative impact on the sales of
Mathematica, but I certainly hope Sage does not put Wolfram Research out of
business. I very much doubt it will either.



Dave

Martin Rubey

unread,
Nov 24, 2009, 1:25:16 AM11/24/09
to sage-...@googlegroups.com
"Dr. David Kirkby" <david....@onetel.net> writes:

> I find it hard to believe Sage will not have a negative impact on the
> sales of Mathematica, but I certainly hope Sage does not put Wolfram
> Research out of business. I very much doubt it will either.

I am with your hope (how to say this properly?). At any rate, I think
its realistic though that sage will put

maxima, fricas (axiom, open-axiom), reduce, giac, etc.

eventually "out of business". I'm not so sure about MMA, Maple, Magma,
and Matlab, but I'm quite sure that not all of them will survive
competition with sage. Now you might laugh or even feel proud, but I'm
pretty sure wikipedia was laughed on, too, not so long ago.

mhampton <hamp...@gmail.com> writes:

> It is good for mathematics if there are multiple implementations of
> any sort of computational functionality, to check results at the very
> least.

Again, I couldn't agree more: although the "competitors" were two closed
source packages (one for MMA, the other for Maple) and the other open
source (for MMA), they were extremely important for Waldek and myself to
judge where our program (the guessing machine) needed improvement most.
(In a particular test, before tuning, our package took 10 hours and one
of the others one hour. Now we stop at 10 minutes...)

> Most people in academia don't want to learn many different systems,
> they want a single tool for teaching and research. It is natural, as
> Sage developers, to wish that that single tool be Sage rather than
> anything else.

I understand. Being in the "smaller" boat, I can only encourage sage
developers to spend at least a little time on contemplating whether a
CAS-world with sage only is desirable. Possibly it is. Otherwise, the
next problem is, what sage can do to keep others alive. (Possibly not
much, but I'm not sure.)

I think that mathematics is a social science :-)

Martin

ma...@mendelu.cz

unread,
Nov 24, 2009, 4:25:31 AM11/24/09
to sage-devel
On 24 lis, 07:25, Martin Rubey <martin.ru...@math.uni-hannover.de>
wrote:
> "Dr. David Kirkby" <david.kir...@onetel.net> writes:
>
> > I find it hard to believe Sage will not have a negative impact on the
> > sales of Mathematica, but I certainly hope Sage does not put Wolfram
> > Research out of business. I very much doubt it will either.
>
> I am with your hope (how to say this properly?). At any rate, I think
> its realistic though that sage will put
>
> maxima, fricas (axiom, open-axiom), reduce, giac, etc.
>
> eventually "out of business".

Hello

I do not think so. There are really big names (RJF, Robert Dodier and
others) behind Maxima. As I understand from curricula vitae of some
Sage develepers (E. Burcin, O. Certik, W. Stein, M. Hampton, K. D.
Crisman, ..), the typical Sage developer is very young. Sage is
wonderful project, but it is hard to believe that enthusiasm and
diligence will beat the long experiences included in Maxima and Axiom
in next couple of years - at least in calculus :)

Sage is wonderfull and very very useful project - as well as Maxima
and Axiom. I am sure that noone of them will put the others "out of
bussines". Exactly like Firefox does not put out of bussines not only
Opera and IE, but also Konqueror, Epiphany and even links and lynx!

Robert Marik

Harald Schilly

unread,
Nov 24, 2009, 7:36:38 AM11/24/09
to sage-devel
On Nov 24, 7:25 am, Martin Rubey <martin.ru...@math.uni-hannover.de>
wrote:
> I am with your hope (how to say this properly?).  At any rate, I think
> its realistic though that sage will put
>
>     maxima, fricas (axiom, open-axiom), reduce, giac, etc.
>
> eventually "out of business".

I see this totally different: Sage or any other entity is unable to
put out a project that is free software. Free software belongs us all,
we all together can shape it and as long as there are still copies
around the project is alive. A commercial software is different, it's
code is closed and once it is out of business the code is either lost
or some other company buys it. Releasing closed source code is hard,
especially if it is written by subcontractors and lawyers have to read
all the license papers.
Do you have download numbers for fricas? Support activity measures?
User base estimates?

H

mark mcclure

unread,
Nov 24, 2009, 8:41:20 AM11/24/09
to sage-devel
On Nov 23, 11:01 pm, mhampton <hampto...@gmail.com> wrote:
> I thought that Mark McClure's post on another thread raised some
> interesting issues, and that it was worth responding to, but it was so
> tangential that it deserves a seperate thread:

Thank you to Marshall for a thoughtful response. I agree with just
about
everything he said.

Mark McClure

kcrisman

unread,
Nov 24, 2009, 9:47:11 AM11/24/09
to sage-devel

> I do not think so. There are really big names (RJF, Robert Dodier and
> others) behind Maxima. As I understand from curricula vitae of some
> Sage develepers (E. Burcin, O. Certik, W. Stein, M. Hampton, K. D.
> Crisman, ..), the typical Sage developer is very young. Sage is
> wonderful project, but it is hard to believe that enthusiasm and
> diligence will beat the long experiences included in Maxima and Axiom
> in next couple of years - at least in calculus :)
>

It is extremely unlikely that Sage will put these "out of business".
Also, I think that comment was in the context of Mathworks having
patents that apparently are for things which existed long before it
did.

- kcrisman

john_perry_usm

unread,
Nov 24, 2009, 11:40:04 AM11/24/09
to sage-devel
On Nov 24, 1:25 am, Martin Rubey <martin.ru...@math.uni-hannover.de>
wrote:
> "Dr. David Kirkby" <david.kir...@onetel.net> writes:
>
> > I find it hard to believe Sage will not have a negative impact on the
> > sales of Mathematica, but I certainly hope Sage does not put Wolfram
> > Research out of business. I very much doubt it will either.
>
> I am with your hope (how to say this properly?). At any rate, I think
> its realistic though that sage will put
>
> maxima, fricas (axiom, open-axiom), reduce, giac, etc.
>
> eventually "out of business".

I hope Sage doesn't put maxima out of business, and I don't think it's
realistic, either, at least not in the short term: Sage depends on
maxima.

I thought one of the selling points of Sage was that the user could
easily use several world-class computer algebra systems developed by
researcheres in the academy (maxima, singular, linbox, etc) & transfer
data between them relatively seamlessly, using only one interface &
language.

I am now a maxima user *only* because I am a Sage user, and Sage
relies on maxima for quite a few things. One of my undergraduate
students just finished a research project that I think uses maxima
through Sage. (I'll check.) From my point of view, maxima is a good
thing that has nowhere near outlived its usefulness, and if Sage put
it out of business that would be not just bad, but suicidal.

I used to use Maple, and while I'm sure Maple has its advantages for
people in [insert field or group here] Sage has turned out much more
useful for me. I don't think I ever would have tried maxima if not for
Sage.

> I'm not so sure about MMA, Maple, Magma,
> and Matlab, but I'm quite sure that not all of them will survive
> competition with sage.

I'm not sure all of them will survive competition with each *other*,
but I doubt Sage would be the one that put them out of business. The
most I might expect is that Sage will reach a level of maturity and
sophistication where it poses enough threat at the educational level
as to force commercial developers to open the scientific side of their
code, while maintaining (probably) closed user interfaces.

regards
john perry

rjf

unread,
Nov 24, 2009, 3:10:48 PM11/24/09
to sage-devel
David Kirby's comments on competition stuck in my mind as I was doing
some errands this morning, and his repeating them suggested to me that
maybe I should comment again.

For a start, the healthy competition he refers to between Intel and
AMD. Perhaps he has not noticed the substantial amount of money spent
on lawyers and suits? Intel settles a lawsuit for 1.25 BILLION
dollars. That's not an indication of health.

Has the competition in computer chips been healthy?
I think most academics viewed the Motorola 68020 CPU as a better
design than the Intel chip of the same generation.
It was used in the Sun workstations of 1980 (or so). Yet Intel
prevailed because IBM had market strength. Other good
(better than Intel?) designs came and went, using up huge amounts of
intellectual effort, time, money. Sun SPARC, MIPS,
HP, IBM Power-PC, etc etc.
Did the best design win? Where would we be (say, in terms of taking
advantage of parallel computers) if one of the other designs
prevailed, say one of the parallel computing companies of the 1980s?
Tandem? Encore? for just a few of them..


And that is not even touching the competition in mainframe computers
like IBM and Amdahl.

While I am not opposed to competition per se, I am quite doubtful of
some of the competition proposed here.
For example, claiming great advantages to rewriting working software
in the language du jour (currently, Python).
This is not competition, it is waste. It might be excusable if one
says "student X wants to learn technology Y,
so he will write a new program." It becomes marketing hype if you add
the phrase "... and it will be better because it is in Python."
It is further questionable if the claim is accompanied by accusations
that the old program is slow, when it is
technology like pexpect that is the bottleneck, etc etc. And it is
also hard to give much credit to a system that advertises itself as a
new viable alternative to Maple and Mathematica when the fact is that
it often just calls Maxima, already a viable alternative to Maple and
Mathematica, a reality that it attempts to conceal (see NSF proposal
draft). Until something goes wrong, and then it blames Maxima.(see
Sage-support).

I think that any company that chooses to use Sage instead of buying
Mathematica would be unlikely to do so because Sage is open-source and
can therefore be "verified". While Sage might be free, the expense of
that company in hiring a person to check the verification would be
substantial, and probably pointless. Proving that a program matches a
specification or some other indication of correctness is not something
done casually or cheaply. Verifying a program's result (whether from
Mathematica, Maple, or Maxima)
is typically done by quite other means than examining the code that
produced it. I can recall no instance of a published program proof
in symbolic computation for any non-trivial algorithm. Repeated
proofs of the Extended Euclidean Algorithm (GCD) don't make the grade.

Someone who has the choice between Mathematica and Sage may very well
think:

Oh Mathematica or Matlab or ... costs $X and I just load it on my
machine(s).
Oh Sage costs $0, and I have to designate a technician to compile and
install it on my machines at expense $Y. Is Y>X ?

more likely a decision will be made on the basis of persons in the
company asking for one or the other, based on the availability of
library of application code, or programs written by colleagues in that
particular language (mathematica, python, matlab).
Thus someone doing signal processing calculations will likely choose
the system with the best signal processing library.

Is that Sage?

RJF

William Stein

unread,
Nov 24, 2009, 3:37:52 PM11/24/09
to sage-devel
On Tue, Nov 24, 2009 at 12:10 PM, rjf <fat...@gmail.com> wrote:
> While I am not opposed to competition per se, I am quite doubtful of
> some of the competition proposed here.
> For example, claiming great advantages to rewriting working software
> in the language du jour (currently, Python).

FUD. Sage does *vastly* more than "rewrite working software".

> This is not competition, it is waste.  It might be excusable if one
> says "student X wants to learn technology Y,
> so he will write a new program."

This certainly happens.

>  It becomes marketing hype if you add
> the phrase "... and it will be better because it is in Python."

There are clear advantages to Python over Lisp that go far beyond
marketing hype. It is perhaps the world's most popular scripting
language, and certainly in the top 2 or 3. That does add genuine
value.

> It is further questionable if the claim is accompanied by  accusations
> that the old program is slow, when it is
> technology like pexpect that is the bottleneck, etc etc.

FUD. Maxima is slow at many things, because of very dated algorithms
and implementation issues. This has little to do with pexpect. I
wish Maxima weren't slow (say compared to Magma), since that would
make my life much easier.

It's worth pointing out that Sage switched form using Maxima for
symbolic manipulation to (a massively modified version of) GINAC in
May 2009. http://www.ginac.de/ and http://pynac.sagemath.org/
Maxima is used now only for certain specific capabilities not
available in GINAC, including symbolic integration, formal symbolic
summation, limits, etc. But it's not used for basic symbolic
manipulation anymore.

> And it is
> also hard to give much credit to a system that advertises itself as a
> new viable alternative to Maple and Mathematica when the fact is that
^^^^^^^

The statement is "Mission: Creating a viable free open source
alternative to Magma, Maple, Mathematica and Matlab." Your assertion
is wrong on two counts:

(1) There is nothing about "new" there.
(2) There is no claim that Sage *is* a viable alternative yet.

> it often just calls Maxima, already a viable alternative to Maple and
> Mathematica,

Maxima is not a viable alternative to Maple and Mathematica, for most
potential users. I really wish it were.

> a reality that it attempts to conceal (see NSF proposal
> draft).

I'm not hiding anything.

>  Until something goes wrong, and then it blames Maxima.(see
> Sage-support).

FUD. We do not blame Maxima whenever anything goes wrong. There are
over 800 bugs listed in the Sage trac database, and the *vast
majority* have nothing to do with Maxima. We "blame" Maxima when we
run into a Maxima bug, or a mistake in our understanding of Maxima.

It is worth noting also that actual Maxima developers (which RJF is
not these days, so far as I can tell) who have ever communicated with
anybody involved in the Sage project have been very _supportive_ of
the Sage project. I'm thinking in particular of Robert Dodier.

> I think that any company that chooses to use Sage instead of buying
> Mathematica would be unlikely to do so because Sage is open-source and
> can therefore be "verified".
> While Sage might be free, the expense of
> that company in hiring a person to check the verification would be
> substantial, and probably pointless.  Proving that a program matches a
> specification or some other indication of correctness is not something
> done casually or cheaply.  Verifying a program's result (whether from
> Mathematica, Maple, or Maxima)
> is typically done by quite other means than examining the code that
> produced it.   I can recall no instance of a published program proof
> in symbolic computation for any non-trivial algorithm.  Repeated
> proofs of the Extended Euclidean Algorithm (GCD) don't make the grade.

The above is the typical kind of statement that comes form somebody
who doesn't understand mathematical research at all... combined with
the sort of statement that comes from somebody who doesn't understand
open source either.

* For mathematicians: Open source addresses the "proof" part of
research mathematicians curiosity.

* For companies: open source is something entirely different
altogether -- it's the power to know they can change the software
however they want.

For some people it's just nice to save money. Often open source
software is just solidly better quality and more functionality
software than anything closed source out there. It happens, and most
of us know examples that we personally use.

> Someone who has the choice between Mathematica and Sage may very well
> think:
>
> Oh Mathematica or Matlab or ... costs $X and I just load it on my
> machine(s).
> Oh Sage costs $0, and I have to designate a technician to compile and
> install it on my machines at expense $Y.  Is Y>X ?

FUD. No they don't have to do that. Moreover, in my experience
Matlab is (vastly) more difficult to install that Sage, due to copy
protection.

> more likely a decision will be made on the basis of persons in the
> company asking for one or the other, based on the availability of
> library of application code, or programs written by colleagues in that
> particular language (mathematica, python, matlab).
> Thus someone doing signal processing calculations will likely choose
> the system with the best signal processing library.
>
> Is that Sage?

Is that Maxima?

William

Robert Bradshaw

unread,
Nov 24, 2009, 4:07:55 PM11/24/09
to sage-...@googlegroups.com
On Nov 24, 2009, at 12:10 PM, rjf wrote:

> David Kirby's comments on competition stuck in my mind as I was doing
> some errands this morning, and his repeating them suggested to me that
> maybe I should comment again.
>
> For a start, the healthy competition he refers to between Intel and
> AMD. Perhaps he has not noticed the substantial amount of money spent
> on lawyers and suits? Intel settles a lawsuit for 1.25 BILLION
> dollars. That's not an indication of health.

No one is claiming that there aren't (gross) inefficiencies in the
system, but I am one of many who subscribe to the belief that most of
the time completion provides better results than the lack thereof.

My goal is not to put the Ma's out of business, but I strongly feel
having an open alternative is important.

> And it is
> also hard to give much credit to a system that advertises itself as a
> new viable alternative to Maple and Mathematica when the fact is that
> it often just calls Maxima, already a viable alternative to Maple and
> Mathematica, a reality that it attempts to conceal (see NSF proposal
> draft). Until something goes wrong, and then it blames Maxima.(see
> Sage-support).

The fact that you're chosen field doesn't require any math beyond what
Maxima can do greatly colors your perspective. Sage, and even Maple
and Mathematica are about much more than symbolic manipulation.

The fact that Maxima comes up so often in sage-support is both due to
the popularity of doing calculus (nearly every college freshman out
there) and the fact that doesn't work well (sometimes because of the
wrapper, sometimes because of deficiencies in the underlying system).

> I think that any company that chooses to use Sage instead of buying
> Mathematica would be unlikely to do so because Sage is open-source and
> can therefore be "verified". While Sage might be free, the expense of
> that company in hiring a person to check the verification would be
> substantial, and probably pointless. Proving that a program matches a
> specification or some other indication of correctness is not something
> done casually or cheaply. Verifying a program's result (whether from
> Mathematica, Maple, or Maxima)
> is typically done by quite other means than examining the code that
> produced it.

I've looked at code, and not just Sage code, to decide if I want to
trust the results. Sometimes I don't. Of course, trust start's
somewhere (I trust my FPU...) but at least I have a choice. Most
companies don't care about proofs, but researchers, especially in
mathematics, do.

Openness is more than about verification (formal or not), it's about
being able to understand, extend, adapt, and fix as well. We're
targeting researchers, teachers, and students, not just commercial
companies.

> I can recall no instance of a published program proof
> in symbolic computation for any non-trivial algorithm. Repeated
> proofs of the Extended Euclidean Algorithm (GCD) don't make the grade.

Again, you're limiting yourself to thinking about symbolic computation.

> Someone who has the choice between Mathematica and Sage may very well
> think:
>
> Oh Mathematica or Matlab or ... costs $X and I just load it on my
> machine(s).
> Oh Sage costs $0, and I have to designate a technician to compile and
> install it on my machines at expense $Y. Is Y>X ?

I am offering my services to download a tarball and type "make" on
anyone's system for half the cost of a Mathematica or Matlab license--
your money back if it doesn't install correctly. X/2 < X (for positive
values of X, which is a safe assumption here). That wouldn't just be
altruistic, it'd be a pretty good hourly rate :).

Look at Maxima and Macsyma, which one is alive and well now?

> more likely a decision will be made on the basis of persons in the
> company asking for one or the other, based on the availability of
> library of application code, or programs written by colleagues in that
> particular language (mathematica, python, matlab).
> Thus someone doing signal processing calculations will likely choose
> the system with the best signal processing library.

I would hope so.

> Is that Sage?

For signal processing, probably not yet (though SciPy, included in
Sage, is widely used), but I hope some day it will be. But for other
areas (e.g. computations related to elliptic curves) I would say yes.

- Robert

rjf

unread,
Nov 24, 2009, 4:56:01 PM11/24/09
to sage-devel


On Nov 24, 12:37 pm, William Stein <wst...@gmail.com> wrote:

> >(RJF) Thus someone doing signal processing calculations will likely choose
> > the system with the best signal processing library.
>
> >(RJF) Is that Sage?
>
>(WS) Is that Maxima?

Unlikely.
Matlab has a popular signal processing library.
http://www.mathworks.com/products/signal/
Mathematica has this:
http://demonstrations.wolfram.com/topic.html?topic=Signal+Processing&limit=20
Sage has (from google search). Nada.
It is hard to search precisely for maxima + signal processing because
the name chosen for the GPL version of Macsyma
is a relatively common word in science. I am not aware of any signal
processing software for Maxima, though there are
some wavelet programs.

So the choice would probably be between Matlab and Mathematica.

Of course if Maxima had a signal processing library, so would Sage,
since Sage includes Maxima.

RJF

mhampton

unread,
Nov 24, 2009, 5:26:19 PM11/24/09
to sage-devel
I don't think there is really a question that Matlab is the leader for
signal processing. Sage does include some functionality for it
through scipy's signal module:

http://docs.scipy.org/doc/scipy/reference/signal.html

which has been all I have needed (but I don't do much signal
processing).

-Marshall

On Nov 24, 3:56 pm, rjf <fate...@gmail.com> wrote:
> On Nov 24, 12:37 pm, William Stein <wst...@gmail.com> wrote:
>
> > >(RJF) Thus someone doing signal processing calculations will likely choose
> > > the system with the best signal processing library.
>
> > >(RJF) Is that Sage?
>
> >(WS) Is that Maxima?
>
> Unlikely.
> Matlab has a popular signal processing library.http://www.mathworks.com/products/signal/
> Mathematica has this:
> http://demonstrations.wolfram.com/topic.html?topic=Signal+Processing&...

rjf

unread,
Nov 24, 2009, 6:13:54 PM11/24/09
to sage-devel


On Nov 24, 12:37 pm, William Stein <wst...@gmail.com> wrote:

> > (RJF) For example, claiming great advantages to rewriting working software
> > in the language du jour (currently, Python).
>
> FUD. Sage does *vastly* more than "rewrite working software".

I did not say that was the only thing that Sage does. And I have no
problem with
people writing new software to do new things using Python or any other
programming
language. And you know that.


>
> (WS) There are clear advantages to Python over Lisp that go far beyond
> marketing hype.  It is perhaps the world's most popular scripting
> language, and certainly in the top 2 or 3.  That does add genuine
> value.

Would you have promoted rewriting Lisp programs into Pascal, in 1980,
when Pascal was
popular?

Regardless, there may be advantages to using Python for writing some
programs that
are more meaningful than popularity, if you are writing programs de
novo.

The argument tend to fade when someone hands you a fully working Lisp
program, and you assert that there is a clear advantage to rewriting
it
in Python. Or having a summer project for a high school student to
rewrite it.

>
> > It is further questionable if the claim is accompanied by  accusations
> > that the old program is slow, when it is
> > technology like pexpect that is the bottleneck, etc etc.
>
> FUD. Maxima is slow at many things, because of very dated algorithms
> and implementation issues. This has little to do with pexpect.   I
> wish Maxima weren't slow (say compared to Magma), since that would
> make my life much easier.

If the Lisp-language algorithm is dated, it can be updated. If the
implementation
of the language (Lisp) is at fault, then maybe it is because Sage has,
until very
recently, been using an inappropriate Lisp implementation (byte
coded). There
are certainly coding tricks that can make some algorithms fast that
may be used
in C, assembler, or Fortran, but are inconvenient in Lisp. That is,
they may best be
resolved by calling the program that was written in C, assembler, or
Fortran.
I imagine it is the same with Sage, Python, GMP, MPFR, etc.


>
>(WS) It's worth pointing out that Sage switched form using Maxima for
> symbolic manipulation to (a massively modified version of) GINAC in
> May 2009.

I find it odd that you say you now no longer use Maxima for symbolic
manipulation
but you use Maxima for symbolic integration. What could you possibly
mean?
Do you mean a trivial simplification of x+x converted to 2*x is now
done without
Maxima? Woohoo!

http://www.ginac.de/  andhttp://pynac.sagemath.org/
> Maxima is used now only for certain specific capabilities not
> available in GINAC, including symbolic integration, formal symbolic
> summation, limits, etc.   But it's not used for basic symbolic
> manipulation anymore.

Of course this is false, because symbolic integration uses a
substantial
amount of "basic symbol manipulation" and that is done in Maxima. So
Maxima is used for basic symbol manipulation. Unless you have somehow
replaced calls to the Maxima simplifer (a Lisp program) to calls to
some
GINAC program, which then would have to return Lisp data structures.



>
> > And it is
> > also hard to give much credit to a system that advertises itself as a
> > new viable alternative to Maple and Mathematica when the fact is that
>
> ^^^^^^^
>
> The statement is "Mission: Creating a viable free open source
> alternative to Magma, Maple, Mathematica and Matlab."   Your assertion
> is wrong on two counts:
>
>   (1) There is nothing about "new" there.

The word "creating" suggests that you are making something new.
as .. "the act of making, inventing, or producing"
http://www.merriam-webster.com/dictionary/creation

Is this discussion productive?


>   (2) There is no claim that Sage *is* a viable alternative yet.
>
> > it often just calls Maxima, already a viable alternative to Maple and
> > Mathematica,
>
> Maxima is not a viable alternative to Maple and Mathematica, for most
> potential users.  I really wish it were.

Actually, for many users of Maxima, I think it is. There are some
people (like me) who
sometimes use Mathematica or Maple, but often I just use wxmaxima.
You should try it sometime.

>
> > a reality that it attempts to conceal (see NSF proposal
> > draft).
>
> I'm not hiding anything.
>
> >   Until something goes wrong, and then it blames Maxima.(see
> > Sage-support).
>
> FUD.  We do not blame Maxima whenever anything goes wrong.

No, you don't blame Maxima for every thing that goes wrong. Please
pardon my hyperbole.




>  There are
> over 800 bugs listed in the Sage trac database, and the *vast
> majority* have nothing to do with Maxima.  We "blame" Maxima when we
> run into a Maxima bug, or a mistake in our understanding of Maxima.

Right.

>
> It is worth noting also that actual Maxima developers (which RJF is
> not these days, so far as I can tell) who have ever communicated with
> anybody involved in the Sage project have been very _supportive_ of
> the Sage project. I'm thinking in particular of Robert Dodier.

It is possible to contribute programs and applications for Maxima
without checking them in yourself to CVS.
>
> > I think that any company that chooses to use Sage instead of buying
> > Mathematica would be unlikely to do so because Sage is open-source and
> > can therefore be "verified".
> > While Sage might be free, the expense of
> > that company in hiring a person to check the verification would be
> > substantial, and probably pointless.  Proving that a program matches a
> > specification or some other indication of correctness is not something
> > done casually or cheaply.  Verifying a program's result (whether from
> > Mathematica, Maple, or Maxima)
> > is typically done by quite other means than examining the code that
> > produced it.   I can recall no instance of a published program proof
> > in symbolic computation for any non-trivial algorithm.  Repeated
> > proofs of the Extended Euclidean Algorithm (GCD) don't make the grade.
>
> The above is the typical kind of statement that comes form somebody
> who doesn't understand mathematical research at all... combined with
> the sort of statement that comes from somebody who doesn't understand
> open source either.

How many companies that buy computer software are in the "mathematical
research" business?
I can think of companies that do engineering research, financial
research, physics research,
biological, chemical, aeronautical, weapons, defense, .... .

Mostly government, I think.

How many mathematicians (that is, people whose title is
"mathematician") are there in the US?
According to the Bureau of Labor Statistics, in the most recent year
for which they provide a number,
in 2006 there were 3,000 mathematicians in the US. three thousand.
see
http://www.bls.gov/oco/ocos043.htm

huh? how could that be? Well, BLS also mentions 54,000
"postsecondary mathematical science teachers".

But anyway, it gives you pause to think how many people might be
professionally or even academically concerned
with, say,
modular abelian varieties and the Swinnerton-Dyer conjecture, and
related computer programs.


>
>     * For mathematicians: Open source addresses the "proof" part of
> research mathematicians curiosity.

The connection between open source and proof of correctness -- or
even the connection between written proof and correctness, is
not as obvious as you might think. For example, many published proofs
have been shown to be incorrect. What is the nature of a convincing
proof? There is certainly a literature on program proofs, but even if
a program were proved correct, how would you prove that it was
executed flawlessly? (one of many questions that could be raised, even
about open source programs.)

Is there philosophically something, how shall we say, "sinister"
about secret programs? Sure. But to say "open source" = "more
reliable"
is nonsense.


>
>     * For companies: open source is something entirely different
> altogether -- it's the power to know they can change the software
> however they want.

Do you think that represents much of a desire on the behalf of
companies?

>
> For some people it's just nice to save money.   Often open source
> software is just solidly better quality and more functionality
> software than anything closed source out there.

Often? Really? It is my impression that there is a huge huge pile of
really crappy open source programs, often attempting to do something
that is nicely done by a proprietary program. There are a few open
source quality projects, often driven by important economic factors or
widespread use. Mathematicians are rarely in the driver's seat, in
these respects.

>  It happens, and most
> of us know examples that we personally use.

Sure, what comes to mind is linux, mozilla, emacs, tex, maxima, gcl,
gmp, mpfr, ntl.
But I also use Maple, Mathematica, Microsoft Word, Microsoft .net,
Microsoft speech SDK, tablet SDK, visual C++, Adobe Acrobat, Windows,
Photoshop, Turbotax, Itunes, Skype, Allegro Common Lisp .....
>
I can't say that I have ever puzzled over Photoshop, thinking that if
I only had the source code I could rely on it more.
RJF


rjf

unread,
Nov 24, 2009, 6:53:04 PM11/24/09
to sage-devel


On Nov 24, 1:07 pm, Robert Bradshaw <rober...@math.washington.edu>
wrote:
> On Nov 24, 2009, at 12:10 PM, rjf wrote:
>
>
>
> No one is claiming that there aren't (gross) inefficiencies in the  
> system, but I am one of many who subscribe to the belief that most of  
> the time completion provides better results than the lack thereof.
(competition)..

I think that there are some advantages to competition sometimes, too.
So does AMD, and that's why Intel paid it 1.5 billion dollars :)

>
> My goal is not to put the Ma's out of business, but I strongly feel  
> having an open alternative is important.

Sure, and what is the best way to do that?

>
>
> The fact that you're chosen field doesn't require any math beyond what  
> Maxima can do greatly colors your perspective. Sage, and even Maple  
> and Mathematica are about much more than symbolic manipulation.

The question then, is if you have some new item to contribute, say
some
elliptic curve based computation, but you need some symbolic
manipulation
to set up the calculation, how should you do it?
1. Use maxima, and call your program, or if it must be in another core
image, link to it somehow
2. Rewrite maxima, and call your program ...

>
> The fact that Maxima comes up so often in sage-support is both due to  
> the popularity of doing calculus (nearly every college freshman out  
> there)

Yes. Mathematicians (as a profession) are relatively rare. See my
previous note and BLS data.

> and the fact that doesn't work well (sometimes because of the  
> wrapper, sometimes because of deficiencies in the underlying system).

Well, anyone is welcome to make Maxima better, if that is the problem.

> Of course, trust start's  
> somewhere (I trust my FPU...)

You do? Even after the Intel fiasco?

> but at least I have a choice. Most  
> companies don't care about proofs, but researchers, especially in  
> mathematics, do.

Probably fewer than you think. You might care. I might care.

>
> Openness is more than about verification (formal or not), it's about  
> being able to understand, extend, adapt, and fix as well. We're  
> targeting researchers, teachers, and students, not just commercial  
> companies.

If you spend your time satisfying the researchers, will the commercial
companies
just come along free at the same time? Maybe they too were interested
in
number theory, but just didn't realize it.


>
> > I can recall no instance of a published program proof
> > in symbolic computation for any non-trivial algorithm.  Repeated
> > proofs of the Extended Euclidean Algorithm (GCD) don't make the grade.
>
> Again, you're limiting yourself to thinking about symbolic computation.

OK, can you cite papers in which a computer program was formally
proved correct, based on
its source code, presumably displayed in a published journal, when it
was computing some mathematical
result?

My skepticism on this is not based on any particular search in the
mathematical literature, but
on the difficulty of constructing proofs e.g. in systems like HOL,
IMPS, NQTHM. It is possible
to find computer-generated proofs of mathematics theorems. I have not
seen computer-generated
proofs of programs that implement mathematics algorithms. But maybe I
haven't looked it the right place?

>
> > Someone who has the choice between Mathematica and Sage may very well
> > think:
>
> > Oh Mathematica or Matlab or ... costs $X and I just load it on my
> > machine(s).
> > Oh Sage costs $0, and I have to designate a technician to compile and
> > install it on my machines at expense $Y.  Is Y>X ?
>
> I am offering my services to download a tarball and type "make" on  
> anyone's system for half the cost of a Mathematica or Matlab license--
> your money back if it doesn't install correctly. X/2 < X (for positive  
> values of X, which is a safe assumption here). That wouldn't just be  
> altruistic, it'd be a pretty good hourly rate :).

Depends on the download rate, and the memory and speed of the CPU,
doesn't it?
Is Sage really 800 megabytes?
>
> Look at Maxima and Macsyma, which one is alive and well now?

I'm not sure this is an open/closed source issue. Macsyma Inc. was
poorly
run, and it also was somewhat ahead of its time. Few computers could
run Macsyma,
initially. When Mathematica was released, many computers could run
it.
Mathematica, a closed source system, is alive and well.

As the person primarily responsible for making MIT surrender a source
code
copy of Macsyma to the US Dept. of Energy library, I think there is a
moral obligation for
MIT to allow researchers and others to see the software results of
public funding.
When DOE-Macsyma was first released as open source, it languished for
a while,
and in fact commercial Macsyma was much more widely used. It took a
number of
steps and a number of years for DOE-Macsyma (unfortunately named
"maxima" -- a
really bad name unless you own a Nissan) to come to some prominence.
It took some
hard work by Bill Schelter to make an appropriate platform (now GCL)
for the code.
A number of other people (including me) worked with Bill to get that
working. Since
Bill's untimely death, other people have stepped up to work on various
aspects of the
code, to distribute it, etc.

I think that if you were to try to make an open/closed computer
algebra software comparison,
you would have to address why Mathematica seems to have been
successful even though
it was in many respects (initially) not as good as other software.
(Flashy graphics is,
I think, part of the answer. Hype by Steve Jobs and the NY Times
helped, too.)


>
> For signal processing, probably not yet (though SciPy, included in  
> Sage, is widely used), but I hope some day it will be. But for other  
> areas (e.g. computations related to elliptic curves) I would say yes.

I don't know what an industrial application of elliptic curves would
look like.
Or if it would really require Sage, or just some C program.

I supplied some links to signal processing in a previous message. I
would
be surprised if Sage or SciPy significantly penetrated that area or
any of
the huge number of toolkits or toolboxes or whatever they are called,
where
people (apparently) pay good money for Matlab or Mathcad libraries
today.

Mathematica and Maple have been trying to do that for a while.
Yeah,yeah,
but they aren't free. Time will tell.

RJF
Reply all
Reply to author
Forward
0 new messages