So, here's the thing... and this is entirely IMHO (some may question
whether the "H" applies :-)  There's been some off-and-on sidebar
chatter on this subject for a while and this thread seems a place to
insert it publicly.

Sage has a HUGE amount of functionality built in that is very useful
to the community attending SciPy '09... but it isn't obvious.  I come
from the engineering community (we call it that, but engineers are
more like cannibalistic tribal hordes than true communities) and had
never heard of Magma before encountering Sage.  The first time I saw
the Inheritance Hierarchy of "1" I thought it was really cool but had
no idea that the integer 1 was a group of a ring over a
multidimensional irrational transnational space.

However, since I'm more of a coder than many engineers, and was a
Python person, I saw the Notebook, Cython, R, numpy, Blas and the
dozens of other packages and knew that everything I needed was in
there and had no problems cuz the stuff I didn't understand / use
isn't in the way (most of the time... as long as I put a %python in
every cell I avoid coersion which I understand in the abstract but
applies to domains way outside my needs / knowledge)

Last summer I was going through the presentations / documentation.
Most have examples showing something about ZZ.  Then there's some kind
of factorization which spews a few thousand integers.  Very cool and
I'm sure there are wildly useful reasons for all that... But I'm also
pretty sure that most engineers come away thinking Sage is for some
branch of weird crypto stuff thats probably cool, but really just
wanted to invert this matrix and plot the Eigenvalues.

Thing is, Engineers / physicists (well, maybe not physicists) are
easily overwhelmed.  The choice of packages available is daunting and
the culling process requires breadth first search.  My guess is that
Sage gets passed over all too often because it speaks a different
language.

If it were me, and I were trying to show the folks from my past life
"why is sage important" I would start with the notebook... I'd do some
simple numerical stuff with regular python, some plotting, explain how
interact works... and then very gently go through numpy, a few
examples with scipy, do a bunch of plots, and sorta finish off with
cython.  The cython example would emphasize both the incremental
approach to improving performance and, very importantly, how it makes
integrating with C/C++ very easy (python people have often scanned the
C integration documentation and come away knowing they're never gonna
do any of that)

 The cython example might start with native python and by adding a few
key words and some strong typing that "a miracle occurs" (BTW, many of
these examples exist but are often accompanied by ZZ / prime rational
modular form group ring theory).  Recently, William has been showing
an example he did in real-time which was very simple to comprehend and
drives the cython story home.

If it were a longer presentation, I'd then discuss some of the
underlying mechanisms making it even possible to integrate the 80 or
so open source packages included in Sage.  To an engineer, thats truly
mind blowing and speaks volumes about "that which can't be seen"
meaning an architectural approach which also just happens to include
some very very hard core mathematics.  Engineers like math, and even
use a bit of it from time to time... (many sage folks would call it
"arithmetic") but its related to their needs and from time to time
mathematicians come up with some really cool stuff... that we
engineers can truly use.

(Of course, virtually all math used by engineers has a hard cutoff
date somewhere in the 1800's (laplace and fourier are rockin' dudes to
engineers))

So again, IMHO, the issue is entirely about telling the Sage story to
an audience that might assume the ZZ() function is sage's version of
sleep (get it... zzz's)

The key is there needs to be a path for non-mathematicians to see that
Sage is way more than something for mathematicians and is, in fact, a
comprehensive approach to problem solving which already happens to
natively include 99% of the capabilities most engineers / scientists
need.

-glenn


--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to 
sage-devel-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to