Re: Richard Fateman's queasiness regarding Sage

97 views
Skip to first unread message

William Stein

unread,
May 26, 2008, 9:08:52 PM5/26/08
to sage-...@googlegroups.com
Hi,

It's a bit silly because Tom sent his response to Fateman
only to sage-devel, and I sent my response only to the Maxima
list. So here's my response. Don't read further if you're tired
of all this RJF stuff....

Richard Fateman:
> Lots of separate points I'd like to make, here.
> * Will Sage fail or not? [...]

Sage will not fail.

> * My expectation is that people who want to access Maxima
> should use Maxima through an interface that supports
> ALL components of Maxima.

One can use all the functionality of Maxima with Sage.

> Attaching pieces of code via pseudo-ttys
> in Python does not sound like a robust engineering technique.
> * If you or WS thinks that porting Maxima to ECL improves Maxima in any
> substantive way,

It will address robustness issues with pseudo-ttys.

> you are entitled to your opinion, but to the extent that
> people knowledgeable about Maxima are diverted to debugging
> yet another lisp implementation, it is a distraction from forward
> progress in Maxima, at least in my opinion.

How many people contributed to the Maxima codebase
in the last month?

> What William Stein may be saying (or rather not saying) is that yes, there
> are all these other programs that you can download free and run as
> alternatives to the named programs, but we won't mention them since they
> are, in terms of our philosophy not VIABLE!

I mention those other systems regularly, and list them here:
http://sagemath.org/components.html

> Eh? By the SAGE DEFINITION a system is NOT VIABLE if you cannot compile all
> the components from scratch on your computer with free software. Even if you
> can do it, the system STILL MAY NOT BE VIABLE if there is someone else who
> can't compile it from scratch on one of HIS computers.

The definition of "viable" varies hugely from person to person, so I
listen to a wide
range of users and potential users about what they need.

> It seems that this definition of viability, not power, usefulness,
> generality, or even free, open-source, etc, is one (if not the principal)
> key to the justification for Sage.

That is ludicrous.

> VIABILITY apparently is the reason that
> (say) Maxima and Axiom and Xcas are not acceptable alternatives to
> Mathematica or Maple, but Sage is.

Sage is not an acceptable alternative to Mathematica ane Maple (yet).

> * Instead of finding a remedy to some bug in Maxima or Axiom, or add
> features that provide value beyond that available in Maple or Mathematica,
> or Magma or Matlab, staff will be devoted to fulfilling an essentially
> political statement about free speech.

Instead of working on Maxima or Axiom, "my staff" would
be doing data entry, menial systems administration work,
grading papers, etc.; this would be what they would be doing if
I hadn't done the legwork to get them funded to work on Sage
this summer.

> ...
> Anyway this fast algebra stuff is (probably) not based on some wobbly
> political consideration.

> Am I reading the mission statement wrong?

Yes.

> It might be that Sage is targeted particularly to those people who
> require 2 or more of Mathematica, Matlab,
> Maple, Magma, and that therefore no SINGLE existing solution except for
> texmacs that comes immediately to mind. I don't think so.

Texmacs is definitely not a solution for using multiple systems together;
it is an amazing system for typesetting mathematics and recording typeset
versions of interactive sessions, but that is all.

My personal research in the last week has involved all of the following
in related computations:

* data acquisition -- gather data from the stock market (via
Python's urllib),
* statistics -- statistical analysis of data, e.g., computing
correlation matrices and
distributions (using scipy, numpy and R)
* number theory -- computing arithmetic invariants of elliptic
curves; computing
with Heegner points of and L-functions.
* visualization -- drawing 2d and 3d graphics; drawing fractals
* symbolic calculus -- symbolic integration to find a cumulative
distribution function
* numerical computation -- some root finding and optimization
* notebook interface / interact -- for interactively working with
all of the above graphically

No single existing solution that you've listed would come close to addressing
all of the above.

> But let us look at some new stuff. One of the Sage employees is funded by
> Google/NSF to do "symbolic Calculus".
> Now I do not know the person (Gary Furnish) nor the problems being addressed
> specifically, but I found in http://sagemath.blogspot.com/ that the goal for
> this project is [...] Is this research or just fiddling?

It doesn't matter, because when the summer is over Gary -- who is an
undergrad -- will
have learned a lot from his experience working on Sage.

> Another employee is funded to work on plotting. All I can say is, Again?

That "employee" is Elliott Brossard who is currently a high school student, and
who would really like to get involved with something related to research soon,
instead of just being a face in the crowd when he starts as a freshman
next Fall.
Are you honestly criticizing a high school student for working on Sage because
he is doing something that is not pushing forward the frontiers of research
is computer algebra?

> * Now tom boothby at u.washington.edu thinks Sage is here to stay (only time
> will tell), and that I am trying to turn the Maxima community against Sage.
> No, I am concerned that people will be spending their time and energy, not
> at the edges of what is known, but duplicating, re-programming, and
> debugging the well-known central constructive parts of computer algebra,
> graphical user interfaces, plotting, etc. While there may occasionally be
> technical advantages to taking a fresh look at these pieces, the driving
> forces in Sage do not seem to be primarily technical or scientific, but
> philosophical and political.

The driving forces in Sage are primarily technical and scientific.

> Some time ago I tried KDE or some such system that booted and ran entirely
> from a CD. That allowed me to run some scientific software without having to
> mess up my disk (filled with Windows), but I think that for Sage, it fails
> to be viable.

It sounds like you used that system once or twice and never used
it again. Think about why. I rest my case.

> * Now it could be that "the world" does not need more technical advances in
> CAS, and that what it really needs is whizzy plotting and a charismatic
> eccentric spokesman. ooh, Stephen Wolfram did that, and made it into a
> business. Or it could be that what it needs is,um, some <describe Sage here,
> python OO GUI internet software engineering> thingee. Maybe.

I can't speak for the world, but I personally need both
technical advances in CAS and I needs whizzy plotting.

> Conclusion:
> I think that people with the skill set for advancing computer algebra
> systems and scientific computing generally are unusual, and that (after an
> educational process that may involve courses, reading, programming), such
> people should be encouraged to advance the state of the art, not duplicate it.

I think that every single person reading this email should do something
to improve the available tools for mathematical software, and
I *strongly* encourage them to do so in whatever way they best can,
be that taking a fresh view on something already done (e.g., symbolic
integration, plotting, etc.), advancing the state of the art, carefully
reporting bugs, or starting a company (like Wolfram did).


-- William

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

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

mhampton

unread,
May 26, 2008, 10:18:49 PM5/26/08
to sage-devel
I'd just like to state for the record that I got involved with Sage
for purely technical reasons initially - I needed some packages that I
couldn't compile, and some William Stein guy had a nice build system
that included those. As I have become more involved, I've become more
convinced of the importance of free, open-source math software, but
that really had nothing to do with my initial enthusiasm. So I find:

> No, I am concerned that people will be spending their time and energy, not
> at the edges of what is known, but duplicating, re-programming, and
> debugging the well-known central constructive parts of computer algebra,
> graphical user interfaces, plotting, etc. While there may occasionally be
> technical advantages to taking a fresh look at these pieces, the driving
> forces in Sage do not seem to be primarily technical or scientific, but
> philosophical and political.

...almost personally offensive. But I really enjoy reading the
responses.

Maybe another personal note: I had never contributed to any software
project before Sage, except as an employee. If Sage makes it easy for
mathematicians to help develop, and they wouldn't have otherwise,
there is no splitting of effort. Its just a huge gain for the world
of mathematical software.

-Marshall Hampton
University of Minnesota, Duluth
> > specifically, but I found inhttp://sagemath.blogspot.com/that the goal for
> University of Washingtonhttp://wstein.org

rjf

unread,
May 27, 2008, 1:42:23 AM5/27/08
to sage-devel
OK, I'll log in via gmail and respond here..
RJF

On May 26, 6:08 pm, "William Stein" <wst...@gmail.com> wrote:
> Hi,
>
> It's a bit silly because Tom sent his response to Fateman
> only to sage-devel, and I sent my response only to the Maxima
> list. So here's my response. Don't read further if you're tired
> of all this RJF stuff....
>
> Richard Fateman:
>
> > Lots of separate points I'd like to make, here.
> > * Will Sage fail or not? [...]
>
> Sage will not fail.

Especially if you don't define the term. If I say fail means "Sage is
not a viable alternative to Mathematica", and viable alternative
mean "every computation that can be done with a single command in
Mathematica can be done in the same single command in Sage", then
what would you say? Say in 5 years? Mathematica hm, maybe would be
version 11 or so?


>
> > * My expectation is that people who want to access Maxima
> > should use Maxima through an interface that supports
> > ALL components of Maxima.
>
> One can use all the functionality of Maxima with Sage.

I was thinking in particular of less tty-oriented stuff, e.g.
interactive 3-D plotting (standard), and pen-based handwritten input
(not generally distributed) and voice output (at least on my version).
Perhaps Sage could pass this along to Maxima?
Certainly it would have to allow direct use of the underlying Lisp
debugging, profiling system, with appropriate interrupt handling. Nice
to have your assurances on all this.)
>
> > Attaching pieces of code via pseudo-ttys
> > in Python does not sound like a robust engineering technique.
> > * If you or WS thinks that porting Maxima to ECL improves Maxima in any
> > substantive way,
>
> It will address robustness issues with pseudo-ttys.

whatever you say.


>
> > you are entitled to your opinion, but to the extent that
> > people knowledgeable about Maxima are diverted to debugging
> > yet another lisp implementation, it is a distraction from forward
> > progress in Maxima, at least in my opinion.
>
> How many people contributed to the Maxima codebase
> in the last month?

I don't know, but presumably someone who wants to look at the CVS on
sourceforge could figure it out. Why does it matter? You seem to think
that Maxima is some kind of static code, which it is not.
>
> > What William Stein may be saying (or rather not saying) is that yes, there
> > are all these other programs that you can download free and run as
> > alternatives to the named programs, but we won't mention them since they
> > are, in terms of our philosophy not VIABLE!
>
> I mention those other systems regularly, and list them here:
> http://sagemath.org/components.html

Yes, but your mission statement suggests that Sage differs from
previous projects in that it would provide a free viable open source
alternative to .. Mathematica, Maple .... Yet it seems that for
symbolic applied mathematics of the Mathematica kind, you are simply
passing along commands to the already free open source Maxima system.
So I assumed that somehow you were making a distinction between Sage
and Maxima based on "viable".
>
> > Eh? By the SAGE DEFINITION a system is NOT VIABLE if you cannot compile all
> > the components from scratch on your computer with free software. Even if you
> > can do it, the system STILL MAY NOT BE VIABLE if there is someone else who
> > can't compile it from scratch on one of HIS computers.
>
> The definition of "viable" varies hugely from person to person, so I
> listen to a wide
> range of users and potential users about what they need.

Of course the definition of viable varies from person to person.
However, for the Sage project it seemed to me to be defined by you, as
a basic design principle, in terms of "normal" peoples' computers. A
component that cannot be built from source easily is disallowed. I
thought that
your term for a component that fulfills this obligation is viable. Do
you have another term for this?

If you meant by "viable" just "it runs on some computer", then maybe
it means nothing much?

I assumed that you were eliminating some interesting programs based on
this criterion, e.g. Axiom, Maxima on its usual compiled GCL or SBCL
base.

>
> > It seems that this definition of viability, not power, usefulness,
> > generality, or even free, open-source, etc, is one (if not the principal)
> > key to the justification for Sage.
>
> That is ludicrous.

Well, I apparently misunderstood what you meant by viable. A
mathematician should define his terms!
>
> > VIABILITY apparently is the reason that
> > (say) Maxima and Axiom and Xcas are not acceptable alternatives to
> > Mathematica or Maple, but Sage is.
>
> Sage is not an acceptable alternative to Mathematica ane Maple (yet).

And you have no comment on Axiom?
As for Sage not being an alternative for Mathematica .... I agree.
But to get from here to there, what is the Sage project plan?
To rewrite and then extend Maxima's capabilities in python?
To hire and educate high school students during the summer on
plotting? (I have nothing against educating high school students, just
that they rarely advance the state of the art.)

>
> > * Instead of finding a remedy to some bug in Maxima or Axiom, or add
> > features that provide value beyond that available in Maple or Mathematica,
> > or Magma or Matlab, staff will be devoted to fulfilling an essentially
> > political statement about free speech.
>
> Instead of working on Maxima or Axiom, "my staff" would
> be doing data entry, menial systems administration work,
> grading papers, etc.; this would be what they would be doing if
> I hadn't done the legwork to get them funded to work on Sage
> this summer.

Well, if they are reprogramming elementary features of Maxima in
python, it might not be
especially meaningful work. Perhaps personally educationally helpful,
but from the standpoint of getting closer to building an alternative
to Mathematica, not especially meaningful.

>
> > ...
> > Anyway this fast algebra stuff is (probably) not based on some wobbly
> > political consideration.
> > Am I reading the mission statement wrong?
>
> Yes.

Maybe then it should be clarified, at least for the "traditional CAS"
crowd who are looking for an alternative to M,M,M..
>
> > It might be that Sage is targeted particularly to those people who
> > require 2 or more of Mathematica, Matlab,
> > Maple, Magma, and that therefore no SINGLE existing solution except for
> > texmacs that comes immediately to mind. I don't think so.
>
> Texmacs is definitely not a solution for using multiple systems together;
> it is an amazing system for typesetting mathematics and recording typeset
> versions of interactive sessions, but that is all.

Interactive sessions with several different back ends.
If I understand your model of interaction, you do something very
similar, except instead of using typesetting, you use strings.


.. snip...
>
> No single existing solution that you've listed would come close to addressing
> all of the above.

I personally have no problem using 2 or more different program.

>
> > But let us look at some new stuff. One of the Sage employees is funded by
> > Google/NSF to do "symbolic Calculus".
> > Now I do not know the person (Gary Furnish) nor the problems being addressed
> > specifically, but I found inhttp://sagemath.blogspot.com/that the goal for
> > this project is [...] Is this research or just fiddling?
>
> It doesn't matter, because when the summer is over Gary -- who is an
> undergrad -- will
> have learned a lot from his experience working on Sage.

That sounds nice for Gary.
>
> > Another employee is funded to work on plotting. All I can say is, Again?
>
> That "employee" is Elliott Brossard who is currently a high school student, and
> who would really like to get involved with something related to research soon,
> instead of just being a face in the crowd when he starts as a freshman
> next Fall.
> Are you honestly criticizing a high school student for working on Sage because
> he is doing something that is not pushing forward the frontiers of research
> is computer algebra?

Are you honestly criticizing me for saying that writing yet another
(presumably naive!) plotting program is maybe not the best way to make
Sage better? I hope Elliot has a good summer.

>
> > * Now tom boothby at u.washington.edu thinks Sage is here to stay (only time
> > will tell), and that I am trying to turn the Maxima community against Sage.
> > No, I am concerned that people will be spending their time and energy, not
> > at the edges of what is known, but duplicating, re-programming, and
> > debugging the well-known central constructive parts of computer algebra,
> > graphical user interfaces, plotting, etc. While there may occasionally be
> > technical advantages to taking a fresh look at these pieces, the driving
> > forces in Sage do not seem to be primarily technical or scientific, but
> > philosophical and political.
>
> The driving forces in Sage are primarily technical and scientific.
>
> > Some time ago I tried KDE or some such system that booted and ran entirely
> > from a CD. That allowed me to run some scientific software without having to
> > mess up my disk (filled with Windows), but I think that for Sage, it fails
> > to be viable.
>
> It sounds like you used that system once or twice and never used
> it again. Think about why. I rest my case.

I don't recall the situation exactly. I certainly did not discard it
because I could not easily build it from source on my own computer,
and that is the point I was trying to make in my statement just above.

>
> > * Now it could be that "the world" does not need more technical advances in
> > CAS, and that what it really needs is whizzy plotting and a charismatic
> > eccentric spokesman. ooh, Stephen Wolfram did that, and made it into a
> > business. Or it could be that what it needs is,um, some <describe Sage here,
> > python OO GUI internet software engineering> thingee. Maybe.
>
> I can't speak for the world, but I personally need both
> technical advances in CAS and I needs whizzy plotting.

Well, you may not get either soon, now that I know that Elliot is a
high school student, and apparently no one is working on the
"alternative to Mathematica" issue.

>
> > Conclusion:
> > I think that people with the skill set for advancing computer algebra
> > systems and scientific computing generally are unusual, and that (after an
> > educational process that may involve courses, reading, programming), such
> > people should be encouraged to advance the state of the art, not duplicate it.
>
> I think that every single person reading this email should do something
> to improve the available tools for mathematical software, and
> I *strongly* encourage them to do so in whatever way they best can,
> be that taking a fresh view on something already done (e.g., symbolic
> integration, plotting, etc.), advancing the state of the art, carefully
> reporting bugs, or starting a company (like Wolfram did).

I would only add that learning about how existing systems work is
often educational. There is an old saying, something like ... spending
weeks programming can save 30 minutes in the library.
RJF

William Stein

unread,
May 27, 2008, 2:12:48 AM5/27/08
to sage-...@googlegroups.com
On Mon, May 26, 2008 at 10:42 PM, rjf <fat...@gmail.com> wrote:
> OK, I'll log in via gmail and respond here..
> RJF

[... a bunch of stuff ... ]

I'm not going to respond further to this thread, because it is
doing more harm than good. I respectfully would like to call a
close to this thread of discussion.

Thank you,
William

tuxiano

unread,
May 27, 2008, 10:11:08 AM5/27/08
to sage-devel
First they ignore you,
then they laugh at you,
then they fight you,
then you win.

They are fighting us, so the win shouldn't be far away.

Tuxiano

On May 27, 8:12 am, "William Stein" <wst...@gmail.com> wrote:

rjf

unread,
May 27, 2008, 11:54:51 AM5/27/08
to sage-devel
Since you don't want to answer the questions posed, I guess it is time
to stop posing them.
bye.

On May 26, 11:12 pm, "William Stein" <wst...@gmail.com> wrote:
Reply all
Reply to author
Forward
0 new messages