I just gave this Sage talk at SeaPIG (Seattle Python Interest Group --
http://www.seapig.org/NorthwestPythonDay):
http://sage.math.washington.edu/talks/20090131-seapig/
This was to about 60 people. It went very well and many people in the
audience thanked us (=the sage developers).
William
--
William Stein
Associate Professor of Mathematics
University of Washington
http://wstein.org
On Sun, Feb 1, 2009 at 10:37 AM, William Stein <wst...@gmail.com> wrote:
> I just gave this Sage talk at SeaPIG (Seattle Python Interest Group --
> http://www.seapig.org/NorthwestPythonDay):
>
> http://sage.math.washington.edu/talks/20090131-seapig/
>
> This was to about 60 people. It went very well and many people in the
> audience thanked us (=the sage developers).
The talk wiki page at
http://wiki.sagemath.org/Talks
has been updated with the above info.
Regards
Minh Van Nguyen
Thanks! I was scared you were going to point out 10 typos :-)
William
Believe it or not, I've been waiting for over 10 minutes and the
Firefox download manager hasn't finished downloading your talk slides.
So unfortunately I can't put on my trademark mvngu pedantic hat :-)
Regards
Minh Van Nguyen
Maple's Linear Algebra is noted for not being particularly good at large
sizes. With symbolic entries, it's much worse. Thanks for these timings,
it just reinforces my idea that I should switch as soon as the calculus
improves.
Is there a particular reason why Magma is that much better for small
inputs?
Cheers,
Tim.
---
Tim Lahey
PhD Candidate, Systems Design Engineering
University of Waterloo
http://www.linkedin.com/in/timlahey
I would love to know. I've cc'd Allan Steel, since he would know.
Maybe he'll tell us.
Allan, for reference the complete thread for this discussion is:
http://groups.google.com/group/sage-devel/browse_thread/thread/30d4a52c2795feb9
By the way, we are having major problems with Sage on Fedora 64-bit...
and somebody mentioned you might have some tricks to fix this. The
thread about that is here:
-- William
What does that mean? I am sitting here using Maple 12, and I type
wstein@sage:/space/wstein/sage-3.3.alpha2$ maple
|\^/| Maple 12 (X86 64 LINUX)
...
> with(linalg);
> A := LinearAlgebra:-RandomMatrix(200);
> det(A);
and it takes 30 seconds.
I know it was deprecated in Maple 6, but isn't it odd that Maple doesn't even
print a warning or something like 6 years later that one is recommended not
to use the det function?
I know this is a Maple question, not a Sage question, but the Sage
project is running into very similar issues of deprecation, etc., and
we're trying to come up with the best policies for how to deal with
them. Obviously the Maple devs must have put a lot of thought into
this, and the solution they came up with is extremely different than
what I would do, so I'm wondering if you have any thoughts. In
summary, my perspective is that the Maple devs decided that to
deprecate a function "foo" means:
(1) leave foo in, i.e., never delete it from maple, [in sage we
would remove foo after 6-12 months],
(2) don't print any warnings at all when people use foo ever [in
sage we would print a deprecation warning]
(3) make sure foo continues to work exactly as it always did before
it was deprecated, in particular, even if there is an identical
function Foo elsewhere in maple that is a million times faster, make
sure that foo continues to be a million times slower than Foo [in
Sage, we would at least make foo call Foo, I think].
So in Sage our plan is to do everything differently. Sage is a young
and immature project compared to Maple. Any thoughts about whether
we're just totally headed down the wrong path with respect to
deprecation. Note that in Sage we have put in various deprecation
warnings, but I think we still haven't ever swept up and deleted old
deprecated code. We just plan to.
-- William
+1
Computing determinants, ranks, minpolys, charpolys, elementary
invariants, etc. of matrices is a perfect example of a superb class of
problems to attack with GPUs. I hope you'll write a nice paper about
doing so!
-- William
> A new version of Maple is only released every year, and there are lots
> of people who expect their 10 year old code to run. It's almost a
> Microsoft-like situation. And since people have to pay for upgrades
> there's an entirely different dynamic. Many people skip releases and
> will only upgrade if there's something new that interests them. In a
> way it makes sense. Maple is a 25 year old product, so any change -
> no matter how big - is evolutionary. The developers need to minimize
> the hassle that this causes for users, because for many people Maple
> is just a tool that they don't want to be bothered by. Sage doesn't
> have this problem because it is a young project with a smaller, mostly
> enthusiast user base. You should break everything that's wrong while
> you can :)
I believe Sage is a direct contrast to that above. Sage releases often
(often enough that some users skip *many* releases, like I've seen
people talking about sage 3.0.X series). Since Sage is freely available,
there's not much users can rant, specially since mabshoff is working
(really hard) to make available older versions of Sage. Specially for
this reason, it's possible for a book to publish some code and specify
Sage's version, and in some years possibly a user will be able to
download the older Sage and run the code. Of course since Sage evolves
much faster, it's also possible that the code will not run on current
versions, but I think that stalling development in favor of backwards
compatibility must have a limit or we risk losing some of what makes
Sage that special. If a user wants to use a new Sage feature with old
code, I think it should be left to the user to choose a compromise
between breaking the code and using the new feature (IF the code breaks,
which is not always).
Ronan