I'm writing a Sage "grand tour" worksheet with one section for each of
the 39 main modules in SAGE_ROOT/devel/sage/sage/. For each, there is
a quick summary of what it is about and where it comes from, then a
short discussion fo where it is going next, followed by a couple of
examples. You can see the current version here:
http://480.sagenb.org/home/pub/45/
If you have any corrections, additions, etc., to make, please email
them to me in response to this email. Thanks. There are still about
15 sections left to write.
A key thing is that each section should be pretty short. Ideally, I
would like to be able to go over some polished version of this whole
thing in two talks (i.e., 100 minutes).
William
--
William Stein
Associate Professor of Mathematics
University of Washington
http://wstein.org
>
> Hi,
>
> I'm writing a Sage "grand tour" worksheet with one section for each of
> the 39 main modules in SAGE_ROOT/devel/sage/sage/. For each, there is
> a quick summary of what it is about and where it comes from, then a
> short discussion fo where it is going next, followed by a couple of
> examples.
> You can see the current version here:
>
> http://480.sagenb.org/home/pub/45/
>
> If you have any corrections, additions, etc., to make, please email
> them to me in response to this email. Thanks. There are still about
> 15 sections left to write.
I think we've got more than 300,000 lines of code.
Robert-Bradshaws-Laptop:~/sage/sage-4.0/devel/sage-main robert$ cat
*.py */*.py */*/*.py */*/*/*.py */*/*.pyx */*/*/*.pyx | grep -v "^ *
$" | wc
884811 3774914 35147766
Robert-Bradshaws-Laptop:~/sage/sage-4.0/devel/sage-main robert$ cat
*.py */*.py */*/*.py */*/*/*.py */*/*.pyx */*/*/*.pyx | grep "sage:"
| wc
141677 571148 6443360
Algebras
- "has been hardly touched since" sounds pessimistic. I would say
that it remained untouched until earlier this year, when people
started contributing to it again (which leads into your examples).
Combinat
- Is there a good quote by the combinat people about how happy they
are to have switched? After all, we're trying to sell switching.
- It doesn't come across very strong that more than just porting
has been going on.
Ext
- Yes, we should remove all of the python_* files now that they're
shipped with Cython. It just hasn't been done yet (should be easy,
but not sure what the fallout might be).
Finance
- "time series of double precision numbers" would it be less accurate
to just say "lists of double precision numbers."
Graphing
- "graph_isom is old, and needs to go" -- should indicate what it's
been superseded by.
Gsl
- is syipy (nearly) a supserset of what GSL offers? If so, we should
say so, or at least that it has a large user community and handles
the needs of people in the numerical fields
Schemes
- Maybe show off elliptic curves a bit more (e.g. compute some BSD
invariants, or at least the rank/generators, of 37a).
Structure
An coercion example
sage: R.<x> = ZZ[]
sage: sage.structure.element.get_coercion_model().explain(1/2, x+4)
Action discovered.
Left scalar multiplication by Rational Field on Univariate
Polynomial Ring in x over Integer Ring
Result lives in Univariate Polynomial Ring in x over Rational Field
Univariate Polynomial Ring in x over Rational Field
sage: 1/2 * (x+4)
1/2*x + 2
On Fri, Jun 5, 2009 at 7:15 PM, William Stein<wst...@gmail.com> wrote:
>
> Hi,
>
> I'm writing a Sage "grand tour" worksheet with one section for each of
> the 39 main modules in SAGE_ROOT/devel/sage/sage/. For each, there is
> a quick summary of what it is about and where it comes from, then a
> short discussion fo where it is going next, followed by a couple of
> examples. You can see the current version here:
>
> http://480.sagenb.org/home/pub/45/
>
> If you have any corrections, additions, etc., to make, please email
> them to me in response to this email. Thanks. There are still about
> 15 sections left to write.
Here are some corrections/typos:
[1]
calculs.py
---> calculus.py
- The file calculs.py makes available function rather than
+ The file calculus.py makes available function rather than
[2]
multiyear
---> multi-year
- MuPAD combinat was a major multiyear effort of nearly a dozen mathematicians.
+ MuPAD combinat was a major multi-year effort of nearly a dozen mathematicians.
[3]
comletely
---> completely
- the current direction of development is to comletely finish their port
+ the current direction of development is to completely finish their port
[4]
crytptographic
---> cryptographic
- include scaled-down versions of standard crytptographic algorithms,
yet provide
+ include scaled-down versions of standard cryptographic algorithms, yet provide
[5]
realtime
---> real-time
- code for downloading historical and realtime stock quote data from Google
+ code for downloading historical and real-time stock quote data from Google
[6]
certains
---> certain
- code for enumerating certains types of graphs efficiently
+ code for enumerating certain types of graphs efficiently
[7]
such derivatives
---> such as derivatives
- method version of many symbolic functions, such derivatives, limits,
+ method version of many symbolic functions, such as derivatives, limits,
[8]
of
---> in
- understanding and getting his code ready for inclusion of Sage
+ understanding and getting his code ready for inclusion in Sage
[9]
I am
---> Martin Albrecht
- and I am expanding its usefulness for algebraic cryptanalysis by
+ and Martin Albrecht expanding its usefulness for algebraic cryptanalysis by
[10]
database
---> databases
- provides nice interfaces to a numerous Sage database
+ provides nice interfaces to a numerous Sage databases
[11]
custom-formated
---> custom-formatted
- making custom-formated Sage databases
+ making custom-formatted Sage databases
[12]
is provides
---> provides
- The lattice_polytope.py (by Andrey Novoseltsev) is provides extensive
+ The lattice_polytope.py (by Andrey Novoseltsev) provides extensive
[13]
platonic
---> Platonic
- Robert's platonic solids which are not
+ Robert's Platonic solids which are not
[14]
modules
---> module
- the Sage graphs modules implements a huge amount of
+ the Sage graphs module implements a huge amount of
> A key thing is that each section should be pretty short. Ideally, I
> would like to be able to go over some polished version of this whole
> thing in two talks (i.e., 100 minutes).
>
> William
--
Regards
Minh Van Nguyen
I like counting unique lines as a lower bound, since that eliminates a
lot of redundancy (e.g., r""" lines for all docstrings). I get just
over 300,000 doing that:
teragon:sage wstein$ cat *.py */*.py */*/*.py */*/*/*.py *.pyx */*.pyx
*/*/*.pyx */*/*/*.pyx *.pxd */*.pxd */*/*.pxd */*/*/*.pxd |sort |uniq
|wc -l
cat: *.pyx: No such file or directory
cat: *.pxd: No such file or directory
343084
But there are indeed a lot of lines of code to deal with!
>
> Algebras
> - "has been hardly touched since" sounds pessimistic. I would say
> that it remained untouched until earlier this year, when people
> started contributing to it again (which leads into your examples).
That sentence was not about all algebras code, but about
free_algebra's, which indeed has hardly been touched.
>
> Combinat
> - Is there a good quote by the combinat people about how happy they
> are to have switched? After all, we're trying to sell switching.
I don't have such a quote.
> - It doesn't come across very strong that more than just porting
> has been going on.
I actually have the impression that not much beyond "just porting" has
been going on. Somebody who knows better should correct me if I'm
wrong (but I don't see "just porting" as unimpressive, personally).
The only thing I know about is Dan Bump's work and the words library.
I've added something about the words library.
>
> Ext
> - Yes, we should remove all of the python_* files now that they're
> shipped with Cython. It just hasn't been done yet (should be easy,
> but not sure what the fallout might be).
OK, this is now http://trac.sagemath.org/sage_trac/ticket/6227
>
> Finance
> - "time series of double precision numbers" would it be less accurate
> to just say "lists of double precision numbers."
That's accurate.
> Graphing
> - "graph_isom is old, and needs to go" -- should indicate what it's
> been superseded by.
Since I have no idea, I'll just delete that sentence.
>
> Gsl
> - is syipy (nearly) a supserset of what GSL offers? If so, we should
> say so, or at least that it has a large user community and handles
> the needs of people in the numerical fields
Functionality wise scipy is nearly a superset, though GSL is much
easier to use from Cython since it is a C library. So both have a lot
to offer.
>
> Schemes
> - Maybe show off elliptic curves a bit more (e.g. compute some BSD
> invariants, or at least the rank/generators, of 37a).
>
> Structure
> An coercion example
>
> sage: R.<x> = ZZ[]
> sage: sage.structure.element.get_coercion_model().explain(1/2, x+4)
> Action discovered.
> Left scalar multiplication by Rational Field on Univariate
> Polynomial Ring in x over Integer Ring
> Result lives in Univariate Polynomial Ring in x over Rational Field
> Univariate Polynomial Ring in x over Rational Field
> sage: 1/2 * (x+4)
> 1/2*x + 2
Nice.
William
I've posted a new version of the "grand tour" that has all 39 sections
filled in.
http://480.sagenb.org/home/pub/46/
William
2009/6/5 William Stein <wst...@gmail.com>:
In the matrix Module:
"The matrix module is anothe huge module" (missing an r on "another")
This is fantastic! Thanks for posting it!
Jason
> William
>
>
> 2009/6/5 William Stein <wst...@gmail.com>:
>> Hi,
>>
>> I'm writing a Sage "grand tour" worksheet with one section for each of
>> the 39 main modules in SAGE_ROOT/devel/sage/sage/. For each, there is
>> a quick summary of what it is about and where it comes from, then a
>> short discussion fo where it is going next, followed by a couple of
>> examples. You can see the current version here:
>>
>> http://480.sagenb.org/home/pub/45/
>>
>> If you have any corrections, additions, etc., to make, please email
>> them to me in response to this email. Thanks. There are still about
>> 15 sections left to write.
>>
>> A key thing is that each section should be pretty short. Ideally, I
>> would like to be able to go over some polished version of this whole
>> thing in two talks (i.e., 100 minutes).
>>
>> William
>>
>> --
>> William Stein
>> Associate Professor of Mathematics
>> University of Washington
>> http://wstein.org
>>
>
>
>
--
Jason Grout
As an undergrad and someone looking for other Sage specific projects
to work on, this is what I wanted to say in response to William's
"Grand Tour". But sadly, Rob beats me to it and he has expressed it
more eloquently than I would have done.
> Rob
It sounds like folding the header sections together (hiding the text
between) would be a valuable feature!
Jason
--
Jason Grout
The entire text for the worksheet got completely *scrambled*. This is
due to a *major* bug in the tinyMCE integration, which anybody who has
seriously used the SAge notebook has run into. Nobody has come up
with a clean test case though. My worksheet is unfortunately
completely scrambled, and I'll have to spend an hour sorting it
through. Jason, since you wrote the tinymce integration into sage,
any idea why it would randomly scramble things?
Everyone else, please refrain from reading the worksheet until I can
post another manually unscrabled version (in < 1 hour, I hope).
Teaching from this scrambled version just now was pretty disturbing by
the way.
If *anybody* has any idea how to systematically replicate this "random
scrambling" of worksheet contents, please post.
-- William
OK, here is an unscrambled worksheet:
Unfortunately, I just got done teaching my last class before the
summer break, so now it'll be even harder to debug this!
>
>> If *anybody* has any idea how to systematically replicate this "random
>> scrambling" of worksheet contents, please post.
>
> I can't quite do it, though I've tried many times. BUT I do know what
> it does, I think. I believe that somehow TinyMCE is recording the
> inputs and eventually gets too much input if you don't save the
> worksheet. Then (I'm pretty sure, again can't replicate) everything
> since your last save/the last time TinyMCE could handle it is appended
> in REVERSE order at the bottom of the worksheet - check it out! I
> hope this helps Jason or someone else replicate it.
That makes some sense. Not having looked yet, I'm guessing that the
TinyMCE code in Sage doesn't properly verify that code was actually
inserted by the server into the server's copy of the worksheet. E.g.,
when you insert a new cell in the notebook, you do *not* see that new
cell inserted until the message goes to the server "insert this cell",
then a message comes *back* saying "new cell inserted". Try the
following:
(1) start the notebook server
(2) make a worksheet with some cells include some tinymce cells
(3) kill the notebook server.
(4) notice that you get a big error when you attempt to insert a cell
(5) try to edit a tinymce cell. Notice that everything appears to
work fine, but in fact it can't be since the server doesn't exist.
The above "proves" that if the message "this text cell has changed"
from the web browser to the server somehow gets dropped, then one will
silently just have edits vanish. Maybe they get sent later, which is
why they appear elsewhere in the document.
In any case, irregardless of it fixing the reording bug or not, the
tinymce integration code should be changed so that when you save your
changes to a cell, it does a roundtrip to the server to make damn sure
the changes really got sent.
William