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
If not as a standalone mentor organisation. You should definitely try
it again William.
Ondrej
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
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
I agree with you 100%.
Ondrej
>> 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
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
>
> 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
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
>> 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
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
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-----
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
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
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
--
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
> 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
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
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.
--
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
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
>
> >
>> 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
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
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
> >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.
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
>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
The graphics code only depends on X11.
Tim
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.)
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
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
On 23/12/2007, root <da...@axiom-developer.org> wrote:
>
--
John Cremona
> 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
> >> 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