example of a Mathematica program from my lecture

57 views
Skip to first unread message

Ondrej Certik

unread,
Dec 20, 2007, 3:39:47 PM12/20/07
to sage-...@googlegroups.com
Hi,

today I was attending a Lie group lecture and the teacher Karel Houfek
wrote the attached program in Mathematica
to calculate some Lie groups generators etc. So my first question was
if I can make it public
and with his permission I am sending it here.

I think Sage should be able to do it as well, only it has to be
rewritten in Python. I think William was
asking me what kind of stuff people do in Mathematica. So this kind of stuff.

However, the biggest problem is the 2GB space for the windows wmware
image. (Yes, all people I know that
use Mathematica, use it from windows). Two of my friends told me Sage
is just too big for them and I agree.
If Michael and others succeed in a native Windows port, needing just
couple hundreds MB, then Sage
will be a killer app.

Mainly because of bringing a matlab/mathematica like Python IDE to all
those people at universities.
Sage is really doing a fantastic job to the whole Python community. So
I hope it will be accepted under
the umbrella of PSF for the google summer of code.

Ondrej

Point.Symmetries-Classical.Kepler.Problem-2D.nb
print.pdf

Ondrej Certik

unread,
Dec 20, 2007, 3:41:32 PM12/20/07
to sage-...@googlegroups.com

If not as a standalone mentor organisation. You should definitely try
it again William.

Ondrej

William Stein

unread,
Dec 20, 2007, 4:52:20 PM12/20/07
to sage-...@googlegroups.com
On Dec 20, 2007 1:39 PM, Ondrej Certik <ond...@certik.cz> wrote:
> However, the biggest problem is the 2GB space for the windows wmware
> image. (Yes, all people I know that
> use Mathematica, use it from windows). Two of my friends told me Sage
> is just too big for them and I agree.
> If Michael and others succeed in a native Windows port, needing just
> couple hundreds MB, then Sage
> will be a killer app.

Vmware is not the reason the install is so big. It could be made much smaller
if anybody besides me were interesting putting some serious work into it.
I think the result would be comparable to anything one could do with
a native port. In fact, it could easily be _bigger_. The sage-vmware image
is 2GB now because:

(1) I use Ubuntu linux instead of something like DSL (Damn Small Linux)

(2) The base installation disk is not a compressed file system, but
it could be.
If it were, Sage and all the OS stuff would automatically be decompressed on
the fly -- thus the result could easily be smaller than a native
windows install.

(3) I do not think it is my place to put a lot of time into the
sage-vmware virtual
machine, and nobody has yet volunteered to make it their project.

I used to make a much smaller sage-vmware image, and it even included a GUI;
but of course using DSL is less plush than using Ubuntu, and _surprisingly_ few
people complain about the size of the sage-vmware image.

I want to emphasize again very strongly that very little effort has
gone into the
sage-vmware image -- it's just enough to get the job done and nothing more.

Creating and maintaining a native windows port is vastly more difficult
than making the sage-vmware machine small.

That said I'm all for a native windows port! I just think we need to do it for
the right reasons, and also hope somebody will put some work into improving
running Sage under windows via virtualization.

-- William

>
> Mainly because of bringing a matlab/mathematica like Python IDE to all
> those people at universities.
> Sage is really doing a fantastic job to the whole Python community. So
> I hope it will be accepted under
> the umbrella of PSF for the google summer of code.
>
> Ondrej
>
> >
>

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

harald schilly

unread,
Dec 21, 2007, 5:56:59 AM12/21/07
to sage-devel


On Dec 20, 9:39 pm, "Ondrej Certik" <ond...@certik.cz> wrote:

> If Michael and others succeed in a native Windows port, needing just
> couple hundreds MB, then Sage
> will be a killer app.

But please don't forget, sage is about open source - and windows is
the complete opposite. Supporting all modules native for win32 is
impossible, drains off a lot of worktime and using cygwin as an
intermediate solution makes it slow, besides additional constant
work!
So i would suggest an additional workstation and run the linux version
and access it over the local network. Therefore nobody has to install
an application in windows and the entry level is 0.

h

Ondrej Certik

unread,
Dec 21, 2007, 6:18:00 AM12/21/07
to sage-...@googlegroups.com

Those people will imho not install a linux anytime soon. But after
discussing this on #sage-devel,
a reasonable compromise is to provide small wmware image, full wmware
image, and of course,
optionally a native windows port - but as you say, it drains off resources.

Ondrej

mabshoff

unread,
Dec 21, 2007, 7:18:11 AM12/21/07
to sage-devel
On Dec 21, 11:56 am, harald schilly <harald.schi...@gmail.com> wrote:
> On Dec 20, 9:39 pm, "Ondrej Certik" <ond...@certik.cz> wrote:
>
> > If Michael and others succeed in a native Windows port, needing just
> > couple hundreds MB, then Sage
> > will be a killer app.
>

Hi,

> But please don't forget, sage is about open source - and windows is
> the complete opposite.

[begin rant] Well, we support OSX, too, and that isn't exactly Open
Source either. While Apple itself is somewhat more friendly to the
Open Source idea than Microsoft on the software side you shouldn't
forget that Apple is the company which brought you DRM and
"unprotected" tracks which just happen to contain a number that tracks
individual users via iTunes. The iPod isn't exactly a poster child for
openness, either. I could bash Apple for another couple paragraphs,
but I am sure you get my point.

There are different opinions about what Open Source constitutes, but a
lot of people like William and me think for example that Firefox has
done more for the Open Source idea to the layperson than Linux ever
will. I am a huge supporter of Linux and Open Source in general,
having first installed Linux from a set of roughly 50 floppy discs
pulled over many nights via a 14.4KB download link in the early to mid
nineties and running it as my primary desktop OS to this day. Having
cross platform applications is a big plus, but more on that below.
What is the point in telling people not to use Windows, but to lock
them into Linux or OSX on the other hand?

> Supporting all modules native for win32 is
> impossible, drains off a lot of worktime and using cygwin as an
> intermediate solution makes it slow, besides additional constant
> work!

Cygwin is certainly a crutch, but a native port has many advantages,
namely 64 bit support. Just ask for example the Singular team if they
want a 64 bit native port of their application using MSVC. I can
assure you that they would be quite happy if somebody did the work. If
things work out as planned on my end I will certainly try to make that
happen. In the end we will all win if Sage and its components work
well on *all* operating systems.

> So i would suggest an additional workstation and run the linux version
> and access it over the local network. Therefore nobody has to install
> an application in windows and the entry level is 0.

The vast majority of users on the desktop use Windows and do not have
access to Linux or OSX. Probably most of them don't even want to
switch. The VMWare image to run Sage on Windows is fine for many
users, but many people will not use it because they lack the skill to
even set up networking and run a VMWare machine. Windows has excelled
at being good enough, and Microsoft will be *the* dominating desktop
operating system for easily the next decade. While the install base of
Linux is growing quicker in relative terms the absolute increase of
Windows desktops each year *dwarfs* the Linux desktop install base. So
while some people do extrapolate those exponential growth rates for
the Linux desktops a couple years into the future the server market
has clearly shown that those exponential growth rates fairly quickly
turn into an linear increase fairly quickly. So world domination for
Linux on the Desktop any time soon? I don't think so.

I like to point out that extrapolation without understanding the
situation is very dangerous. By that measure the Women's world record
for the 100 meter dash will be lower than the Men's record by the
middle of this century assuming linear extrapolation of the
performance over the last two decades or so. One can easily see that
this is unlikely to happen and the main reason behind the relative
better improvements on that particular benchmark is either a
professionalization of Women's field & track [in relative terms] or
that doping with steroids has a larger affect on Women in that
particular discipline. The truth probably lies somewhere in the
middle. But eventually the improvements on the Women's side will level
off just like it happened for the Men. And even today it is in my not
so humble opinion impossible to lower that record for either sex
without massive doping, but I don't want to rant on about that topic
here.

To get somewhat closer to on-topic again: Another target group for
Sage is the general educational sector [by which I mean high schools
and non-major math college education, not professional mathematicians,
graduate students in math and so on] which is primarily Windows and
while a Sage notebook server certainly make sense in that context [a
bunch of clients working on a powerful central server] many people
will not use Sage because it isn't a native Windows installation with
either a MSI installer or some executable to click on and install.
There are still loads of people out there, especially in the
"management" layer, who think that Microsoft offers the better deal
because you have somebody to point the finger at if anything goes
wrong. Obviously after actually reading the EULA those people should
be embarrassed, but that is besides the point. And many shops run
homogeneous networks to keep costs down and limit the areas where they
need expertise. I don't think those are valid points, but we have to
work with the situations that is often called "reality", not what the
situation we would like to be in. We do not have a 30 year horizon,
we want to compete *now* and to do that successfully we need a native
port, the sooner the better.

As mentioned above I think that cross platform code makes Open Source
independent of the underlying operating system which is much more
important than a somewhat purist opinion that excludes the majority of
the target audience just because they "haven't seen the light yet."
This rant is not intended to flame you, I am just sick and tired of
people like Fefe who think that everybody needs to switch to a pure
Open Source OS like Linux [if you want to be amused ask the OpenBSD
people people whether they think Linux is truly free] to be eligible
to run Open Source applications. Open Source *in my book* is about
*choice* and if one wants to run Sage natively instead any of the big
Ms on Windows more power to that person. That choice to run Sage on
Windows is way more important *in my book* than some ill guided
arguments that catering to the "evil M$ empire" [please note that I
consider the use of "M$" childish and again: you didn't express that
position] will stop people from starting to use Linux because they can
use all those cool Open Source applications like Firefox on Windows.
The vast majority of users will finally see that Open Source works
because of Firefox, not be kept on Windows because they can use it
there. They may switch, they may not switch, but at least they might
have learned something in the process.

In the end feel free to disagree with me, and many people certainly
do. Me spending my time on a native Windows port doesn't hurt anybody
out there, except that there is some cost of opportunity since I
didn't spend my time on fixing some bug in Sage I could have worked on
in that time. But it is my experience that porting code exposes bugs
that will hit you sooner or later on the platform you already run on.
I have been porting Software to and from Windows, OSX, Linux, Solaris,
HPUX and so on for many years now and in my experience those ports
always increase the quality of the code.[end rant]

> h

Cheers,

Michael

Ondrej Certik

unread,
Dec 21, 2007, 7:48:31 AM12/21/07
to sage-...@googlegroups.com
On Dec 21, 2007 1:18 PM, mabshoff

I agree with you 100%.

Ondrej

David Harvey

unread,
Dec 21, 2007, 8:42:09 AM12/21/07
to sage-...@googlegroups.com

On Dec 21, 2007, at 7:18 AM, mabshoff wrote:

>> But please don't forget, sage is about open source - and windows is
>> the complete opposite.
>
> [begin rant] Well, we support OSX, too, and that isn't exactly Open
> Source either. While Apple itself is somewhat more friendly to the
> Open Source idea than Microsoft on the software side you shouldn't

[...]

> I have been porting Software to and from Windows, OSX, Linux, Solaris,
> HPUX and so on for many years now and in my experience those ports
> always increase the quality of the code.[end rant]

Wow, michael, that was the most awesome rant I've ever seen on sage-
devel.

I agree with you 150%. (well.... I reserve judgement on the women's
track and field stuff, but let's not get into that.)

My opinion is that having a native windows port is easily the single
most effective way to boost Sage's user base.

There are two problems. First is that a windows port is, as you point
out, very, very (very, very) hard. Second problem, more important
from an immediate practical point of view, is that the core of the
sage developers don't know Windows, and don't have a convenient way
to work with windows. You've seen at all the Sage Days workshops,
it's like a macfest, with a couple of people running some kind of
linux, and hardly anyone running windows. Moreover, most of us don't
*want* to run windows.

I've said it before and I'll say it again: if someone can make
working on windows as easy and legal for me as "ssh sage.math", then
I would probably be able to find some time to help out. If this can
be made to happen then I think you will find more people interested
in working on the port.

david

Joel B. Mohler

unread,
Dec 21, 2007, 9:27:22 AM12/21/07
to sage-...@googlegroups.com
On Friday 21 December 2007 08:42, David Harvey wrote:
> I've said it before and I'll say it again: if someone can make  
> working on windows as easy and legal for me as "ssh sage.math", then  
> I would probably be able to find some time to help out. If this can  
> be made to happen then I think you will find more people interested  
> in working on the port.

The irony is that both "easy" and "legal" are not so trivially attainable with
*remote* use of windows. For instance, the cygwin ssh service on windows
sucks (because most everything with cygwin sucks.) I use rdesktop in another
life to connect to a windows machine at times, but that's treading dangerous
ground legally because of client access licenses. It may be that there are
licenses available that make rdesktop usage entirely legal for non-windows
users, but I don't know. It's like MS really doesn't want windows to be
useful or something.

Perhaps I speak as a very jaded ex-windows user, but really I don't think I'm
too far off. Note that I speak of remote use in the above paragraph -- I
can't really fault someone for using windows locally, but I really can't
comprehend computer usage habits for which one is always local to the machine
in question. Hence, I use linux.

--
Joel

David Harvey

unread,
Dec 21, 2007, 9:46:37 AM12/21/07
to sage-...@googlegroups.com

On Dec 21, 2007, at 9:27 AM, Joel B. Mohler wrote:

>
> On Friday 21 December 2007 08:42, David Harvey wrote:
>> I've said it before and I'll say it again: if someone can make
>> working on windows as easy and legal for me as "ssh sage.math", then
>> I would probably be able to find some time to help out. If this can
>> be made to happen then I think you will find more people interested
>> in working on the port.
>
> The irony is that both "easy" and "legal" are not so trivially
> attainable with
> *remote* use of windows. For instance, the cygwin ssh service on
> windows

[...]

So you mean, the only way to do it is that someone buys some big
license from Microsoft which allows multi-user remote access? Pricing
is (number of users) * (price per license)?

david

Joel B. Mohler

unread,
Dec 21, 2007, 10:16:48 AM12/21/07
to sage-...@googlegroups.com

That is my impression -- I don't know if the price per user can be less than
price per license for local install. All of my past MS licensing experience
has implied per user fees. Although some windows OS licenses are
per-computer, but there have always been (in my experience) clauses closing
the loop-holes for lots of thin clients.

--
Joel

David Harvey

unread,
Dec 21, 2007, 10:45:06 AM12/21/07
to sage-...@googlegroups.com

On Dec 21, 2007, at 10:16 AM, Joel B. Mohler wrote:

>> So you mean, the only way to do it is that someone buys some big
>> license from Microsoft which allows multi-user remote access? Pricing
>> is (number of users) * (price per license)?
>
> That is my impression -- I don't know if the price per user can be
> less than
> price per license for local install. All of my past MS licensing
> experience
> has implied per user fees. Although some windows OS licenses are
> per-computer, but there have always been (in my experience) clauses
> closing
> the loop-holes for lots of thin clients.

Well damn. I guess this is the cost of doing development for Windows.

So these are my options:

(1) Use the windows lab on campus. Problem is, I believe for security
reasons they wipe off the machines every day. I suppose I have some
kind of permanent "home directory", but I'm not sure if I can install
things like compilers into it. Also it's a colossal pain to lug
myself over there, I don't know if I'd ever actually do it.

(2) Use my wife's laptop. Not a good option: I don't want to mess
with the OS at all, there's hardly any hard drive space left, the
machine crashes regularly, and she needs it all the time.

(3) Buy a windows license and use one of the virtualisation options
mentioned before on this list to run it on my macbook. Not a good
option: I'm too cheap.

(4) I wonder if it's possible for the Sage foundation to set up a
server and buy a small number of windows licenses for remote access.
Say like 4 licenses, so only four people can be logged in at a time.
Maybe that's a cost effective and legal way to do this. (Oh yeah, and
then tell me I have to pay money for the client software too. Please
say no.)

david

Harald Schilly

unread,
Dec 21, 2007, 11:18:55 AM12/21/07
to sage-devel
hi, I'm not a developer, just interested in sage, i don't speak for
the development team - I only wanted to point out that there is this
unique possibility of a webinterface which would make it somewhat
easier.

On Dec 21, 1:18 pm, mabshoff <Michael.Absh...@fsmath.mathematik.uni-
dortmund.de> wrote:
> [begin rant] Well, we support OSX, too, and that isn't exactly Open
> Source either.

for me the same holds true for osx, but since it is unix like, porting
is easier.

> I could bash Apple for another couple paragraphs...

I hate the narrow-minded ipod hype, kills competition

> firefox

i was actively involved in OpenOffice, which is also a good example.

> I am a huge supporter of Linux and Open Source in general,...

me, too. using linux more or less since 1998.

> What is the point in telling people not to use Windows, but to lock
> them into Linux or OSX on the other hand?

I'm just telling that there is the possibility of using sage on
windows without having to install it there, because in the
surroundings of an institute (first post suggested this to me) getting
a pc with linux is easy. at least here where i work.

Maybe my assumptions are wrong, because here where I work, university
of vienna, mathematics department, linux is even fully supported by
our centralized IT-department. In the mathematics institute, linux
users are about 80% - and nobody is anxious about using it. The pc
labs for students, about 150 PCs, dual boot linux and windows with
linux as default. no problems there, too. Therefore I'm used to an
other environment. Sorry for my wrong mindset.

> Just ask for example the Singular team if they
> want a 64 bit native port of their application using MSVC. I can
> assure you that they would be quite happy if somebody did the work. If
> things work out as planned on my end I will certainly try to make that
> happen. In the end we will all win if Sage and its components work
> well on *all* operating systems.

Great, but, this is just one component and for me this sounds like a
Singular project. sage only uses the result. That's my point of view,
sorry.



>
> The vast majority of users on the desktop use Windows and do not have
> access to Linux or OSX.

The vast majority of users on the desktop give a damn of calculating
anything!! ;)

> Microsoft will be *the* dominating desktop
> operating system for easily the next decade.

yes, no doubt about that

> While the install base of
> Linux is growing quicker in relative terms the absolute increase of
> Windows desktops each year *dwarfs* the Linux desktop install base.

If you translate it from absolute numbers into each market share, i
think the picture is different. Here at my department windows users
have to excuse when they use it and send wrong formatted text files
(latex).
I am in the hope that the scientific community is more "open" to new
stuff.

[ ... running ... ]

I don't see the need for such an extreme view of competition. If there
are 98% happy with buying windows, being passive users and being
experts at software-firewall-workarounds-registry-hacking-anti-virus-
xyz - have fun. They are also happy buying "state of the art" software
like mathematica or matlab.

>
> To get somewhat closer to on-topic again: Another target group for
> Sage is the general educational sector [by which I mean high schools
> and non-major math college education, not professional mathematicians,
> graduate students in math and so on]

Well, good point.
Since about nearly two years ago I was giving a lot of math tutoring
lessons for that group. age 16+-2.
There were also those who are using mathematical software in their
education - and that was the first time ever i have seen the reality
behind that! There a classes full of laptops, each one with
mathematica for school (some simplified syntax + reduced commands) -
and nobody is able to use it.
After 3 month of education in school, they solved linear equation
systems (2 with 2 variables) in that way, that they wrote both
equations in mathematica, calculated the result by hand, and typed the
result back into the notebook. (i was tutoring three of them from the
same class, so this is not a single sample) Their teacher was not
aware how this could be done in mathematica and nobody had the idea to
open the documentation and look up the solve command.
i was totally confused!!!
And i definitely don't want to know how much wolfram res. was paid.
(The same happened a year earlier, this time with derive. But there
was slightly more knowledge about that, but still solving by hand)

Therefore, if sage@school should work, there must be an entire project
assigned to that.
There must be somebody who understands sage's internals to help those,
who teach sage with a pedagogical background, because there needs to
be a feedback to the developers. Then a lot of good documentation,
with many examples, screenshots, handbook for teachers, scripts, ready-
to-use notebooks and so on. Just telling them that sage uses a
slightly modified python main loop for entering commands which call
everything written in the references is not enough! I'm also thinking
for example of a learning path, as a SCORM package - ready to import
in something like claroline ( http://www.claroline.net )
Since the current adoption of sage in schools is exactly 0, this
should be done right from the beginning.

So, in my point of view, this education target needs a lot of work and
time.
(at first, there have to be user accounts, managed by LDAP and so on,
admin interface, teacher-admin-interface, permissions ...)

> ... but we have to
> work with the situations that is often called "reality",

exactly, and the reality is, that some marketing+lobby effort is
seemingly enough to end in a f****up situation where nobody knows how
to use the software. that's nothing i want to see again.
sorry for my ideological ambitions!

>
> As mentioned above I think that cross platform code makes Open Source
> independent of the underlying operating system which is much more
> important than a somewhat purist opinion that excludes the majority of
> the target audience just because they "haven't seen the light yet."

no, well, that not what i have wanted to say. more choice is always
better, but in my opinion there a sacrifice.

> This rant is not intended to flame you,

thx ;)

> ... because they can
> use all those cool Open Source applications like Firefox on Windows.
> The vast majority of users will finally see that Open Source works
> because of Firefox, not be kept on Windows because they can use it
> there. They may switch, they may not switch, but at least they might
> have learned something in the process.

yes, but on the other hand the need to switch from win to linux is
gone.
and yes i understand, you don't see the "but".
i hope they learn something, too - especially to be part of a group of
users who can express their problems/needs and help each other. tit-
for-tat principle, because "help other" means in turn "somebody helps
me"


>
> In the end feel free to disagree with me, and many people certainly
> do. Me spending my time on a native Windows port doesn't hurt anybody
> out there, except that there is some cost of opportunity since I
> didn't spend my time on fixing some bug in Sage I could have worked on
> in that time. But it is my experience that porting code exposes bugs
> that will hit you sooner or later on the platform you already run on.

good, well, than everything is ok and the code quality is increasing.
i just know the situation with "R" a bit (the statistic thing) where
everything is linux centric, but the windows user base is huge. they
get ready-compiled packages to install - but the problem is, not
everything is available for linux! so, after singular, you can help
porting R packages - there are thousands ;)

h

Ondrej Certik

unread,
Dec 21, 2007, 12:09:38 PM12/21/07
to sage-...@googlegroups.com
> >
> > The vast majority of users on the desktop use Windows and do not have
> > access to Linux or OSX.
>
> The vast majority of users on the desktop give a damn of calculating
> anything!! ;)

Well, yes, but all people I know of that use Mathematica use Windows
on the desktop. Those are kinds of people Sage is
interested in.

> I don't see the need for such an extreme view of competition. If there
> are 98% happy with buying windows, being passive users and being
> experts at software-firewall-workarounds-registry-hacking-anti-virus-
> xyz - have fun. They are also happy buying "state of the art" software
> like mathematica or matlab.

I don't think so. They run windows because they had to, or just
because they do, it doesn't really matter. Windows will be there with
us,
at least in the next decade, and it will be the major system on
desktops as it is now (maybe not 95%, maybe only 60%).

I don't think they are happy buying expensive software and also that
their students had to either steal mathematica, or
not being able to do calculations at home.

Ondrej

Alex Ghitza

unread,
Dec 21, 2007, 12:14:10 PM12/21/07
to sage-...@googlegroups.com
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi,

In response to Harald's and Michael's (very enlightening!) posts, I
want to say a few words about educational use of Sage, from a slightly
different point of view.

I'm teaching mathematics at Colby College, a four-year liberal arts
undergraduate-only institution. It is small (1800 students) and most
of the students can definitely afford to buy whatever software they
feel like or think they need. So far, my efforts of getting them
exposed to Sage have been limited to showing them live in-class
examples of graphing and computations in the notebook, and setting up
a worksheet in which they could play with Taylor series, again via the
notebook running on my desktop computer. In the spring I will teach
differential equations, and I want to make much more extensive use of
Sage, and get the students to use it as well.

For this I will have to run a notebook on my computer for the whole
semester and have them use it remotely. Why is this the only option?
For one thing, the mathematics department does not have a computer
lab, and there are very few college-wide labs. I do not have the
authority to install software on these, and our IT services do not
support Linux. Most students have their own laptops, but they of
course do not run Linux either. Since there is no institutional
support for it, I can only *encourage* them to install Linux; if I
require it, I automatically become the Linux support person, and I do
have better things to do. The upshot is that these students will only
use Sage remotely via the notebook and most of them will not install
it locally, which means that they will not become part of the
community (and contribute!)

So even though I have not used Windows in more than 10 years, I am in
favor of making it easier for Windows users to install, run, play
with, break, fix, and help out with Sage, and I do not think that time
spent on porting Sage to Windows is wasted.

Increasing the number of serious users, even if they're Windows-bound,
means having more people who can test code, write documentation, come
up with nice examples and pretty screenshots, and all the other things
that we agree are desirable. If we keep relying on the developers to
do all this stuff, they'll have no time for implementing new features
and debugging the existing ones.

Alex


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHa/RidZTaNFFPILgRAkUaAKCSXs2RMSE/GomagjoU4y71/9utRQCggieU
EzVdT+awA80jxP/Y6L67/6I=
=jpNN
-----END PGP SIGNATURE-----

Joel B. Mohler

unread,
Dec 21, 2007, 12:27:47 PM12/21/07
to sage-...@googlegroups.com
On Fri, Dec 21, 2007 at 10:45:06AM -0500, David Harvey wrote:
> (4) I wonder if it's possible for the Sage foundation to set up a
> server and buy a small number of windows licenses for remote access.
> Say like 4 licenses, so only four people can be logged in at a time.
> Maybe that's a cost effective and legal way to do this. (Oh yeah, and
> then tell me I have to pay money for the client software too. Please
> say no.)

In my opinion, if you want to do windows dev work this hypothetical sage
foundation windows machine also needs MSVC. That's a fair chunk of change and
more change for more users. It's really a *very* good tool though. It's one of
about 3 programs that I'd say MS really beat the competition with.

As for client software, I use
http://www.rdesktop.org/
with good success. I guess it could be coaxed into working with os x -- I've
only ever tried with linux. But, it's reverse engineered so there are a few
rough edges, but these are mostly confined to more esoteric things like
remoting the audio and stuff like that (which it seems to me, no one in their
right mind would want to do anyhow.)

--
Joel

Fabio Tonti

unread,
Dec 21, 2007, 3:44:40 PM12/21/07
to sage-...@googlegroups.com
Just to give my point of view: (I'm not taking part in development at
the moment either)
A native windows port seems like a good idea, iff there are people
willing to do it and iff it won't take any ressources from other parts
of the project. I'm sure a port would also increase the overall
quality, but it comes at a high price (of work).
I'm not sure that sticking with a vmware image at reperesents a
problem. Nowadays vmware is well-known and well-supported in many
companies and I don't think that installing vmware is SUCH a great
step to undertake for an individual. That said, the vmware image is
easier to maintain and as Prof. Stein said, if some more effort is put
in there, it can be made smaller.
If there are people willing to do it, a windows port is a great
opportunity, but if those people are missed for developing the "core
functionality", I really believe that we should wait for the right
time.
And another opinion: I think the priority of getting into Debian
should be higher.

Btw, I didn't know that there is so much emphasis on Linux at the
University of Vienna (since I live in Vienna). Thanks for the
information, Harald.

Cheers, Fabio

William Stein

unread,
Dec 21, 2007, 4:49:11 PM12/21/07
to sage-...@googlegroups.com
Hi,

Wow, this is quite a thread! Here's the current version of the evolving
mission statement I have for Sage:

MISSION STATEMENT: Povide as soon as possible a viable free
open source alternative to Maple, Mathematica, Magma, and Matlab.

Since all of the above Ma* programs run well on MS Windows, that Sage
should have very good support for people using MS Windows is definitely
a critical part of the mission of Sage. Period. But what this "support"
actually means is unclear, and is what is causing all the discussion in
this thread.

Harald's remark: "So i would suggest an


additional workstation and run the linux version
and access it over the local network. Therefore nobody has to install

an application in windows..."
touched this off. Maybe this discussion has a lot do with how
one views software.?

Should we view Sage primarily as software in the traditional sense
of a local binary install with a GUI, or as software in the more
web-based community sense? I view Sage as being more
of the latter rather than the former.
For me, gmail provides a viable alternative to Opera mail,
kmail or Mail.app -- I used to use those programs, but now I do all
my email in gmail. Given the impressive success of browser-based
community software in recent years, it is not a crazy to think
Sage could provide a useful alternative using a similar approach.

For example, last night I had a long email discussion with the UW sysadmins,
computing committee, etc., who initially wanted to roll out Sage on all the
Windows PC's in the department. After a lot of discussion, it became clear
that it would be better for everybody involved if we setup an
internal UW math faculty-only Sage notebook server. Then faculty can
easily share worksheets, they can use all the commercial software on
the central server from sage (Mathematica license issues aside), upgrades
are very easy, and -- most importantly -- they can easily use exactly the
same sage worksheets from at home, when traveling, etc., as they do
from on campus.

That said, it is clear that a *lot* of people both want and need to download
Sage and run it on Windows machines -- the sage-vmware download is
more popular than all the other download types, and there are cases
like John Voight where running Sage on a bunch of Windows PC's in a lab
is very useful for distributed computation. I think 99% of these people
could care less how we package sage -- natively, via cygwin, via virtualization,
etc. -- mainly what they care about is whether or not it Just Works, whether or
not the install process is easy, and disk space issues. Regarding disk space,
keep in mind that a normal install of Mathematica is 1.1GB, so to provide
a viable alternative, keeping with 1GB of disk space usage is OK.

So in evaluating which approach we take with Sage to MS Windows,
we should focus mainly on how the end result will work, rather than anything
about the underlying technology. I.e., if via virtualization one can
roll something
out that works better than a native port, then virtualization wins; if not, then
a native port wins. Simple as that. As far as strategy goes, I
think the best
plan is:

(1) Create a usable virtualization method to run Sage on Windows (done)
(2) Create a really good virtualization method to run Sage on Windows
(3) Earn many Sage under MS windows users.
(4) Use 3 to fund hiring a couple programmers full time to make a much
better way to run Sage on Windows (whatever that turns out to be).

If there were a million devoted users of Sage on windows via some sweet
virtualization approach, I bet we could easily get funding to hire a
few programmers to
work on improving usability of Sage in a windows environment.

Since Sage is almost completely a volunteer project, I hope developers will
do what excites them most. Just do it very very well. Oh, and make sure your
code is readable since odds are you might be way too busy to work on Sage
in a few months!

-- William

--

mabshoff

unread,
Dec 21, 2007, 5:42:43 PM12/21/07
to sage-devel
I you buy a server license you get 5 client access licenses thrown in
"for free". But I think that local development is probably the best
way to do it, at least I will chose that route. The idea for a central
development server is mostly so that other people without the
knowledge how to set up the tool chain can join in and learn. It would
also increase the bus factor on the Windows port.

> david

Cheers,

Michael

mabshoff

unread,
Dec 21, 2007, 5:50:39 PM12/21/07
to sage-devel


On Dec 21, 6:27 pm, "Joel B. Mohler" <j...@kiwistrawberry.us> wrote:
> On Fri, Dec 21, 2007 at 10:45:06AM -0500, David Harvey wrote:
> > (4) I wonder if it's possible for the Sage foundation to set up a
> > server and buy a small number of windows licenses for remote access.
> > Say like 4 licenses, so only four people can be logged in at a time.
> > Maybe that's a cost effective and legal way to do this. (Oh yeah, and
> > then tell me I have to pay money for the client software too. Please
> > say no.)
>

Hi,

> In my opinion, if you want to do windows dev work this hypothetical sage
> foundation windows machine also needs MSVC. That's a fair chunk of change and
> more change for more users. It's really a *very* good tool though. It's one of
> about 3 programs that I'd say MS really beat the competition with.

While MSVC 2005 is a pretty decent compiler and the GUI is preferred
by many I wouldn't really say that it is better than the competition.
But that is certainly my personal preference. And the Express edition
is "free", all you need to do is give your personal information to
Microsoft to download it. And that edition should be enough to build
Sage on Windows. The problem I foresee is the need for a good Fortran
compiler that is 32/64 bit capable and also doesn't come with its own
compat lib library, i.e. links properly to PE binaries. And at the
moment that is Intel's Fortran compiler, which is not free, neither as
in money nor freedom.

> As for client software, I usehttp://www.rdesktop.org/
> with good success. I guess it could be coaxed into working with os x -- I've
> only ever tried with linux. But, it's reverse engineered so there are a few
> rough edges, but these are mostly confined to more esoteric things like
> remoting the audio and stuff like that (which it seems to me, no one in their
> right mind would want to do anyhow.)

Well, given enought bandwidth rdesktop is good enough to do remote
work.

>
> --
> Joel

Cheers,

Michael

mabshoff

unread,
Dec 21, 2007, 5:57:42 PM12/21/07
to sage-devel


On Dec 21, 9:44 pm, "Fabio Tonti" <fto...@gmail.com> wrote:
> Just to give my point of view: (I'm not taking part in development at
> the moment either)
> A native windows port seems like a good idea, iff there are people
> willing to do it and iff it won't take any ressources from other parts
> of the project. I'm sure a port would also increase the overall
> quality, but it comes at a high price (of work).

Well, this is a volunteer project and nobody tells me how I prefer to
waste my time :)

In the open source world it is about the code, so many times it boils
down to "send us a patch or shut up" and I intend to do the former.

> I'm not sure that sticking with a vmware image at reperesents a
> problem. Nowadays vmware is well-known and well-supported in many
> companies and I don't think that installing vmware is SUCH a great
> step to undertake for an individual. That said, the vmware image is
> easier to maintain and as Prof. Stein said, if some more effort is put
> in there, it can be made smaller.
> If there are people willing to do it, a windows port is a great
> opportunity, but if those people are missed for developing the "core
> functionality", I really believe that we should wait for the right
> time.

There is never the right time to do anything. I am always busy with
other stuff, but at some point you just have to get started.

> And another opinion: I think the priority of getting into Debian
> should be higher.
>

The number of Windows users dwarfs the Debian install and there are
more than enough people out there who are willing to do it. This isn't
an "either or" situation.

> Btw, I didn't know that there is so much emphasis on Linux at the
> University of Vienna (since I live in Vienna). Thanks for the
> information, Harald.
>
> Cheers, Fabio
>

Cheers,

Michael

mabshoff

unread,
Dec 21, 2007, 6:12:41 PM12/21/07
to sage-devel
Well, that is how you see Sage, but having a local development
environment is something I would see happening sooner or later. Sage
should work in a way the users wants it to and for many people that
means a local install. I never use the notebook since I don't like to
use web applications for any serious work. Many people disagree with
me on that one, but I don't care ;)

> For example, last night I had a long email discussion with the UW sysadmins,
> computing committee, etc., who initially wanted to roll out Sage on all the
> Windows PC's in the department. After a lot of discussion, it became clear
> that it would be better for everybody involved if we setup an
> internal UW math faculty-only Sage notebook server. Then faculty can
> easily share worksheets, they can use all the commercial software on
> the central server from sage (Mathematica license issues aside), upgrades
> are very easy, and -- most importantly -- they can easily use exactly the
> same sage worksheets from at home, when traveling, etc., as they do
> from on campus.
>
> That said, it is clear that a *lot* of people both want and need to download
> Sage and run it on Windows machines -- the sage-vmware download is
> more popular than all the other download types, and there are cases
> like John Voight where running Sage on a bunch of Windows PC's in a lab
> is very useful for distributed computation. I think 99% of these people
> could care less how we package sage -- natively, via cygwin, via virtualization,
> etc. -- mainly what they care about is whether or not it Just Works, whether or
> not the install process is easy, and disk space issues. Regarding disk space,
> keep in mind that a normal install of Mathematica is 1.1GB, so to provide
> a viable alternative, keeping with 1GB of disk space usage is OK.

Sure, it works today, but I think virtualization on PCs is still an in-
mature technology. It has a pretty big performance impact (a non-issue
for the casual user), but certainly an issue for people like John when
he is using the Lab on the weekend and nights to do computations. But
a lot of people do not have the expertise to get the VMware image to
run, while they certainly can click on some installer and run it. I
see the VMWare image as another delivery vehicle for Sage on Windows,
but I don't think it satisfies the needs of 99% of potential Sage on
Windows users out there.

> So in evaluating which approach we take with Sage to MS Windows,
> we should focus mainly on how the end result will work, rather than anything
> about the underlying technology. I.e., if via virtualization one can
> roll something
> out that works better than a native port, then virtualization wins; if not, then
> a native port wins. Simple as that. As far as strategy goes, I
> think the best
> plan is:
>
> (1) Create a usable virtualization method to run Sage on Windows (done)
> (2) Create a really good virtualization method to run Sage on Windows
> (3) Earn many Sage under MS windows users.
> (4) Use 3 to fund hiring a couple programmers full time to make a much
> better way to run Sage on Windows (whatever that turns out to be).
>
> If there were a million devoted users of Sage on windows via some sweet
> virtualization approach, I bet we could easily get funding to hire a
> few programmers to
> work on improving usability of Sage in a windows environment.

Having more open source mathematical code run natively on Windows
would be a side benefit of the port. And as the download number for
maxima clearly show that is where the majority of the users are. If
maxima were to offer a VMWare image only for Windows do you still
think that the Windows download would still be 10 times the number of
the rest of the downloads combined? I don't think so.

>
> Since Sage is almost completely a volunteer project, I hope developers will
> do what excites them most. Just do it very very well. Oh, and make sure your
> code is readable since odds are you might be way too busy to work on Sage
> in a few months!
>

Well, since I have nothing better to do I will certainly spend the
next two weeks on making a first step in the direction of the native
Windows port and might even revive the Cygwin build. So far no linker
has successfully stood in my way forever, and I will break its
resistance to linking a dynamic libSingular!

> -- William

Cheers,

Michael

Harald Schilly

unread,
Dec 21, 2007, 6:56:25 PM12/21/07
to sage-devel


On Dec 21, 10:49 pm, "William Stein" <wst...@gmail.com> wrote:
> Given the impressive success of browser-based
> community software in recent years, ...
> we should focus mainly on how the end result will work, rather than anything
> about the underlying technology.

Yes, i see it the same way. The thing which works by far best it
opening up a website in a browser!

Just a small remark, concerning the end result: A typical program
stores files locally, sage not. So despite an easy import+export
(which is already there), a utility to store notebooks locally and
work with them online (without registering, only temporary sessions)
could fill this gap. Such a tool is google-gears ( http://code.google.com/apis/gears/
) which is capable of storing webbased data locally. I'm not sure if
it does everything it would need, but it is still under heavy
development and very promising for such a task...

And well, maybe there is someday a self-running one-click sealed VM-
ware with compressed virtual disk in a MSI package which starts a
dummy service after booting that fires up sage when accessed via a
local browser link saved in start>apps>sage.

h

William Stein

unread,
Dec 21, 2007, 6:57:09 PM12/21/07
to sage-...@googlegroups.com
> On Dec 21, 10:49 pm, "William Stein" <wst...@gmail.com> wrote:
> > Should we view Sage primarily as software in the traditional sense
> > of a local binary install with a GUI, or as software in the more
> > web-based community sense? I view Sage as being more
> > of the latter rather than the former.
> > For me, gmail provides a viable alternative to Opera mail,
> > kmail or Mail.app -- I used to use those programs, but now I do all
> > my email in gmail. Given the impressive success of browser-based
> > community software in recent years, it is not a crazy to think
> > Sage could provide a useful alternative using a similar approach.
> >
>
> Well, that is how you see Sage, but having a local development
> environment is something I would see happening sooner or later. Sage
> should work in a way the users wants it to and for many people that
> means a local install. I never use the notebook since I don't like to
> use web applications for any serious work. Many people disagree with
> me on that one, but I don't care ;)

I'm certainly not saying a web interface is the only one for sage; just
that it is a very important one. I use the notebook and command line
about equally, personally.

> > For example, last night I had a long email discussion with the UW sysadmins,
> > computing committee, etc., who initially wanted to roll out Sage on all the
> > Windows PC's in the department. After a lot of discussion, it became clear
> > that it would be better for everybody involved if we setup an
> > internal UW math faculty-only Sage notebook server. Then faculty can
> > easily share worksheets, they can use all the commercial software on
> > the central server from sage (Mathematica license issues aside), upgrades
> > are very easy, and -- most importantly -- they can easily use exactly the
> > same sage worksheets from at home, when traveling, etc., as they do
> > from on campus.
> >
> > That said, it is clear that a *lot* of people both want and need to download
> > Sage and run it on Windows machines -- the sage-vmware download is
> > more popular than all the other download types, and there are cases
> > like John Voight where running Sage on a bunch of Windows PC's in a lab
> > is very useful for distributed computation. I think 99% of these people
> > could care less how we package sage -- natively, via cygwin, via virtualization,
> > etc. -- mainly what they care about is whether or not it Just Works, whether or
> > not the install process is easy, and disk space issues. Regarding disk space,
> > keep in mind that a normal install of Mathematica is 1.1GB, so to provide
> > a viable alternative, keeping with 1GB of disk space usage is OK.
>
> Sure, it works today, but I think virtualization on PCs is still an in-
> mature technology.

It's been heavily developed for over 10 years. I don't think it is any
more immature than a lot of other technologies out there. Most things
in computing are immature.

> It has a pretty big performance impact (a non-issue
> for the casual user), but certainly an issue for people like John when
> he is using the Lab on the weekend and nights to do computations.

Disk performance is slow, but that's not an issue for John's calculation.
For CPU bound work, the performance impact is not that large, at least
with modern
intel processors. In fact, often performance is *better* in vmware
than native,
since Linux is a better OS performance wise than Linux and OSX.

Here's a typical example of what happens in practice:

On OS X Xeon 2.6Ghz native:
sage: time n=factorial(10^6)
CPU times: user 1.87 s, sys: 0.11 s, total: 1.99 s
Wall time: 2.01

In a VMware image running on the same machine (64-bit debian):
time n=factorisage: time n=factorial(10^6)
CPU times: user 1.01 s, sys: 0.10 s, total: 1.10 s
Wall time: 1.12

Using 32-bit Debian in VMware on the same machine:
sage: time n=factorial(10^6)
CPU times: user 1.83 s, sys: 0.18 s, total: 2.01 s
Wall time: 2.04

The reason that the second is so fast is that the above benchmark
takes advantage of GMP being
built 64-bit in that case. There is a 1% performance penalty above
with both running 64-bit.
I see this sort of thing all the time -- frequently for CPU-bound
computations, running
Linux in a virtual machine, even 32-bit, is as good or even _better_
than running the
same computation natively under OSX, and presumably under Windows. The reasons
probably involve developers optimizing every level of the toolchain
more for Linux
than Windows or OSX. A good example of this sort of thing is MAgma,
which is often
literally hundreds of thousands of times slower running natively on
OSX as on Linux...

Anyway, people using Windows as their main computing platform
are probably not worrying about small performance penalties.

> But a lot of people do not have the expertise to get the VMware image to
> run, while they certainly can click on some installer and run it.

Anybody who can point and click can install the vmware image. It is not
that hard. You install vmware -- which is trivial standard point and click.
You extract a zip file. Then you double click on the blue sage icon. That's it.
And you get something that won't mess up your computer, that can be
paused at any time, copied/moved to another computer, etc.

> I see the VMWare image as another delivery vehicle for Sage on Windows,
> but I don't think it satisfies the needs of 99% of potential Sage on
> Windows users out there.

I definitely don't think the current version does either. But I think the
main reason has more to do with Sage itself not satisfying the needs of 99%
of potential users.

> > So in evaluating which approach we take with Sage to MS Windows,
> > we should focus mainly on how the end result will work, rather than anything
> > about the underlying technology. I.e., if via virtualization one can
> > roll something
> > out that works better than a native port, then virtualization wins; if not, then
> > a native port wins. Simple as that. As far as strategy goes, I
> > think the best
> > plan is:
> >
> > (1) Create a usable virtualization method to run Sage on Windows (done)
> > (2) Create a really good virtualization method to run Sage on Windows
> > (3) Earn many Sage under MS windows users.
> > (4) Use 3 to fund hiring a couple programmers full time to make a much
> > better way to run Sage on Windows (whatever that turns out to be).
> >
> > If there were a million devoted users of Sage on windows via some sweet
> > virtualization approach, I bet we could easily get funding to hire a
> > few programmers to
> > work on improving usability of Sage in a windows environment.
>
> Having more open source mathematical code run natively on Windows
> would be a side benefit of the port. And as the download number for
> maxima clearly show that is where the majority of the users are. If
> maxima were to offer a VMWare image only for Windows do you still
> think that the Windows download would still be 10 times the number of
> the rest of the downloads combined? I don't think so.

I don't know. It probably depends on how good the VMware image is.
In any case, Maxima is certainly not a model of success to aspire to,
at least given what we're trying to accomplish.

> >
> > Since Sage is almost completely a volunteer project, I hope developers will
> > do what excites them most. Just do it very very well. Oh, and make sure your
> > code is readable since odds are you might be way too busy to work on Sage
> > in a few months!
> >
>
> Well, since I have nothing better to do I will certainly spend the
> next two weeks on making a first step in the direction of the native
> Windows port and might even revive the Cygwin build. So far no linker
> has successfully stood in my way forever, and I will break its
> resistance to linking a dynamic libSingular!

Ah, now my secret plan is exposed! By arguing with you I'll inspire
you to do what I really secretly want you to do. :-)

William

mabshoff

unread,
Dec 21, 2007, 7:14:56 PM12/21/07
to sage-devel
Hi Harald,

I am answering your post last because it will take the most time :)

On Dec 21, 5:18 pm, Harald Schilly <harald.schi...@gmail.com> wrote:
> hi, I'm not a developer, just interested in sage, i don't speak for
> the development team - I only wanted to point out that there is this
> unique possibility of a webinterface which would make it somewhat
> easier.

Sure, but the access issue is orthogonal to the operating system we
run on.

> On Dec 21, 1:18 pm, mabshoff <Michael.Absh...@fsmath.mathematik.uni-
>
> dortmund.de> wrote:
> > [begin rant] Well, we support OSX, too, and that isn't exactly Open
> > Source either.
>
> for me the same holds true for osx, but since it is unix like, porting
> is easier.

Ok, we certainly agree on that one. About the porting being easier: in
relative terms: sure, but Apple's environment isn't much more than
"unix like" at the best. Even their Unix 2003 certification doesn't
change that. Ironically 10.5 broke a lot of code for idiotic reasons.

> > I could bash Apple for another couple paragraphs...
>
> I hate the narrow-minded ipod hype, kills competition

+1

> > firefox
>
> i was actively involved in OpenOffice, which is also a good example.
>
> > I am a huge supporter of Linux and Open Source in general,...
>
> me, too. using linux more or less since 1998.
>
> > What is the point in telling people not to use Windows, but to lock
> > them into Linux or OSX on the other hand?
>
> I'm just telling that there is the possibility of using sage on
> windows without having to install it there, because in the
> surroundings of an institute (first post suggested this to me) getting
> a pc with linux is easy. at least here where i work.

I worked as a sysadmin in the math department in Dortmund and there we
run Linux, Solaris and OSX. The only people with Windows were
secretaries [moving to OSX slowly] and the teaching department. But
the teaching department was inflexible enough on one hand, but had
enough cloud on the other hand to force the use of Windows in the
computing pools. I got the main pool converted to Linux, but now that
I am gone they will move back to a Windows centric solution with
SunRays + Windows Terminal Servers. Go figure.

> Maybe my assumptions are wrong, because here where I work, university
> of vienna, mathematics department, linux is even fully supported by
> our centralized IT-department. In the mathematics institute, linux
> users are about 80% - and nobody is anxious about using it. The pc
> labs for students, about 150 PCs, dual boot linux and windows with
> linux as default. no problems there, too. Therefore I'm used to an
> other environment. Sorry for my wrong mindset.

No, don't apologize. But you need to look outside those institutions
who "get it". Certain countries in Europe are very different in that
way and also way ahead on Linux adoption, but it is my impression that
in the US things are still a little behind the curve if you look at
the average picture.

> > Just ask for example the Singular team if they
> > want a 64 bit native port of their application using MSVC. I can
> > assure you that they would be quite happy if somebody did the work. If
> > things work out as planned on my end I will certainly try to make that
> > happen. In the end we will all win if Sage and its components work
> > well on *all* operating systems.
>
> Great, but, this is just one component and for me this sounds like a
> Singular project. sage only uses the result. That's my point of view,
> sorry.

What is currently standing in the way of an MSVC port is pexpect and
libSingular. That isn't general knowledge.

>
> > The vast majority of users on the desktop use Windows and do not have
> > access to Linux or OSX.
>
> The vast majority of users on the desktop give a damn of calculating
> anything!! ;)

Did you forget a "not" in there?

> > Microsoft will be *the* dominating desktop
> > operating system for easily the next decade.
>
> yes, no doubt about that
>
> > While the install base of
> > Linux is growing quicker in relative terms the absolute increase of
> > Windows desktops each year *dwarfs* the Linux desktop install base.
>
> If you translate it from absolute numbers into each market share, i
> think the picture is different.

I disagree :)

> Here at my department windows users
> have to excuse when they use it and send wrong formatted text files
> (latex).
> I am in the hope that the scientific community is more "open" to new
> stuff.

The university environment is different in that regard, but regional
differences also play a part (see above)

> [ ... running ... ]
>
> I don't see the need for such an extreme view of competition. If there
> are 98% happy with buying windows, being passive users and being
> experts at software-firewall-workarounds-registry-hacking-anti-virus-
> xyz - have fun. They are also happy buying "state of the art" software
> like mathematica or matlab.
>

But they must be saved from their utter state of ignorance :)

>
> > To get somewhat closer to on-topic again: Another target group for
> > Sage is the general educational sector [by which I mean high schools
> > and non-major math college education, not professional mathematicians,
> > graduate students in math and so on]
>
> Well, good point.
> Since about nearly two years ago I was giving a lot of math tutoring
> lessons for that group. age 16+-2.
> There were also those who are using mathematical software in their
> education - and that was the first time ever i have seen the reality
> behind that! There a classes full of laptops, each one with
> mathematica for school (some simplified syntax + reduced commands) -
> and nobody is able to use it.
> After 3 month of education in school, they solved linear equation
> systems (2 with 2 variables) in that way, that they wrote both
> equations in mathematica, calculated the result by hand, and typed the
> result back into the notebook. (i was tutoring three of them from the
> same class, so this is not a single sample) Their teacher was not
> aware how this could be done in mathematica and nobody had the idea to
> open the documentation and look up the solve command.
> i was totally confused!!!
> And i definitely don't want to know how much wolfram res. was paid.
> (The same happened a year earlier, this time with derive. But there
> was slightly more knowledge about that, but still solving by hand)

Yep, you aren't too far from my experience with Students and
mathematical software.

> Therefore, if sage@school should work, there must be an entire project
> assigned to that.
> There must be somebody who understands sage's internals to help those,
> who teach sage with a pedagogical background, because there needs to
> be a feedback to the developers. Then a lot of good documentation,
> with many examples, screenshots, handbook for teachers, scripts, ready-
> to-use notebooks and so on. Just telling them that sage uses a
> slightly modified python main loop for entering commands which call
> everything written in the references is not enough! I'm also thinking
> for example of a learning path, as a SCORM package - ready to import
> in something like claroline (http://www.claroline.net)
> Since the current adoption of sage in schools is exactly 0, this
> should be done right from the beginning.
>
> So, in my point of view, this education target needs a lot of work and
> time.
> (at first, there have to be user accounts, managed by LDAP and so on,
> admin interface, teacher-admin-interface, permissions ...)

Without a doubt. We need to deliver a slick, well working
configuration "out of the box". But we will get there if people care.

> > ... but we have to
> > work with the situations that is often called "reality",
>
> exactly, and the reality is, that some marketing+lobby effort is
> seemingly enough to end in a f****up situation where nobody knows how
> to use the software. that's nothing i want to see again.
> sorry for my ideological ambitions!

:), I feel the same way.

>
> > As mentioned above I think that cross platform code makes Open Source
> > independent of the underlying operating system which is much more
> > important than a somewhat purist opinion that excludes the majority of
> > the target audience just because they "haven't seen the light yet."
>
> no, well, that not what i have wanted to say. more choice is always
> better, but in my opinion there a sacrifice.
>
> > This rant is not intended to flame you,
>
> thx ;)
>
> > ... because they can
> > use all those cool Open Source applications like Firefox on Windows.
> > The vast majority of users will finally see that Open Source works
> > because of Firefox, not be kept on Windows because they can use it
> > there. They may switch, they may not switch, but at least they might
> > have learned something in the process.
>
> yes, but on the other hand the need to switch from win to linux is
> gone.

Many people don't even feel the need to switch. They just want to
solve problems. But as with anything the vast majority of people are
ignorant about the finer details of software and as long as they can
push a mouse around and send email in HTML because then the fonts are
so colorful and pretty they are happy [this is an exaggeration of
course :)]. We live in a sad, sad world in that respect. People like
you and me made the conscious decision that Linux is "better" in some
metric, but we are in a minority and we will remain so in the short
term, too. I personally don't buy the argument that providing people
with Open Source applications on Windows will take away their
incentive to switch, those user's don't even know [or understand] that
there is an alternative at all. So getting them into contact with Open
Source at all is the better way. But this a discussion close to a
religious dimension, so I don't expect consensus between us anytime
soon. We can certainly agree to disagree.

> and yes i understand, you don't see the "but".
> i hope they learn something, too - especially to be part of a group of
> users who can express their problems/needs and help each other. tit-
> for-tat principle, because "help other" means in turn "somebody helps
> me"

Yep, you are preaching to the choir here.

>
> > In the end feel free to disagree with me, and many people certainly
> > do. Me spending my time on a native Windows port doesn't hurt anybody
> > out there, except that there is some cost of opportunity since I
> > didn't spend my time on fixing some bug in Sage I could have worked on
> > in that time. But it is my experience that porting code exposes bugs
> > that will hit you sooner or later on the platform you already run on.
>
> good, well, than everything is ok and the code quality is increasing.
> i just know the situation with "R" a bit (the statistic thing) where
> everything is linux centric, but the windows user base is huge.

Ok, but I assume R has few windows based developers and Windows people
starting to get into R development very much are encouraged to switch
to a saner development environment. But that doesn't help the army of
Windows users out there. It is a vicious cycle, and somebody needs to
make an attempt to break it ;)

> they
> get ready-compiled packages to install - but the problem is, not
> everything is available for linux! so, after singular, you can help
> porting R packages - there are thousands ;)

Well, you need to get in line with requests :) My time is more or less
exclusively spend on Sage and while R has recently become a component
the optional R packages don't fall in that scope [maybe later]. But I
am certainly willing to help R build better on Windows and I will send
a patch if I find any issue that I can fix. But since there are many
other issues to fix before I get around to R don't hold your breath. I
might actually fix a compilation issue with rpy on 32 bit Solaris this
week, but that depends on how much time and energy I have left after
attacking Sage on Windows.

> h

Cheers,

Michael

mabshoff

unread,
Dec 21, 2007, 7:40:24 PM12/21/07
to sage-devel
On Dec 22, 12:57 am, "William Stein" <wst...@gmail.com> wrote:
> > Well, that is how you see Sage, but having a local development
> > environment is something I would see happening sooner or later. Sage
> > should work in a way the users wants it to and for many people that
> > means a local install. I never use the notebook since I don't like to
> > use web applications for any serious work. Many people disagree with
> > me on that one, but I don't care ;)
>
> I'm certainly not saying a web interface is the only one for sage; just
> that it is a very important one. I use the notebook and command line
> about equally, personally.

Sure, many people are perfectly happy with it and there is more than
one way to skin a cat [that idiom is slightly disturbing, and it
really says "cat" - for more info see http://www.worldwidewords.org/qa/qa-mor1.htm
]

> > Sure, it works today, but I think virtualization on PCs is still an in-
> > mature technology.
>
> It's been heavily developed for over 10 years. I don't think it is any
> more immature than a lot of other technologies out there. Most things
> in computing are immature.

Well, but IBM got it right for their mainframes. Everybody else is
still catching up 20 years later.

> > It has a pretty big performance impact (a non-issue
> > for the casual user), but certainly an issue for people like John when
> > he is using the Lab on the weekend and nights to do computations.
>
> Disk performance is slow, but that's not an issue for John's calculation.
> For CPU bound work, the performance impact is not that large, at least
> with modern
> intel processors. In fact, often performance is *better* in vmware
> than native,
> since Linux is a better OS performance wise than Linux and OSX.
>
> Here's a typical example of what happens in practice:
>
> On OS X Xeon 2.6Ghz native:
> sage: time n=factorial(10^6)
> CPU times: user 1.87 s, sys: 0.11 s, total: 1.99 s
> Wall time: 2.01
>
> In a VMware image running on the same machine (64-bit debian):
> time n=factorisage: time n=factorial(10^6)
> CPU times: user 1.01 s, sys: 0.10 s, total: 1.10 s
> Wall time: 1.12
>
> Using 32-bit Debian in VMware on the same machine:
> sage: time n=factorial(10^6)
> CPU times: user 1.83 s, sys: 0.18 s, total: 2.01 s
> Wall time: 2.04

The benchmarks above are a single CPU bound process on an unloaded
box, so not interesting in my book. Some of the issues I refer to are
"TLB trashing" and the fact that the memory used by a VMWare machine
cannot be altered dynamically and is gone from the system. But this
isn't the list to discuss the finer point of nested TLBs and such.

Until earlier this year I used a VMWare image on quite a beefy box to
do Windows development of some code using Qt and let me just say that
it *sucked*. And it didn't matter whether I used Linux or Windows as a
host. And the test of time is running a VMWare session over time with
a bunch of users, even Windows 95 was good enough for a single user as
long as you rebooted every couple hours. This isn't a fair comparison,
but I have had my fair share of experience with VMWare and I would be
certain that you wouldn't doubt my admin skills in that regard. I
spend endless hours trying to figure out what is wrong before giving
up. It just wasn't worth the effort.

> The reason that the second is so fast is that the above benchmark
> takes advantage of GMP being
> built 64-bit in that case. There is a 1% performance penalty above
> with both running 64-bit.
> I see this sort of thing all the time -- frequently for CPU-bound
> computations, running
> Linux in a virtual machine, even 32-bit, is as good or even _better_
> than running the
> same computation natively under OSX, and presumably under Windows. The reasons
> probably involve developers optimizing every level of the toolchain
> more for Linux
> than Windows or OSX. A good example of this sort of thing is MAgma,
> which is often
> literally hundreds of thousands of times slower running natively on
> OSX as on Linux...

Well, then their port on OSX must suck. I would help them out, but
since I don't have the source I cannot really help. They can always
hire me, my rates are reasonable and I am usually less offensive to
people who pay me. I always wanted to visit Australia. *ducks*

> Anyway, people using Windows as their main computing platform
> are probably not worrying about small performance penalties.

Windows is not as slow as you make it out to be. It has the whole
thread vs. process expense issue, but Windows isn't magically slower
on a grand scale than Linux.

> > But a lot of people do not have the expertise to get the VMware image to
> > run, while they certainly can click on some installer and run it.
>
> Anybody who can point and click can install the vmware image. It is not
> that hard. You install vmware -- which is trivial standard point and click.
> You extract a zip file. Then you double click on the blue sage icon. That's it.
> And you get something that won't mess up your computer, that can be
> paused at any time, copied/moved to another computer, etc.

I see those as advantages, too.

> > I see the VMWare image as another delivery vehicle for Sage on Windows,
> > but I don't think it satisfies the needs of 99% of potential Sage on
> > Windows users out there.
>
> I definitely don't think the current version does either. But I think the
> main reason has more to do with Sage itself not satisfying the needs of 99%
> of potential users.

Sure, but that issue is orthogonal, too. We are getting there solving
those problems, though.

>
<SNIP>
>
> I don't know. It probably depends on how good the VMware image is.
> In any case, Maxima is certainly not a model of success to aspire to,
> at least given what we're trying to accomplish.
>

I am glad you wrote that and not me. I certainly don't disagree on
that point :)

>
> > > Since Sage is almost completely a volunteer project, I hope developers will
> > > do what excites them most. Just do it very very well. Oh, and make sure your
> > > code is readable since odds are you might be way too busy to work on Sage
> > > in a few months!
>
> > Well, since I have nothing better to do I will certainly spend the
> > next two weeks on making a first step in the direction of the native
> > Windows port and might even revive the Cygwin build. So far no linker
> > has successfully stood in my way forever, and I will break its
> > resistance to linking a dynamic libSingular!
>
> Ah, now my secret plan is exposed! By arguing with you I'll inspire
> you to do what I really secretly want you to do. :-)

Haha, reverse psychology no longer works on me. Or does it? :)

> William

Cheers,

Michael

Ted Kosan

unread,
Dec 21, 2007, 8:54:24 PM12/21/07
to sage-...@googlegroups.com
William wrote:

> MISSION STATEMENT: Provide as soon as possible a viable free


> open source alternative to Maple, Mathematica, Magma, and Matlab.

When I read this mission statement, what doesn't come to mind is
trying to convince people who are currently using these applications
to switch to SAGE. My thought is that most users of these
applications are perfectly happy with them.

The way I view this mission statement is the same way the Ford Model T
was a less expensive alternative to expensive American automobiles and
the way the original Volkswagen "People's car" Beetle was a less
expensive alternative to expensive German automobiles. Both of these
automobiles were designed to allow the millions of people at that time
who could not afford an automobile at all to finally afford one. The
Beetle still holds the record for the highest production numbers for a
single model, and the Model T holds second place. With this analogy,
the M's will get you there in luxury but SAGE will get you there too.
What I like about SAGE is it has the potential to allow orders of
magnitude more people to get "there" than has been possible before.

Here is a pie chart I created a while ago which shows this concept graphically:

http://sage.math.washington.edu/home/tkosan/misc/sage_potential_target_audience.png

It is my opinion that most of the people in the purple part of the pie
chart will be notebook users. I have some experience with helping to
maintain a small university computer network and I also have
experience dealing with people who maintain high school networks. To
me, the idea installing SAGE on individual lab machines is a
maintenance nightmare, even if SAGE was windows-based and installed
with the touch of a button. SAGE is huge, it takes a long time to
install on a computer, and its upgrade cycle is so short that the IT
people maintaining the lab machines will grow to dislike it immensely
for having to install frequent updates. For this reason, and also
those William stated about wanting to have all of one's worksheets
available from anywhere, the only way I can see to provide SAGE to
most of the people in the purple part of the chart is as a web
service.

What I like about the idea of having a windows port of SAGE is not to
install it on clients (although many people still will, which is good
too), but that windows-oriented IT people will be able to install it
on their servers easier.

I think the greatest percentage of users in the purple part of the
chart are either high school students or college students. Here are
my current thoughts on 2 strategies for making SAGE available to
students.

1) US high schools (non-US high schools may be different).

Problem: Getting the IT department in most school districts to install
any kind of software is an exercise in frustration.

Possible solution: Each school district has a Career Technology
Center (these use to be called vocational schools) and most CTCs have
an IT program that teaches students how to set up servers. The
easiest way to make SAGE available to a whole school district is to
get the district's IT class to set one up and maintain it. These IT
classes have extra servers laying around and so finding one to devote
to SAGE should be easy.


2) Universities.

Problem: Getting the IT departments at most universities to install
any kind of software is an exercise in frustration

Possible solution: Have SAGE hosted at websites that are off campus.
All mathematics applications need to be paid for one way or another,
but finding funds at a university to purchase software (or a server to
run it on) is often difficult. Even if funds are available, the red
tape involved is often daunting. One way to pay for SAGE as a web
service is to create a small pdf-format SAGE beginner's guide that
SAGE web service providers can sell for perhaps $10. A teacher who
wants to use SAGE in a class simply includes a given service
provider's guide in the list of books that are required for the class.
This gives most of the responsibility of whether or not to use SAGE
in a class in the hands of the teacher instead of the IT department.

Anyway, before SAGE "there" use to be thousands of dollars, a painful
commercial license, and a painful installation process away. With
SAGE as a web service, however, "there" has been reduced to the cost
of a meal and 30 seconds away via a web browser.

Ted

William Stein

unread,
Dec 22, 2007, 5:47:23 PM12/22/07
to sage-...@googlegroups.com

Just as concrete evidence for Ted's assertion above, here is an email
I got literally a few minutes ago. I get emails like this on a regular basis:

----------------------------------------

Dear Prof. Stein,

I read last night an article at the MAA website about
SAGE. I want to state that what you and your students
are doing is fantastic. I downloaded the program last
night, and going to test it out.

I have used 'Mathematica' for about a year now.
However, its is too expensive for student use.

I live near UW and would like to the campus and chat
with you. Is that possible?

I teach (chemistry and computer classes) at local
community colleges in the Seattle area.

Regards,
...
----------------------------------------

The fact that Sage is free, as opposed to a hundred dollars (or more)
for Mathematica,
is in fact very relevant for a large number of people.

William

William Stein

unread,
Dec 22, 2007, 6:05:08 PM12/22/07
to sage-...@googlegroups.com
On Dec 21, 2007 6:54 PM, Ted Kosan <ted....@gmail.com> wrote:
> William wrote:
>
> > MISSION STATEMENT: Provide as soon as possible a viable free
> > open source alternative to Maple, Mathematica, Magma, and Matlab.
>
> When I read this mission statement, what doesn't come to mind is
> trying to convince people who are currently using these applications
> to switch to SAGE. My thought is that most users of these
> applications are perfectly happy with them.

You're right. At the beginning of Sage I worried a lot about converting
existing users and it is frustrating and pointless, especially given how
many potential new users there are. I went to several major bookstores
during the last few days as part of my vacation and searched for any
books that had anything to do with math software -- there was exactly
one in all the bookstores, which was some "Absolute Beginner's
Guide to Matlab." I think "mathematics software" is a market that in
some sense hasn't even begun. I'm not talking here about the existence
of books -- but about books one actually finds on an everyday basis in
bookstores in America...

My main goal is to at least give current users who *wish*
they could use free open source alternatives an alternative. 3 years
ago I really wanted an alternative to the Ma*'s, even if it is a lot
more work to use, and there wasn't one; there wasn't anything that
was even close.

> The way I view this mission statement is the same way the Ford Model T
> was a less expensive alternative to expensive American automobiles and
> the way the original Volkswagen "People's car" Beetle was a less
> expensive alternative to expensive German automobiles. Both of these
> automobiles were designed to allow the millions of people at that time
> who could not afford an automobile at all to finally afford one. The
> Beetle still holds the record for the highest production numbers for a
> single model, and the Model T holds second place. With this analogy,
> the M's will get you there in luxury but SAGE will get you there too.
> What I like about SAGE is it has the potential to allow orders of
> magnitude more people to get "there" than has been possible before.

Yes, I agree.

> Here is a pie chart I created a while ago which shows this concept graphically:
>
> http://sage.math.washington.edu/home/tkosan/misc/sage_potential_target_audience.png
>
> It is my opinion that most of the people in the purple part of the pie
> chart will be notebook users.

I thought that chart was crazy until a few days ago when I visited a friend
of my wife who lives in Phoenix who teaches high school and community
college mathematics (he is a Russian with a masters from U of A).
The world of "math computation" for them is whatever
a TI-83 calculator can do -- seriously. And when we talked about
Sage, he immediately thought of how useful it could be -- as a web service --
in the context of the classes he teaches.

--

Ondrej Certik

unread,
Dec 22, 2007, 7:31:43 PM12/22/07
to sage-...@googlegroups.com

It's all about calculus. I am willing to make a bet that 90% of Sage users will
only need calculus. So it ought to work really, really well. It's
still a long way though.

Ondrej

William Stein

unread,
Dec 22, 2007, 8:08:12 PM12/22/07
to sage-...@googlegroups.com

(Sent from my iPhone.)

I agree. That's one reason I'm so happy you are now a sage developer!

Probably 2d and 3d visualization are also at least as important as
calculus to the target audience we are talking about. Linear algebra
and numerical solving is also extremely important... (thanks mike and
robertwb for implementing symbolic matrices for 2.9.1!!!!)

Ted, what functionality do you see as being most important for the
"scientific calculator" target audience you have in your pie chart?

>
>
> Ondrej
>
> >

Robert Bradshaw

unread,
Dec 22, 2007, 11:46:58 PM12/22/07
to sage-...@googlegroups.com
On Dec 22, 2007, at 5:08 PM, William Stein wrote:

>> It's all about calculus. I am willing to make a bet that 90% of Sage
>> users will
>> only need calculus. So it ought to work really, really well. It's
>> still a long way though.
>
> I agree. That's one reason I'm so happy you are now a sage developer!

Me too. I've been struck by the fact that most of the people that
I've talked to about Sage, including graduate students (in other
fields), are most interested in the calculus kind of stuff.

> Probably 2d and 3d visualization are also at least as important as
> calculus to the target audience we are talking about. Linear algebra
> and numerical solving is also extremely important... (thanks mike and
> robertwb for implementing symbolic matrices for 2.9.1!!!!)

I was tired of no one else doing any thing about that, and had two
people tell me just a week ago that they'd probably use Sage if it
had symbolic matrices.

BTW, Mike, what did you change? Were you able to get the eigenvalues
command to work? (That's why I didn't post it as [with patch], though
it's certainly more than what used to be there.)

>
> Ted, what functionality do you see as being most important for the
> "scientific calculator" target audience you have in your pie chart?

I liked your chart :-). I'd add that there's also a large chunk of
Matlab users who occasionally want to do something symbolic, and
probably similarly for the other Ma*. Even if this is a smaller piece
of the pie, they're the users that are comfortable with sitting down
at a computer and firing up a program to get their answers.

- Robert

Mike Hansen

unread,
Dec 22, 2007, 11:53:30 PM12/22/07
to sage-...@googlegroups.com
> BTW, Mike, what did you change? Were you able to get the eigenvalues
> command to work? (That's why I didn't post it as [with patch], though
> it's certainly more than what used to be there.)
>

I changed the eigenvalues command to use maxima's built-in eigenvalues
command. I also echelon_form / echelonize and some additional
doctests. You're the one who should really get all the credit for the
symbolic matrices though.

--Mike

root

unread,
Dec 23, 2007, 1:42:59 AM12/23/07
to sage-...@googlegroups.com, sage-...@googlegroups.com
>Me too. I've been struck by the fact that most of the people that
>I've talked to about Sage, including graduate students (in other
>fields), are most interested in the calculus kind of stuff.

Axiom implements the Risch Algorithm for elementary functions.
If it returns the answer as an unevaluated integral that is a proof
that there exists no integral that can be expressed in elementary
terms. In addition, Axiom implements many of the extended cases of
the algorithm for non-elementary functions.

>I was tired of no one else doing any thing about that, and had two
>people tell me just a week ago that they'd probably use Sage if it
>had symbolic matrices.

Axiom implements symbolic matrices.

>Probably 2d and 3d visualization are also at least as important as
>calculus to the target audience we are talking about. Linear algebra
>and numerical solving is also extremely important... (thanks mike and
>robertwb for implementing symbolic matrices for 2.9.1!!!!)

In the Axiom tree distribution is a function called viewalone.
It is a standalone C program that implements 2D and 3D graphs
with many features including shading, scaling, rotation, and
printing the results as postscript files. The program can also
be called from within Axiom.

To try the viewalone program look for directories with the extension .view
Invoke viewalone on the directory and you should see a live graph that
you can manipulate.

This could easily be packaged separately from Axiom as a standalone
part of Sage.

Tim

Ondrej Certik

unread,
Dec 23, 2007, 5:53:52 AM12/23/07
to sage-...@googlegroups.com
Hi Tim!

> >Me too. I've been struck by the fact that most of the people that
> >I've talked to about Sage, including graduate students (in other
> >fields), are most interested in the calculus kind of stuff.
>
> Axiom implements the Risch Algorithm for elementary functions.
> If it returns the answer as an unevaluated integral that is a proof
> that there exists no integral that can be expressed in elementary
> terms. In addition, Axiom implements many of the extended cases of
> the algorithm for non-elementary functions.

Excellent. We were playing with the Risch algorithm in SymPy too.
If axiom could be installed in matter of minutes (last time I tried
it was 10 hours and it failed[1], in April), maybe it could be
considered as a base for a good integrator in Sage. But
currently it's imho much better to use Maxima's, because
Maxima is alreay in Sage and there are Python wrappers for it. And in the long
term, it's imho better to rewrite the algorithm in Python, for
readibility. SymPy shows, that it is possible.

> >I was tired of no one else doing any thing about that, and had two
> >people tell me just a week ago that they'd probably use Sage if it
> >had symbolic matrices.
>
> Axiom implements symbolic matrices.

SymPy too and Maxima too.
Sage has symbolic matrices for a long time through SymPy,
but it needs to be integrated
tightly with the rest of Sage and currently Sage uses maxima
(more tested, more robust, faster),
so someone had to write a patch for it.

> >Probably 2d and 3d visualization are also at least as important as
> >calculus to the target audience we are talking about. Linear algebra
> >and numerical solving is also extremely important... (thanks mike and
> >robertwb for implementing symbolic matrices for 2.9.1!!!!)
>
> In the Axiom tree distribution is a function called viewalone.
> It is a standalone C program that implements 2D and 3D graphs
> with many features including shading, scaling, rotation, and
> printing the results as postscript files. The program can also
> be called from within Axiom.
>
> To try the viewalone program look for directories with the extension .view
> Invoke viewalone on the directory and you should see a live graph that
> you can manipulate.
>
> This could easily be packaged separately from Axiom as a standalone
> part of Sage.

That's interesting, I didn't know about it. In Sage there are quite a lot
of programs for 3D things, but I think Robert was talking about using 3D
things from the notebook (from the browser).

Ondrej

[1] I reported the problems on Axiom mailinglist and you (or someone else)
promptly offered help how to fix it, so in the end I managed to
compile everything.
But it's important that this works out of the box, on all linuxes, Os
X, and Solaris.

root

unread,
Dec 23, 2007, 1:30:58 PM12/23/07
to sage-...@googlegroups.com, sage-...@googlegroups.com
>Excellent. We were playing with the Risch algorithm in SymPy too.
>If axiom could be installed in matter of minutes (last time I tried
>it was 10 hours and it failed[1], in April), maybe it could be
>considered as a base for a good integrator in Sage. But
>currently it's imho much better to use Maxima's, because
>Maxima is alreay in Sage and there are Python wrappers for it. And in the long
>term, it's imho better to rewrite the algorithm in Python, for
>readibility. SymPy shows, that it is possible.

Well if you're going to go to all of the trouble to re-implement Risch
it would be worthwhile to spend the time to heavily document the
algorithm. I'd suggest using some form of literate programming. It
is a nontrivial exercise to re-implement. Axiom's integrator was
written by the people who invented the algorithms. Unfortunately
they did not document the details of how the code works.

Tim

root

unread,
Dec 23, 2007, 1:37:11 PM12/23/07
to sage-...@googlegroups.com, sage-...@googlegroups.com
>> >Probably 2d and 3d visualization are also at least as important as
>> >calculus to the target audience we are talking about. Linear algebra
>> >and numerical solving is also extremely important... (thanks mike and
>> >robertwb for implementing symbolic matrices for 2.9.1!!!!)
>>
>> In the Axiom tree distribution is a function called viewalone.
>> It is a standalone C program that implements 2D and 3D graphs
>> with many features including shading, scaling, rotation, and
>> printing the results as postscript files. The program can also
>> be called from within Axiom.
>>
>> To try the viewalone program look for directories with the extension .view
>> Invoke viewalone on the directory and you should see a live graph that
>> you can manipulate.
>>
>> This could easily be packaged separately from Axiom as a standalone
>> part of Sage.

>That's interesting, I didn't know about it. In Sage there are quite a lot
>of programs for 3D things, but I think Robert was talking about using 3D
>things from the notebook (from the browser).

If you have a copy of the Axiom look at the color plates in the center
of the book. These examples (e.g, Tubular Torus knots, complex cube
roots, conformal maps, klein bottles, Sierpinsky's minimal surface,
Antoine's necklace, Scherk's minimal surface, Ribbon plots) were all
done using the code shown on page 691. Very complex objects are
created in 30 lines of code.

Tim

root

unread,
Dec 23, 2007, 1:38:36 PM12/23/07
to sage-...@googlegroups.com, sage-...@googlegroups.com
>But it's important that this works out of the box, on all linuxes, Os
>X, and Solaris.

The graphics code only depends on X11.

Tim

William Stein

unread,
Dec 23, 2007, 1:12:40 PM12/23/07
to sage-...@googlegroups.com
1. For non-notebook graphics we should do whatever Enthought is doing,
since collaboration with them as much as makes sense is by far in our
best interest; this is matplotlib/vtk/mayavi2

2. For notebook graphics we need something that doesn't require any
browser plugins, is VERY robust, reasonably fast, is gpl-compatible
and easy to use. The java jmol program is by far the best option I've
seen so far for this.

3. Maxima is a standard part of sage and will remain so for a long
time, since quite a lot of sage builds on top of maxima, and
collaboration with Maxima (which has by far the biggest user community
of all open source CAS progrsms) is very important for sage. We
can't have both Axiom and Maxima as non-default packages in Sage,
since there is too big of an overlap in functionality. There is
shockingly little overlap between all the standard components of sage
- perhaps pari and ntl have the biggest overlsp.

- William

(Sent from my iPhone.)

John Cremona

unread,
Dec 23, 2007, 1:13:28 PM12/23/07
to sage-...@googlegroups.com
It is possible that James Davenport, who spoke at Sage Days 6, might
wish to get in volced with a projtec to re-implement Risch's
algorithm. James's PhD was on this, around 1980, published in
Springer LNCS I seem to remember. He also worked on Scratchpad years
ago, when it developed by Jenks et al at IBM Yorktown Heights -- and
am I right in thinking that Axiom evolved from Scratchpad?

James might have some useful advice even if he does not want to do any coding.

When I started to implement what became mwrank I had useful advice
from James Davenport who was then the only person who had implemented
general 2-descent on elliptic curves. He had done it for the Antwerp
IV tables of elliptic curves, while still a high school student, in
some assembly language for a machine which no longer existed when I
asked him (around 1988), though he still had a magnetic tape with the
machine code on it...

John


--
John Cremona

John Cremona

unread,
Dec 23, 2007, 1:17:00 PM12/23/07
to sage-...@googlegroups.com

root

unread,
Dec 23, 2007, 4:39:29 PM12/23/07
to sage-...@googlegroups.com, sage-...@googlegroups.com
>It is possible that James Davenport, who spoke at Sage Days 6, might
>wish to get in volced with a projtec to re-implement Risch's
>algorithm. James's PhD was on this, around 1980, published in
>Springer LNCS I seem to remember. He also worked on Scratchpad years
>ago, when it developed by Jenks et al at IBM Yorktown Heights -- and
>am I right in thinking that Axiom evolved from Scratchpad?

James is astonishingly good at computational mathematics.

I was one of the project members at IBM Research. James did
some of the work, as did Barry Trager and Manual Bronstein. The
project went by the name Scratchpad/Scratchpad II and became Axiom
when it was sold to NAG.

Axiom was sold for years as a commercial competitor to Mathematica and
Maple. NAG released the code to me under the BSD license. I've been the
lead developer on the Axiom project which is the open source version
of the system (http://savannah.nongnu.org/projects/axiom).

The Axiom Tutorial book (ISBN 1-4116-6597-X) lists approximately
170 people who contributed to Axiom so far.

Tim

John Cremona

unread,
Dec 23, 2007, 4:47:59 PM12/23/07
to sage-...@googlegroups.com
Interesting history! Were you by any chance at the computer algebra
conference in New York City (at the Courant Institute I think) in
1984? I remember James giving a demo of Scratchpad there, and
dreaming of one day being able to afford a computer which could run
it...

John

On 23/12/2007, root <da...@axiom-developer.org> wrote:
>


--
John Cremona

Ted Kosan

unread,
Dec 23, 2007, 10:10:57 PM12/23/07
to sage-...@googlegroups.com
William wrote:

> Ted, what functionality do you see as being most important for the
> "scientific calculator" target audience you have in your pie chart?

I will reply to this question sometime later next week.

Ted

Ted Kosan

unread,
Dec 29, 2007, 1:30:38 PM12/29/07
to sage-...@googlegroups.com
William wrote:

> >> I thought that chart was crazy until a few days ago when I visited
> >> a friend
> >> of my wife who lives in Phoenix who teaches high school and community
> >> college mathematics (he is a Russian with a masters from U of A).
> >> The world of "math computation" for them is whatever
> >> a TI-83 calculator can do -- seriously. And when we talked about
> >> Sage, he immediately thought of how useful it could be -- as a web
> >> service --
> >> in the context of the classes he teaches.

Ondrej wrote:

> > It's all about calculus. I am willing to make a bet that 90% of Sage
> > users will
> > only need calculus. So it ought to work really, really well. It's
> > still a long way though.

William wrote:

> I agree. That's one reason I'm so happy you are now a sage developer!
>

> Probably 2d and 3d visualization are also at least as important as
> calculus to the target audience we are talking about. Linear algebra
> and numerical solving is also extremely important... (thanks mike and
> robertwb for implementing symbolic matrices for 2.9.1!!!!)
>

> Ted, what functionality do you see as being most important for the
> "scientific calculator" target audience you have in your pie chart?

I do not know what specific functionality SAGE is missing in order to
be usable in primary and secondary schools, but I think I have a good
way to find out. Here is a TI-83 online classroom activities resource
that TI makes available to teachers:

http://education.ti.com/educationportal/activityexchange/activity_list.do?cid=us

My thought is to go through each of these activity links and send an
email to the teacher that created the activity to ask permission to
create a SAGE version of it. This process should uncover most of the
deficiencies that SAGE may have from the point of view of the
scientific calculator target audience and it should also be an
excellent way to market SAGE to this audience.

A good time to contact these teachers is a couple of weeks after
school starts in January and I am in the process of preparing to do
this.

Ted

Reply all
Reply to author
Forward
0 new messages