[sage-devel] Re: Symlinks to sage don't work unless ...
Hi Max, the patch you suggested has been cleaned up, reviewed and applied. Since you contributed to Sage we will add you to http://lite.sagemath.org/developer-map.html if you are interested. Feel free to contact me off list for the details. Cheers, Michael --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: ISSAC abstract
On Wed, Apr 30, 2008 at 1:57 AM, William Stein wrote: Hi, I'm giving a plenary talk at ISSAC in Linz, Austria this summer. I'm supposed to write a 2-page abstract/paper for the proceedings. I just wrote something: http://sage.math.washington.edu/home/was/tmp/abstract.pdf I've been advised by some people on this list to focus on algorithms in Sage and purely technical things, but I've totally ignored that advice and instead written something very social in which I as honestly as possible lay out exactly why Sage exists and try to describe somewhat just what Sage is. I have to submit this in a couple days, but comments are welcome. Hmmm, I have to give it a -1. :-( I don't like it much. But it's your show. ... I really don't think that you will find many people at this meeting who are interested in open source alternatives to commercial software as such. Many of the attendees will have and may still be involved in developing software for the commercial systems. Most are also involved in some form of academic research in computer algebra systems. I don't mean that people wont be interested in hearing about the advantages of open source, but I believe that it would not normally be viewed as their primary motivation or preoccupation. And I think they will probably already have a fairly good idea about why Sage exists. I think the advice you received from other people on this list to focus on algorithms and technical things was probably pretty good for the intended audience. It seems that usually there are three speakers and they are all technical in a general sense. For example at ISSAC 2006 http://issac2006.dima.unige.it there were three plenary speakers: Christopher Umans Group-Theoretic Algorithms for Matrix Multiplication Hennie Poulisse Computational Communicative Algebra Joachim von zur Gathen Who was Who in polynomial factorization and at ISSAC 2005 http://www.mmrc.iss.ac.cn/issac2005 these five: Stephen M. Watt A Framework for Pen-Based Mathematical Computing Prof. Hai Jin The ChinaGrid and its Impact on e-Science in China Bruno Salvy D-finiteness: Algorithms and Applications Bruno Buchberger A View on the Future of Symbolic Computation Wen-Tsun Wu On a Finite Kernel Theorem for Polynomial-Type Optimization Problems and Some of its Applications (perhaps two here somewhat less technical) and ISSAC 2004 http://www.risc.uni-linz.ac.at/about/conferences/issac2004/invitedtalks.html 1. Numerical Algebraic Geometry and Symbolic Computation by Jan Verschelde 2. Triangulations of Polytopes and Algebraic Geometry by Francisco Santos 3. Sum of Squares of Polynomials and Their Applications by Pablo Parrilo - Talking about what Sage is, however does make sense to me. If you are not inclined to speak specifically about how Sage is used in your own or other people's research, then why not say something about how Sage actually achieves integration between such a large number of systems? How do you make Maxima results available to Gap and then compute something that you display a fancy 3d graphic etc. What is the importance of Python as the interpreter? What about trade-offs for compiled code in Cython or interfaces to external libraries? How important is the web-based notebook interface? ... Just some different ideas. I know ideas are cheap, but you did ask. :-) Regards, Bill Page. --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: ISSAC abstract
BTW, asking for contributors is the surest way to get zero contributors. You should invite people to try Sage (online) and to download it so it runs faster. Also, I thought of another great reason why they would like Sage. Many of these people write their own libraries. Then you have to write input and output routines to get data in and out of your program. No sane person enjoys this. It's a horrible distraction and a waste of time. But if they use Sage they can easily hook in their libraries using (easy to learn) Python code. If possible, show a very simple example. Something like: you type in a univariate polynomial into Sage and then you call a C library, and use Python code to construct a dense array for C. If the interface code fits on one slide then you are sold. Just remove all the error checking and make it as small as possible. If possible, return a nice result to Sage. For example: use the C code to compute the derivative. It just shows how easy it can be to interface a program with Sage. --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: ISSAC abstract
On Apr 29, 11:57 pm, William Stein [EMAIL PROTECTED] wrote: I'm giving a plenary talk at ISSAC in Linz, Austria this summer. I'm supposed to write a 2-page abstract/paper for the proceedings. I just wrote something: http://sage.math.washington.edu/home/was/tmp/abstract.pdf I think what you wrote is a pretty good introduction to what Sage is, but it is a little long on the open source philosophy (which will turn some people off) and it leaves out interesting details. The audience will be very interested in why Sage might succeed, when previous open source efforts have failed to attract the large audience of general purpose users and developers. I suggest the following (some of which you mentioned): 1) python is an easy and widely used high level language which is particularly well suited for interfacing different programs 2) collecting all the existing open source programs has allowed Sage to quickly reach critical mass, ie: it is very usable right now 3) new and interesting things are being brought into Sage (JMol, user interface improvements, etc) 4) new mathematical algorithms and libraries are being developed for Sage (FLINT, Linear algebra, rapid development with Cython, etc) 5) researchers are using Sage right now (list contributors and areas, and papers if possible) 6) Sage is open source I think if you start with the technical merits you can easily win over the audience. These people have heard all kinds of sales pitches, and open source looks like just another crusade. They are all uniformly interested in computing things, and in software they can use for their work. Sage has a very strong case on those grounds, please (I'm begging you) stick to it :) Either way, good luck at ISSAC. --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: ISSAC abstract
I would be interested in real word use cases, which demonstrate, why such a system is needed. E.g., I think Simon king did some cool things involving at least Singular, GAP, Cython... On 30 Apr., 12:00, Roman Pearce [EMAIL PROTECTED] wrote: BTW, asking for contributors is the surest way to get zero contributors. You should invite people to try Sage (online) and to download it so it runs faster. Also, I thought of another great reason why they would like Sage. Many of these people write their own libraries. Then you have to write input and output routines to get data in and out of your program. No sane person enjoys this. It's a horrible distraction and a waste of time. But if they use Sage they can easily hook in their libraries using (easy to learn) Python code. If possible, show a very simple example. Something like: you type in a univariate polynomial into Sage and then you call a C library, and use Python code to construct a dense array for C. If the interface code fits on one slide then you are sold. Just remove all the error checking and make it as small as possible. If possible, return a nice result to Sage. For example: use the C code to compute the derivative. It just shows how easy it can be to interface a program with Sage. --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: ISSAC abstract
I like it but perhaps I am prejudiced:-) IMHO, SAGE would be dead (or at least a very lonely research project) if it weren't for the fact that it is free and open source. But also, design is an important factor. Some ideas (I hesitate to call them suggestions since it seems fine as is): 1. replace notable community by specific growth (as in derivative) numbers. 2. replace interfaces to all exisiting... by something specific like well-designed command-line interface to Python, GAP, ... (You can't say everything in 2 pages but I personally love the tabbed history and completion of the IPython interface and saw it wasn't mentioned.) 3. A specific example could be mentioned which smoothly integrates several systems. As Michael B suggests, a group invariant computation in a number field mixes GAP (for groups), Pari for the number field (is this correct?), and Singular (for the polynomial ring invariant theory computations). On Wed, Apr 30, 2008 at 1:57 AM, William Stein [EMAIL PROTECTED] wrote: Hi, I'm giving a plenary talk at ISSAC in Linz, Austria this summer. I'm supposed to write a 2-page abstract/paper for the proceedings. I just wrote something: http://sage.math.washington.edu/home/was/tmp/abstract.pdf I've been advised by some people on this list to focus on algorithms in Sage and purely technical things, but I've totally ignored that advice and instead written something very social in which I as honestly as possible lay out exactly why Sage exists and try to describe somewhat just what Sage is. I have to submit this in a couple days, but comments are welcome. -- William -- William Stein Associate Professor of Mathematics University of Washington http://wstein.org --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: ISSAC abstract
I agree somewhat with others here that you might want to make this a little more 'technical'. I would start with your sentence Sage itself is... - describe what it is first, then some of its capabilities and technical advantages. As far as open-source and free, I think the best thing is to highlight the concrete advantages this brings: easy collaboration with anyone in the world, possibilities for education and the developing world, verifying correctness of implementations, and the ease of becoming a developer (or to put it another way, the ease of getting your own code in). Your more personal background and reasons for starting it could either go later in the abstract, or you could just put them in the talk itself. Cheers, Marshall On Apr 30, 12:57 am, William Stein [EMAIL PROTECTED] wrote: Hi, I'm giving a plenary talk at ISSAC in Linz, Austria this summer. I'm supposed to write a 2-page abstract/paper for the proceedings. I just wrote something: http://sage.math.washington.edu/home/was/tmp/abstract.pdf I've been advised by some people on this list to focus on algorithms in Sage and purely technical things, but I've totally ignored that advice and instead written something very social in which I as honestly as possible lay out exactly why Sage exists and try to describe somewhat just what Sage is. I have to submit this in a couple days, but comments are welcome. -- William -- William Stein Associate Professor of Mathematics University of Washingtonhttp://wstein.org --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: ISSAC abstract
Dear Michael, On Apr 30, 12:15 pm, Michael Brickenstein [EMAIL PROTECTED] wrote: I would be interested in real word use cases, which demonstrate, why such a system is needed. E.g., I think Simon king did some cool things involving at least Singular, GAP, Cython... Do you call the computation of cohomology rings of finite p-groups a real world application?? Well, a colleague of mine had cohomology theory of Lie groups in his *applied* math exam (Vordiplom). I never understood how he convinced the people that this is legal... I think my project makes a good use of Sage: - Output of Gap is used as input for the C-programs written by David Green. - Output of the C-programs is input for methods of Cython classes (these classes are resolutions, cochains, chain maps etc). The classes also include a Cython wrapper for C-MeatAxe. - Finding generators and algebraic relations for the cohomology ring involves Gröbner bases computed with Singular. - At some point, i also use LinBox for Gauss algorithm. - Eventually, the output is a graded-commutative quotient ring in Singular. The project works, but definitely it isn't finished yet, there are still many things that ought to be improved. I don't know if William should mention a not-yet-finished project, but i do think it is a nice example of a Sage project. And, by the way, i do think that the main emphasis of the talk should be Sage allows for easy and conceptual programming based on a wide range of high quality math software, so +1 to Roman Pearce. It is good that Sage is free, but at least for me it matters most that it is both easy to use and very powerful. Cheers Simon --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: ISSAC abstract
Hi, On Apr 30, 12:26 pm, David Joyner [EMAIL PROTECTED] wrote: 3. A specific example could be mentioned which smoothly integrates several systems. As Michael B suggests, a group invariant computation in a number field mixes GAP (for groups), Pari for the number field (is this correct?), and Singular (for the polynomial ring invariant theory computations). Yes, that's another good example. Yours Simon --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: ISSAC abstract
Hi Simon! Do you call the computation of cohomology rings of finite p-groups a real world application?? Sorry, I used the wrong terms. I meant something like: nothing synthetic, just composing a few features, but demonstrating, how SAGE can be used to compute an actual research problem. I was asked exactly the same thing on the SINGULAR meeting, when I advertised SAGE, if SAGE is able to tackle the problems, they ( or mathematicians in general) are interested in: I mentioned your work as example. Michael --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: ISSAC abstract
By the way, for me it matters most that Python is a *beautiful* language. Michael On 30 Apr., 14:02, Michael Brickenstein [EMAIL PROTECTED] wrote: Hi Simon! Do you call the computation of cohomology rings of finite p-groups a real world application?? Sorry, I used the wrong terms. I meant something like: nothing synthetic, just composing a few features, but demonstrating, how SAGE can be used to compute an actual research problem. I was asked exactly the same thing on the SINGULAR meeting, when I advertised SAGE, if SAGE is able to tackle the problems, they ( or mathematicians in general) are interested in: I mentioned your work as example. Michael --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Fwd: Fwd: [sage-devel] A Sage Enhancement Proposal: Lattice Modules
-- Forwarded message -- From: Gabriele Nebe [EMAIL PROTECTED] Date: Wed, Apr 30, 2008 at 6:18 AM Subject: Re: Fwd: [sage-devel] A Sage Enhancement Proposal: Lattice Modules To: William Stein [EMAIL PROTECTED] Dear William, I am in the moment on a conference in Albania and e-mail is not so easy. Nevertheless: if these people want to implement such things, they should just go ahead and do so. I have no idea how to calculate explicitely isometires of indefinite lattices, but in principle we have a program to calculate the genus symbol of the lattice. And for indefinite ones this suffices to decide whether they are isometric or not. For definite lattices of course lattice reduction procedures (LLL) and shortest vector enumeration are other basic tools. Best Gabi -- William Stein Associate Professor of Mathematics University of Washington http://wstein.org --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: ISSAC abstract
On Wed, Apr 30, 2008 at 7:46 AM, Simon King [EMAIL PROTECTED] wrote: Dear Michael, On Apr 30, 12:15 pm, Michael Brickenstein [EMAIL PROTECTED] wrote: I would be interested in real word use cases, which demonstrate, why such a system is needed. E.g., I think Simon king did some cool things involving at least Singular, GAP, Cython... Do you call the computation of cohomology rings of finite p-groups a real world application?? I'm not trying to be king of the math-nerd-hill here but nerd mode on there is a book Hadamard Matrices and Their Applications by Horadam which shows how the various constructions of Hadamard codes can be unified using group cohomology. Of course Hadamard matrices lead to Hadamard codes, which were used in the Mariner space mission. I call space real world, don't you? :-) /nerd mode off I return you to your regularly scheduled channel. Well, a colleague of mine had cohomology theory of Lie groups in his *applied* math exam (Vordiplom). I never understood how he convinced the people that this is legal... I think my project makes a good use of Sage: - Output of Gap is used as input for the C-programs written by David Green. - Output of the C-programs is input for methods of Cython classes (these classes are resolutions, cochains, chain maps etc). The classes also include a Cython wrapper for C-MeatAxe. - Finding generators and algebraic relations for the cohomology ring involves Gröbner bases computed with Singular. - At some point, i also use LinBox for Gauss algorithm. - Eventually, the output is a graded-commutative quotient ring in Singular. The project works, but definitely it isn't finished yet, there are still many things that ought to be improved. I don't know if William should mention a not-yet-finished project, but i do think it is a nice example of a Sage project. And, by the way, i do think that the main emphasis of the talk should be Sage allows for easy and conceptual programming based on a wide range of high quality math software, so +1 to Roman Pearce. It is good that Sage is free, but at least for me it matters most that it is both easy to use and very powerful. Cheers Simon --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: ISSAC abstract
On Wed, Apr 30, 2008 at 12:02 AM, Bill Page [EMAIL PROTECTED] wrote: On Wed, Apr 30, 2008 at 1:57 AM, William Stein wrote: Hi, I'm giving a plenary talk at ISSAC in Linz, Austria this summer. I'm supposed to write a 2-page abstract/paper for the proceedings. I just wrote something: http://sage.math.washington.edu/home/was/tmp/abstract.pdf I've been advised by some people on this list to focus on algorithms in Sage and purely technical things, but I've totally ignored that advice and instead written something very social in which I as honestly as possible lay out exactly why Sage exists and try to describe somewhat just what Sage is. I have to submit this in a couple days, but comments are welcome. Hmmm, I have to give it a -1. :-( I don't like it much. But it's your show. ... Thanks for your honest feedbck. I really don't think that you will find many people at this meeting who are interested in open source alternatives to commercial software as such. I guess they will just be bored by my talk and fall asleep. Many of the attendees will have and may still be involved in developing software for the commercial systems. Most are also involved in some form of academic research in computer algebra systems. I don't mean that people wont be interested in hearing about the advantages of open source, but I believe that it would not normally be viewed as their primary motivation or preoccupation. And I think they will probably already have a fairly good idea about why Sage exists. I actually imagine that a lot of them won't have a good idea about why Sage exists. The main reason Sage exists is because exactly those people failed for a very long time to make the tools that I need for my research in number theory, so I had to take matters into my own hands. I suspect they won't see things that way. I think the advice you received from other people on this list to focus on algorithms and technical things was probably pretty good for the intended audience. It seems that usually there are three speakers and they are all technical in a general sense. For example at ISSAC 2006 http://issac2006.dima.unige.it there were three plenary speakers: Christopher Umans Group-Theoretic Algorithms for Matrix Multiplication Hennie Poulisse Computational Communicative Algebra Joachim von zur Gathen Who was Who in polynomial factorization and at ISSAC 2005 http://www.mmrc.iss.ac.cn/issac2005 these five: Stephen M. Watt A Framework for Pen-Based Mathematical Computing Prof. Hai Jin The ChinaGrid and its Impact on e-Science in China Bruno Salvy D-finiteness: Algorithms and Applications Bruno Buchberger A View on the Future of Symbolic Computation Wen-Tsun Wu On a Finite Kernel Theorem for Polynomial-Type Optimization Problems and Some of its Applications (perhaps two here somewhat less technical) and ISSAC 2004 http://www.risc.uni-linz.ac.at/about/conferences/issac2004/invitedtalks.html 1. Numerical Algebraic Geometry and Symbolic Computation by Jan Verschelde 2. Triangulations of Polytopes and Algebraic Geometry by Francisco Santos 3. Sum of Squares of Polynomials and Their Applications by Pablo Parrilo - Talking about what Sage is, however does make sense to me. If you are not inclined to speak specifically about how Sage is used in your own or other people's research, then I certainly will speak about how Sage is used in my research and others during my talk. The abstract I posted is limited to 2 pages, and hence is a lot shorter than my talk. Also Michael Abshoff will speak for about 10 minutes during my talk about the organizational structure of the Sage development process itself (patch review, etc.). why not say something about how Sage actually achieves integration between such a large number of systems? How do you make Maxima results available to Gap and then compute something that you display a fancy 3d graphic etc. What is the importance of Python as the interpreter? What about trade-offs for compiled code in Cython or interfaces to external libraries? How important is the web-based notebook interface? ... Just some different ideas. I know ideas are cheap, but you did ask. :-) I did, and I appreciate your thoughts. I do intend to touch on all the above points in the talk itself. -- William Regards, Bill Page. -- William Stein Associate Professor of Mathematics University of Washington http://wstein.org --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org
[sage-devel] Re: ISSAC abstract
On Wed, Apr 30, 2008 at 2:34 AM, Roman Pearce [EMAIL PROTECTED] wrote: On Apr 29, 11:57 pm, William Stein [EMAIL PROTECTED] wrote: I'm giving a plenary talk at ISSAC in Linz, Austria this summer. I'm supposed to write a 2-page abstract/paper for the proceedings. I just wrote something: http://sage.math.washington.edu/home/was/tmp/abstract.pdf I think what you wrote is a pretty good introduction to what Sage is, but it is a little long on the open source philosophy (which will turn some people off) and it leaves out interesting details. The open source philosophy is the entire reason for the existence of Sage. The audience will be very interested in why Sage might succeed, when previous open source efforts have failed to attract the large audience of general purpose users and developers. I suggest the following (some of which you mentioned): 1) python is an easy and widely used high level language which is particularly well suited for interfacing different programs 2) collecting all the existing open source programs has allowed Sage to quickly reach critical mass, ie: it is very usable right now 3) new and interesting things are being brought into Sage (JMol, user interface improvements, etc) 4) new mathematical algorithms and libraries are being developed for Sage (FLINT, Linear algebra, rapid development with Cython, etc) 5) researchers are using Sage right now (list contributors and areas, and papers if possible) 6) Sage is open source Thanks, this is a great list. I think if you start with the technical merits you can easily win over the audience. These people have heard all kinds of sales pitches, and open source looks like just another crusade. They are all uniformly interested in computing things, and in software they can use for their work. Sage has a very strong case on those grounds, please (I'm begging you) stick to it :) You seem to be anti-open source in your own work, which is what *really* matters to you. It's my understanding that you've written a very interesting library in computer algebra and it is closed source. Correct me if I'm wrong, but I have the impression you generally don't see the value in *open source* mathematical software (per se), and are mainly interested in Sage only for the technically interesting successes it has had. BTW, asking for contributors is the surest way to get zero contributors. I'm really glad I didn't listen to you over the last three years. William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Symlinks to sage don't work unless ...
Many thanks. Regards, Max --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: ISSAC abstract
On Wed, Apr 30, 2008 at 3:26 AM, David Joyner [EMAIL PROTECTED] wrote: I like it but perhaps I am prejudiced:-) IMHO, SAGE would be dead (or at least a very lonely research project) if it weren't for the fact that it is free and open source. Sage would certainly not be dead even if I were the only user -- in fact I was the only person behind Sage for a while.Incidentally, the *Python* community in Boston, MA was in fact very interested in Sage from day 1; that made a big big difference in getting Sage off the ground. But also, design is an important factor. Some ideas (I hesitate to call them suggestions since it seems fine as is): 1. replace notable community by specific growth (as in derivative) numbers. 2. replace interfaces to all exisiting... by something specific like well-designed command-line interface to Python, GAP, ... (You can't say everything in 2 pages but I personally love the tabbed history and completion of the IPython interface and saw it wasn't mentioned.) 3. A specific example could be mentioned which smoothly integrates several systems. As Michael B suggests, a group invariant computation in a number field mixes GAP (for groups), Pari for the number field (is this correct?), and Singular (for the polynomial ring invariant theory computations). I will demo computation and visualization of modular abelian varieties during my talk, and keep the above suggestions in mind. Computing modular abelian varieties brings together numerous components of Sage, and is exactly the functionality I started Sage for. It's fairly technical, but not impossibly so (it's just homology groups of modular curves, which are compact Riemann surfaces, etc.) On Wed, Apr 30, 2008 at 1:57 AM, William Stein [EMAIL PROTECTED] wrote: Hi, I'm giving a plenary talk at ISSAC in Linz, Austria this summer. I'm supposed to write a 2-page abstract/paper for the proceedings. I just wrote something: http://sage.math.washington.edu/home/was/tmp/abstract.pdf I've been advised by some people on this list to focus on algorithms in Sage and purely technical things, but I've totally ignored that advice and instead written something very social in which I as honestly as possible lay out exactly why Sage exists and try to describe somewhat just what Sage is. I have to submit this in a couple days, but comments are welcome. -- William -- William Stein Associate Professor of Mathematics University of Washington http://wstein.org -- William Stein Associate Professor of Mathematics University of Washington http://wstein.org --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: ISSAC abstract
You seem to be anti-open source in your own work, which is what *really* matters to you. It's my understanding that you've written a very interesting library in computer algebra and it is closed source. Correct me if I'm wrong, but I have the impression you generally don't see the value in *open source* mathematical software (per se), and are mainly interested in Sage only for the technically interesting successes it has had. Even though I'd prefer the mentioned library to be open source, I'm not sure I'd call the policy anti-open source. Fast arithmetic with multivariate polynomials is IMHO for many (not all!) applications mostly useful in the context of a computer algebra system which involves Gröbner bases, higher level algorithms, heuristics etc. Though I am aware that for some applications Roman's library would kick ass in its current form, for some others it will not in that form. On the other hand Roman did write a -- as far as I've skimmed it -- nice paper on the matter detailing his implementation strategy. I lack the experience/knowledge to judge whether the presented performance improvements would make a huge difference for the computation of e.g. Gröbner bases, but he put information out there for others to try. BTW, asking for contributors is the surest way to get zero contributors. I'm really glad I didn't listen to you over the last three years. Hi, I'm slightly puzzled by that reply since it feels rather hostile. If I understood the e-mail correctly then Roman implied that at *this particular meeting* asking for contributors might be perceived as annoying? Thus he shared his opinion to help us to make the Sage presentation more successful. Martin -- name: Martin Albrecht _pgp: http://pgp.mit.edu:11371/pks/lookup?op=getsearch=0x8EF0DC99 _www: http://www.informatik.uni-bremen.de/~malb _jab: [EMAIL PROTECTED] --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Slightly OT: SCC 2008 Braid Groups
Hi, I don't know if that is of any interest but someone around here might care about the fact that Sage was probably the most mentioned (and cited) mathematics software at the First Conference for Symbolic Computation and Cryptography (SCC 2008) in Beijing. Specifically, these authors/papers mentioned Sage: * Tobias Eibach and Gunnar Völkel: Optimising Gröbner Bases on Bivium (used Sage to implement attack) * Burçin Eröcal: SCrypt: Using Symbolic Computation to Bridge the Gap Between Algebra and Cryptography (module for Sage) * Ralf-Philipp Weinmann and Johannes Buchmann: Distributed Memory Computation of Row-Reduced Echelon Forms over Finite Fields (benchmarked against Sage) * Yours truly and Carlos Cid: Algebraic Techniques in Differential Cryptanalysis (used Sage to implement attack) (... yes, I know that 3 out of 4 are Sage developers, but still ...) Another thing:Two talks dealt with Braid group cryptography, namely: * Robert Gilman, Alex D. Miasnikov, Alexei G. Myasnikov and Alexander Ushakov: New Developments in Commutator Key Exchange * Alex D. Myasnikov and Alexander Ushakov: Cryptanalysis of the Anshel-Anshel-Goldfeld-Lemieux Key Agreement Protocol The group developed a C++ library CRAG: The Cryptography And Groups (CRAG) Library provides an environment to test cryptographic protocols constructed from non-commutative groups, for example the braid group. The Library is written in C++ and provides an interface and routines for computations. There are implementations of basic algebraic objects like words, maps and subgroups. We plan to continually expand the list of group-theoretic algorithms implemented in the library. In addition the Library will contain classes and routines implementing non-classical heuristic approaches and tools to perform statistical and exploratory analysis of algebraic data. Together with the C++ source code CRAG contains interface to Python scripting language. http://www.acc.stevens.edu/downloads.php I don't know much about group theory but still I figured someone might find it interesting and is able to evaluate if it could be a good addition to Sage. Cheers, Martin -- name: Martin Albrecht _pgp: http://pgp.mit.edu:11371/pks/lookup?op=getsearch=0x8EF0DC99 _www: http://www.informatik.uni-bremen.de/~malb _jab: [EMAIL PROTECTED] --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: ISSAC abstract
Dear Martin, dear William, On Apr 30, 4:39 pm, Martin Albrecht [EMAIL PROTECTED] wrote: snip If I understood the e-mail correctly then Roman implied that at *this particular meeting* asking for contributors might be perceived as annoying? Thus he shared his opinion to help us to make the Sage presentation more successful. This was my understanding, too. Say Please contribute to Sage - and the people in the audience might think Why should i spend my time to make a project work that i even don't know. Say I invite you to use Sage for your work, as in the following examples - and the people might think Ah, it works and could be a useful thing, so let's try.. They will easily come quite far, at some point they get stuck, find a way to enhance Sage -- and whoops! They become contributors. And for sure this way of attracting new contributors is only possible since Sage is open source. Yours Simon --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: ISSAC abstract
On Wed, Apr 30, 2008 at 7:39 AM, Martin Albrecht [EMAIL PROTECTED] wrote: You seem to be anti-open source in your own work, which is what *really* matters to you. It's my understanding that you've written a very interesting library in computer algebra and it is closed source. Correct me if I'm wrong, but I have the impression you generally don't see the value in *open source* mathematical software (per se), and are mainly interested in Sage only for the technically interesting successes it has had. Even though I'd prefer the mentioned library to be open source, I'm not sure I'd call the policy anti-open source. Fast arithmetic with multivariate polynomials is IMHO for many (not all!) applications mostly useful in the context of a computer algebra system which involves Gröbner bases, higher level algorithms, heuristics etc. Though I am aware that for some applications Roman's library would kick ass in its current form, for some others it will not in that form. On the other hand Roman did write a -- as far as I've skimmed it -- nice paper on the matter detailing his implementation strategy. I lack the experience/knowledge to judge whether the presented performance improvements would make a huge difference for the computation of e.g. Gröbner bases, but he put information out there for others to try. Well I think Roman is a very valuable contributor to computer algebra research, I greatly appreciate his work, and I'm glad he is doing it. And I am personally not in any sense anti-closed source either in certain cases, i.e., I strongly support people or organizations releasing software however they want (e.g., I *really* appreciate VMware, which is a closed source program). It's just that the fact he makes his code closed source right now seems relevant to the advice he is giving in this instance, and I'm hoping he might elaborate on his perspective. Roman -- please don't think I'm trying to be hostile. I would love for you to write more in response, and I value your time. BTW, asking for contributors is the surest way to get zero contributors. I'm really glad I didn't listen to you over the last three years. Hi, I'm slightly puzzled by that reply since it feels rather hostile. If I understood the e-mail correctly then Roman implied that at *this particular meeting* asking for contributors might be perceived as annoying? Thus he shared his opinion to help us to make the Sage presentation more successful. You're right, my reply does sound hostile. Thanks for pointing this out, since it wasn't my intension. There are so many times over the last three years that I've been told something like that, but just decided on instinct (I guess) to ignore it, and instead simply ask people for help, and the result has been very good. I really hope Roman will explain why he strongly feels that my asking for help at ISSAC will *guarantee* no help, but not asking for help will result in help?Since I have never been to ISSAC and he has, I'm at a pretty big disadvantage as far as understanding the audience, to put it mildly. -- william --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Slightly OT: SCC 2008 Braid Groups
On Wed, Apr 30, 2008 at 7:48 AM, Martin Albrecht [EMAIL PROTECTED] wrote: Hi, I don't know if that is of any interest but someone around here might care about the fact that Sage was probably the most mentioned (and cited) mathematics software at the First Conference for Symbolic Computation and Cryptography (SCC 2008) in Beijing. Amazing! Specifically, these authors/papers mentioned Sage: * Tobias Eibach and Gunnar Völkel: Optimising Gröbner Bases on Bivium (used Sage to implement attack) * Burçin Eröcal: SCrypt: Using Symbolic Computation to Bridge the Gap Between Algebra and Cryptography (module for Sage) * Ralf-Philipp Weinmann and Johannes Buchmann: Distributed Memory Computation of Row-Reduced Echelon Forms over Finite Fields (benchmarked against Sage) * Yours truly and Carlos Cid: Algebraic Techniques in Differential Cryptanalysis (used Sage to implement attack) (... yes, I know that 3 out of 4 are Sage developers, but still ...) So is 2. Why isn't 1 a Sage developer? We want their code :-). By the way, what does benchmarked against Sage mean in RPW's talk? Another thing:Two talks dealt with Braid group cryptography, namely: * Robert Gilman, Alex D. Miasnikov, Alexei G. Myasnikov and Alexander Ushakov: New Developments in Commutator Key Exchange * Alex D. Myasnikov and Alexander Ushakov: Cryptanalysis of the Anshel-Anshel-Goldfeld-Lemieux Key Agreement Protocol The group developed a C++ library CRAG: The Cryptography And Groups (CRAG) Library provides an environment to test cryptographic protocols constructed from non-commutative groups, for example the braid group. The Library is written in C++ and provides an interface and routines for computations. There are implementations of basic algebraic objects like words, maps and subgroups. We plan to continually expand the list of group-theoretic algorithms implemented in the library. In addition the Library will contain classes and routines implementing non-classical heuristic approaches and tools to perform statistical and exploratory analysis of algebraic data. Together with the C++ source code CRAG contains interface to Python scripting language. http://www.acc.stevens.edu/downloads.php I don't know much about group theory but still I figured someone might find it interesting and is able to evaluate if it could be a good addition to Sage. Very interesting --Thanks for pointing this out. William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: ISSAC abstract
On Wed, Apr 30, 2008 at 9:53 AM, William Stein wrote: On Wed, Apr 30, 2008 at 12:02 AM, Bill Page wrote: On Wed, Apr 30, 2008 at 1:57 AM, William Stein wrote: I'm giving a plenary talk at ISSAC in Linz, Austria this summer. I'm supposed to write a 2-page abstract/paper for the proceedings. I just wrote something: http://sage.math.washington.edu/home/was/tmp/abstract.pdf I really don't think that you will find many people at this meeting who are interested in open source alternatives to commercial software as such. I guess they will just be bored by my talk and fall asleep. I certainly hope not! I think the ISSAC community needs Sage very badly - they just don't know it yet. Many of the attendees will have and may still be involved in developing software for the commercial systems. Most are also involved in some form of academic research in computer algebra systems. I don't mean that people wont be interested in hearing about the advantages of open source, but I believe that it would not normally be viewed as their primary motivation or preoccupation. And I think they will probably already have a fairly good idea about why Sage exists. I actually imagine that a lot of them won't have a good idea about why Sage exists. The main reason Sage exists is because exactly those people failed for a very long time to make the tools that I need for my research in number theory, so I had to take matters into my own hands. I suspect they won't see things that way. I agree that they probably do not see it that way. On the other hand I do expect that they see it *exactly* the same way you do: For the most part the things *they* created exist because *they* had need of such tools to do the research that *they* wanted to do and it seemed to them that no one else had created the right tools for the job. (I said seemed because in some cases it might have seemed easier to re-invent what was needed rather than learning enough about what someone else had created.) In other words the reason (most of) those other systems exist is the same as the reason that Sage exists. The arguments for or against proprietary and/or open source models for development came later. Even systems like Axiom were essentially open source when they were first created - all you had to do was show some interest in the work of the developers and ask for their source code. I think the problem was mainly that there really was no infrastructure in place yet (e.g. the web) that would allow the open source model to work. Unless large government research funding was available, the argument that the proprietary commercial/non-profit development model was the best approach was easy to sell - and still appeals to many people. If by presenting Sage ISSAC you succeed in convincing some of these people that open source really is a viable approach today, then I agree that that would be a good thing! ... Talking about what Sage is, however does make sense to me. If you are not inclined to speak specifically about how Sage is used in your own or other people's research, then I certainly will speak about how Sage is used in my research and others during my talk. The abstract I posted is limited to 2 pages, and hence is a lot shorter than my talk. Yes, of course. I think I was a bit mislead by the style of the abstract. Do you think quoting testimonials from other people is such a good idea? On Wed, Apr 30, 2008 at 10:21 AM, William Stein wrote: On Wed, Apr 30, 2008 at 3:26 AM, David Joyner wrote: ... 3. A specific example could be mentioned which smoothly integrates several systems. As Michael B suggests, a group invariant computation in a number field mixes GAP (for groups), Pari for the number field (is this correct?), and Singular (for the polynomial ring invariant theory computations). I will demo computation and visualization of modular abelian varieties during my talk, and keep the above suggestions in mind. Computing modular abelian varieties brings together numerous components of Sage, and is exactly the functionality I started Sage for. It's fairly technical, but not impossibly so (it's just homology groups of modular curves, which are compact Riemann surfaces, etc.) I think it is important emphasis in the abstract that your talk will include such examples. Regards, Bill Page. --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Slightly OT: SCC 2008 Braid Groups
On Wed, Apr 30, 2008 at 10:48 AM, Martin Albrecht [EMAIL PROTECTED] wrote: Hi, I don't know if that is of any interest but someone around here might care about the fact that Sage was probably the most mentioned (and cited) mathematics software at the First Conference for Symbolic Computation and Cryptography (SCC 2008) in Beijing. Specifically, these authors/papers mentioned Sage: * Tobias Eibach and Gunnar Völkel: Optimising Gröbner Bases on Bivium (used Sage to implement attack) * Burçin Eröcal: SCrypt: Using Symbolic Computation to Bridge the Gap Between Algebra and Cryptography (module for Sage) * Ralf-Philipp Weinmann and Johannes Buchmann: Distributed Memory Computation of Row-Reduced Echelon Forms over Finite Fields (benchmarked against Sage) * Yours truly and Carlos Cid: Algebraic Techniques in Differential Cryptanalysis (used Sage to implement attack) (... yes, I know that 3 out of 4 are Sage developers, but still ...) Another thing:Two talks dealt with Braid group cryptography, namely: * Robert Gilman, Alex D. Miasnikov, Alexei G. Myasnikov and Alexander Ushakov: New Developments in Commutator Key Exchange * Alex D. Myasnikov and Alexander Ushakov: Cryptanalysis of the Anshel-Anshel-Goldfeld-Lemieux Key Agreement Protocol The group developed a C++ library CRAG: The Cryptography And Groups (CRAG) Library provides an environment to test cryptographic protocols constructed from non-commutative groups, for example the braid group. The Library is written in C++ and provides an interface and routines for computations. There are implementations of basic algebraic objects like words, maps and subgroups. We plan to continually expand the list of group-theoretic algorithms implemented in the library. In addition the Library will contain classes and routines implementing non-classical heuristic approaches and tools to perform statistical and exploratory analysis of algebraic data. Together with the C++ source code CRAG contains interface to Python scripting language. http://www.acc.stevens.edu/downloads.php I don't know much about group theory but still I figured someone might find it interesting and is able to evaluate if it could be a good addition to Sage. This is very interesting. I just have some general remarks. Alexi Myasnikov (a good friend of mine knows him well and that is what he calls him - Alexi, not Alex. as on the website) is an extremely talented group theorist. I heard that there was some discussion of him getting a Fields medal years ago when he announced his solution of the Tarski problem. That is his level. If he is behind this library then I think that it at least has the stamp of authority. BTW, both Alexi and Gilbert Baumslag were behind MAGNUS, an infinite group theory package. I had a few (off-list, I think) emails with William Stein and Gilbert Baumslag, and I met with Gilbert face-to-face a month or so ago about MAGNUS and SAGE. The problem is that MAGNUS is designed in a way which makes its GUI front-end difficult to separate from its group-computational engine at the back-end. As a bit of background, Gilbert Baumslag is also a superstar in the field of combinatorial group theory and has just recently moved from the math dept at CUNY to the CS dept. This graphic design was probably Gilbert's idea and very much in line with some other (computer science) projects he has worked on. Anyway, MAGNUS-SAGE just didn't work out. I think the design of CRAG is different and may be easier to integrate into SAGE. I do see that they have a free group and finitely presented group (C++) class, which is good. These are also in GAP though. What GAP does not have is Definition of equations over finitely presented group, nor does it have any of the crypto stuff. So, I vote +1 to include it at least as an optional package. Making it a standard part of SAGE should IMHO wait until a solid FreeGroup and FinitelyPresentedGroup (Python) class are created for SAGE. If I had more time I would do this myself. Thanks again Martin for pointing this out. Cheers, Martin -- name: Martin Albrecht _pgp: http://pgp.mit.edu:11371/pks/lookup?op=getsearch=0x8EF0DC99 _www: http://www.informatik.uni-bremen.de/~malb _jab: [EMAIL PROTECTED] --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: ISSAC abstract
On Wed, Apr 30, 2008 at 8:10 AM, Bill Page [EMAIL PROTECTED] wrote: [...] Bill, Thanks for elaborating and clarifying your thoughts. I've posted a new version of the abstract here: http://sage.math.washington.edu/home/was/tmp/abstract2.pdf You guys might dislike it even more. We'll see :-) William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Fwd: [Cython] Porting the Docs
Hi, Cython now has beautiful-to-behold documentation. See below. -- Forwarded message -- From: Gabriel Gellner [EMAIL PROTECTED] Date: Wed, Apr 30, 2008 at 8:39 AM Subject: Re: [Cython] Porting the Docs To: Cython-dev [EMAIL PROTECTED] So I have finished the first rough mockup, which mainly consists of getting the markup correct. There are still some rough edges, mainly with tables, and some of the latex output, but in the spirit of release early release often ;-) Check out the html at: http://www.mudskipper.ca/cython-doc Get the pdf at: http://www.mudskipper.ca/cython.pdf And finally get the source at: http://www.mudskipper.ca/cython_doc.tar.gz or http://www.mudskipper.ca/cython_doc.zip Again I would appreciate any comments on if I am screwing up authorship. Down the road I think it would be good to attribute everything to the 'Cython Doc Team' and have a page that lists contributers. To do this we should make the license and authorship on the wiki more explicit. Tell me what you think? I am no lawyer, and certainly don't want to piss anyone off who has put the hard work into documenting either cython or pyrex. My plan for the next steps (in order of importance, any comments): - Make a PyGments lexer for cython/pyrex so we get nice color coding. - Fix up the latex style file so that boxes are not messed up when we have code examples. - Put on my writing hat, and do an overhaul of the structure of the docs so that it is faster to navigate. I will be using the python doc structure as a reference. - Get some simple howto's written. - Thinking if there is an easy way to test the cython code in the docs so that I can ensure accuracy. Gabriel ___ Cython-dev mailing list [EMAIL PROTECTED] http://codespeak.net/mailman/listinfo/cython-dev -- William Stein Associate Professor of Mathematics University of Washington http://wstein.org --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Slightly OT: SCC 2008 Braid Groups
So, I vote +1 to include it at least as an optional package. Making it a standard part of SAGE should IMHO wait until a solid FreeGroup and FinitelyPresentedGroup (Python) class are created for SAGE. If I had more time I would do this myself. Yeah, it would be great if SAGE had support of those. Some time ago, I wrote a quick FinitelyPresentedGroup class here: http://www.dunfield.info/misc/fpgroup.py but all it can really do is move finitely presented groups back and forth between GAP and MAGMA... Nathan --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: ISSAC abstract
Dear William, in line 3, it should be could, not ncould. IMO, you should mention Cython. In fact, i started to use Sage mainly because Cython made it possible to easily use the C-programs of my boss. Otherwise i would have had tried to do everything in Singular. But i guess you will mention Cython in your talk anyway. Yours Simon --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Fwd: Fwd: [sage-devel] A Sage Enhancement Proposal: Lattice Modules
I think we also want some version of Denis Simon's indefinite LLL. As a student of Henri Cohen he may have sworn a lifetime vow of allegiance to pari; otherwise this might be something we could use to lure him into Sage! John 2008/4/30 William Stein [EMAIL PROTECTED]: -- Forwarded message -- From: Gabriele Nebe [EMAIL PROTECTED] Date: Wed, Apr 30, 2008 at 6:18 AM Subject: Re: Fwd: [sage-devel] A Sage Enhancement Proposal: Lattice Modules To: William Stein [EMAIL PROTECTED] Dear William, I am in the moment on a conference in Albania and e-mail is not so easy. Nevertheless: if these people want to implement such things, they should just go ahead and do so. I have no idea how to calculate explicitely isometires of indefinite lattices, but in principle we have a program to calculate the genus symbol of the lattice. And for indefinite ones this suffices to decide whether they are isometric or not. For definite lattices of course lattice reduction procedures (LLL) and shortest vector enumeration are other basic tools. Best Gabi -- William Stein Associate Professor of Mathematics University of Washington http://wstein.org --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: ISSAC abstract
On Apr 30, 8:09 am, William Stein [EMAIL PROTECTED] wrote: The open source philosophy is the entire reason for the existence of Sage. That may be true, but it won't sell. There have been other open source systems before Sage (Axiom, Maxima, ...) and very good specialized systems (Singular, CoCoA). These systems attracted a lot of development effort and made some very respected contributions to the field, however they did not achieve the base of users and developers that Maple, Mathematica, Magma, and Matlab (yes, count them) have. So the first thing the ISSAC audience will ask is what makes Sage different? I tried to suggest some answers to that question. You seem to be anti-open source in your own work, which is what *really* matters to you. It's my understanding that you've written a very interesting library in computer algebra and it is closed source. Correct me if I'm wrong, but I have the impression you generally don't see the value in *open source* mathematical software (per se), and are mainly interested in Sage only for the technically interesting successes it has had. Well that is a fair criticism because I haven't contributed any code. Setting aside philosophical arguments, I believe it makes technical sense for the field to adopt a common infrastructure that is open source. Look at the massive benefits we have all received from GMP. It has made every system better. Comparable projects for other low level operations in computer algebra could have a similar, although not as wide, of an impact. Whether you can convince people of this is another issue entirely. By the way, don't worry about offending me, I have been known to offer blunt unsolicited criticisms of others' work :) BTW, asking for contributors is the surest way to get zero contributors. I'm really glad I didn't listen to you over the last three years. To an audience of researchers and professionals it will sound desperate. There is no shortage of peoples' pet projects in this field, and everyone knows that software development is a massive time sink. They are mathematical algorithm researchers remember. I think they will be most interested in technical achievements, and in the unique qualities of Sage that could help them in their work. Feel free to ignore my advice, but I am offering it in good faith. There will be people at ISSAC who write open source math software (Singular, Pari, Maxima, etc), there will be some more people who use it, and there will be many more people whose exposure to open source might be limited to GNU/Linux and GMP. They are all there to talk about symbolic algorithms. That is the audience. --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Slightly OT: SCC 2008 Braid Groups
I don't know if that is of any interest but someone around here might care about the fact that Sage was probably the most mentioned (and cited) mathematics software at the First Conference for Symbolic Computation and Cryptography (SCC 2008) in Beijing. Specifically, these authors/papers mentioned Sage: * Tobias Eibach and Gunnar Völkel: Optimising Gröbner Bases on Bivium (used Sage to implement attack) * Burçin Eröcal: SCrypt: Using Symbolic Computation to Bridge the Gap Between Algebra and Cryptography (module for Sage) * Ralf-Philipp Weinmann and Johannes Buchmann: Distributed Memory Computation of Row-Reduced Echelon Forms over Finite Fields (benchmarked against Sage) * Yours truly and Carlos Cid: Algebraic Techniques in Differential Cryptanalysis (used Sage to implement attack) (... yes, I know that 3 out of 4 are Sage developers, but still ...) Another thing:Two talks dealt with Braid group cryptography, namely: * Robert Gilman, Alex D. Miasnikov, Alexei G. Myasnikov and Alexander Ushakov: New Developments in Commutator Key Exchange * Alex D. Myasnikov and Alexander Ushakov: Cryptanalysis of the Anshel-Anshel-Goldfeld-Lemieux Key Agreement Protocol The group developed a C++ library CRAG: The Cryptography And Groups (CRAG) Library provides an environment to test cryptographic protocols constructed from non-commutative groups, for example the braid group. The Library is written in C++ and provides an interface and routines for computations. There are implementations of basic algebraic objects like words, maps and subgroups. We plan to continually expand the list of group-theoretic algorithms implemented in the library. In addition the Library will contain classes and routines implementing non-classical heuristic approaches and tools to perform statistical and exploratory analysis of algebraic data. Together with the C++ source code CRAG contains interface to Python scripting language. http://www.acc.stevens.edu/downloads.php I don't know much about group theory but still I figured someone might find it interesting and is able to evaluate if it could be a good addition to Sage. This is very interesting. I just have some general remarks. Alexi Myasnikov (a good friend of mine knows him well and that is what he calls him - Alexi, not Alex. as on the website) is an extremely talented group theorist. I heard that there was some discussion of him getting a Fields medal years ago when he announced his solution of the Tarski problem. That is his level. If he is behind this library then I think that it at least has the stamp of authority. BTW, both Alexi and Gilbert Baumslag were behind MAGNUS, an infinite group theory package. I had a few (off-list, I think) emails with William Stein and Gilbert Baumslag, and I met with Gilbert face-to-face a month or so ago about MAGNUS and SAGE. The problem is that MAGNUS is designed in a way which makes its GUI front-end difficult to separate from its group-computational engine at the back-end. As a bit of background, Gilbert Baumslag is also a superstar in the field of combinatorial group theory and has just recently moved from the math dept at CUNY to the CS dept. This graphic design was probably Gilbert's idea and very much in line with some other (computer science) projects he has worked on. Anyway, MAGNUS-SAGE just didn't work out. I think the design of CRAG is different and may be easier to integrate into SAGE. I do see that they have a free group and finitely presented group (C++) class, which is good. These are also in GAP though. What GAP does not have is Definition of equations over finitely presented group, nor does it have any of the crypto stuff. So, I vote +1 to include it at least as an optional package. Making it a standard part of SAGE should IMHO wait until a solid FreeGroup and FinitelyPresentedGroup (Python) class are created for SAGE. If I had more time I would do this myself. Thanks again Martin for pointing this out. (disclaimer: I'm the person who set up the Magnus sourceforge site and I worked for Gilbert Baumslag at City College) I know that there is an existing Python wrapper around Magnus. I know that Magnus has a large number of C++ routines for group theory that exist nowhere else. I know that Magnus can be used without the frontend (we used it as a password mechanism for logging into linux using groups theory). I know that Magnus is designed to run procedures in parallel. (not algorithms since they may not terminate; in general, there are very few algorithms for this kind of work) Using the procedures in parallel enable you to try various approaches until one succeeds and then poison the others. I know that Magnus is GPL. I know that there are a large number of people who have collaborated with Gilbert Baumslag over the years. Gilbert is definitely in the superstar category (distinguished prof, 7 books, 150 papers, etc). Tim Daly
[sage-devel] Re: Slightly OT: SCC 2008 Braid Groups
On Wed, Apr 30, 2008 at 2:35 PM, root [EMAIL PROTECTED] wrote: I don't know if that is of any interest but someone around here might care about the fact that Sage was probably the most mentioned (and cited) mathematics software at the First Conference for Symbolic Computation and Cryptography (SCC 2008) in Beijing. Specifically, these authors/papers mentioned Sage: * Tobias Eibach and Gunnar Völkel: Optimising Gröbner Bases on Bivium (used Sage to implement attack) * Burçin Eröcal: SCrypt: Using Symbolic Computation to Bridge the Gap Between Algebra and Cryptography (module for Sage) * Ralf-Philipp Weinmann and Johannes Buchmann: Distributed Memory Computation of Row-Reduced Echelon Forms over Finite Fields (benchmarked against Sage) * Yours truly and Carlos Cid: Algebraic Techniques in Differential Cryptanalysis (used Sage to implement attack) (... yes, I know that 3 out of 4 are Sage developers, but still ...) Another thing:Two talks dealt with Braid group cryptography, namely: * Robert Gilman, Alex D. Miasnikov, Alexei G. Myasnikov and Alexander Ushakov: New Developments in Commutator Key Exchange * Alex D. Myasnikov and Alexander Ushakov: Cryptanalysis of the Anshel-Anshel-Goldfeld-Lemieux Key Agreement Protocol The group developed a C++ library CRAG: The Cryptography And Groups (CRAG) Library provides an environment to test cryptographic protocols constructed from non-commutative groups, for example the braid group. The Library is written in C++ and provides an interface and routines for computations. There are implementations of basic algebraic objects like words, maps and subgroups. We plan to continually expand the list of group-theoretic algorithms implemented in the library. In addition the Library will contain classes and routines implementing non-classical heuristic approaches and tools to perform statistical and exploratory analysis of algebraic data. Together with the C++ source code CRAG contains interface to Python scripting language. http://www.acc.stevens.edu/downloads.php I don't know much about group theory but still I figured someone might find it interesting and is able to evaluate if it could be a good addition to Sage. This is very interesting. I just have some general remarks. Alexi Myasnikov (a good friend of mine knows him well and that is what he calls him - Alexi, not Alex. as on the website) is an extremely talented group theorist. I heard that there was some discussion of him getting a Fields medal years ago when he announced his solution of the Tarski problem. That is his level. If he is behind this library then I think that it at least has the stamp of authority. BTW, both Alexi and Gilbert Baumslag were behind MAGNUS, an infinite group theory package. I had a few (off-list, I think) emails with William Stein and Gilbert Baumslag, and I met with Gilbert face-to-face a month or so ago about MAGNUS and SAGE. The problem is that MAGNUS is designed in a way which makes its GUI front-end difficult to separate from its group-computational engine at the back-end. As a bit of background, Gilbert Baumslag is also a superstar in the field of combinatorial group theory and has just recently moved from the math dept at CUNY to the CS dept. This graphic design was probably Gilbert's idea and very much in line with some other (computer science) projects he has worked on. Anyway, MAGNUS-SAGE just didn't work out. I think the design of CRAG is different and may be easier to integrate into SAGE. I do see that they have a free group and finitely presented group (C++) class, which is good. These are also in GAP though. What GAP does not have is Definition of equations over finitely presented group, nor does it have any of the crypto stuff. So, I vote +1 to include it at least as an optional package. Making it a standard part of SAGE should IMHO wait until a solid FreeGroup and FinitelyPresentedGroup (Python) class are created for SAGE. If I had more time I would do this myself. Thanks again Martin for pointing this out. (disclaimer: I'm the person who set up the Magnus sourceforge site and I worked for Gilbert Baumslag at City College) I know that there is an existing Python wrapper around Magnus. Can you email the tarball or give me the url where it is posted? Also, can you define around Magnus more precisely? One one end of the spectrum, the full functionality of Magnus can be accessed via Python commands. On the other end, there exists one function which can be accessed from a Python command. I know that Magnus has a large number of C++ routines for group theory that exist nowhere else. I know that Magnus can be used without the frontend (we used it as a password mechanism for
[sage-devel] Re: Slightly OT: SCC 2008 Braid Groups
On Apr 30, 7:43 pm, David Joyner [EMAIL PROTECTED] wrote: On Wed, Apr 30, 2008 at 2:35 PM, root [EMAIL PROTECTED] wrote: Hi, (disclaimer: I'm the person who set up the Magnus sourceforge site and I worked for Gilbert Baumslag at City College) Once I saw Magnus mentioned I figured Tim would be the person to clue us in. I know that there is an existing Python wrapper around Magnus. Yes, and last time I looked at Magnus I also got the impression that from a technical standpoint everything should work well with Sage. One thing I saw that nobody seems to work actively on it at the moment. Another thing I noticed was that some of the hooks into other CAS systems seemed incomplete/unfinished. It would be interesting to see how much functionality is in the core library and how much more Magnus can do when combined with other systems. Compile time wasn't short, but no one from the Sage world [at least not me] has made any attempt to get this down by building only the essential bits. Can you email the tarball or give me the url where it is posted? Also, can you define around Magnus more precisely? One one end of the spectrum, the full functionality of Magnus can be accessed via Python commands. On the other end, there exists one function which can be accessed from a Python command. I know that Magnus has a large number of C++ routines for group theory that exist nowhere else. I know that Magnus can be used without the frontend (we used it as a password mechanism for logging into linux using groups theory). I'm wonderirng how much of the backend is accessible. Gilbert gave me the impression that it would be very difficult to integrate Magnus into SAGE. (We discussed this issue specifically in person about a month ago.) Of course, my impression could be mistaken. Well, it would be nice if upstream had an interest to cooperate with Sage. Otherwise I would see little benefit from working on Magnus. I know that Magnus is designed to run procedures in parallel. (not algorithms since they may not terminate; in general, there are very few algorithms for this kind of work) Using the procedures in parallel enable you to try various approaches until one succeeds and then poison the others. I know that Magnus is GPL. I know that there are a large number of people who have collaborated with Gilbert Baumslag over the years. Gilbert is definitely in the superstar category (distinguished prof, 7 books, 150 papers, etc). Agreed. So is Myasnikov, IMHO. Yeah, as other people already mentioned: Tarski! I have heard Myasnikov speak a bunch of times in Dortmund a couple time and I cannot but be very impressed. Tim Daly Cheers, Michael --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Slightly OT: SCC 2008 Braid Groups
On Wed, Apr 30, 2008 at 11:13 AM, mabshoff [EMAIL PROTECTED] wrote: On Apr 30, 7:43 pm, David Joyner [EMAIL PROTECTED] wrote: On Wed, Apr 30, 2008 at 2:35 PM, root [EMAIL PROTECTED] wrote: Hi, (disclaimer: I'm the person who set up the Magnus sourceforge site and I worked for Gilbert Baumslag at City College) Once I saw Magnus mentioned I figured Tim would be the person to clue us in. I know that there is an existing Python wrapper around Magnus. Yes, and last time I looked at Magnus I also got the impression that from a technical standpoint everything should work well with Sage. One thing I saw that nobody seems to work actively on it at the moment. Wasn't Magnus Tim Daly's main example of a project in trouble development and usage-wise? From this thread: http://groups.google.com/group/sage-devel/browse_thread/thread/c65e235f83cb2cd1/93b5dc531e50bb1c?lnk=gstq=magnus#93b5dc531e50bb1c Tim wrote: the only person who can properly maintain, modify, and extend the code will no longer be available and the code will be frozen in time. My Magnus infinite group theory project has this problem. New people coming onto the project cannot find the literature that corresponds to the actual code because it does not exist. Most published results are 5 page conference papers that just hint at the non-core, but vitally important, details if they mention them at all. This problem has 2 parts, both of which stem from the lack of focus on the new discipline of computational mathematics. Part 1 is that journals and conferences only want short papers, which are adequate for math, not the complete implementation. Part 2 is that there is no place to describe the actual code-level optimizations that make the implementation practical and fast. Another thing I noticed was that some of the hooks into other CAS systems seemed incomplete/unfinished. It would be interesting to see how much functionality is in the core library and how much more Magnus can do when combined with other systems. Compile time wasn't short, but no one from the Sage world [at least not me] has made any attempt to get this down by building only the essential bits. Can you email the tarball or give me the url where it is posted? Also, can you define around Magnus more precisely? One one end of the spectrum, the full functionality of Magnus can be accessed via Python commands. On the other end, there exists one function which can be accessed from a Python command. I know that Magnus has a large number of C++ routines for group theory that exist nowhere else. I know that Magnus can be used without the frontend (we used it as a password mechanism for logging into linux using groups theory). I'm wonderirng how much of the backend is accessible. Gilbert gave me the impression that it would be very difficult to integrate Magnus into SAGE. (We discussed this issue specifically in person about a month ago.) Of course, my impression could be mistaken. Well, it would be nice if upstream had an interest to cooperate with Sage. Otherwise I would see little benefit from working on Magnus. I know that Magnus is designed to run procedures in parallel. (not algorithms since they may not terminate; in general, there are very few algorithms for this kind of work) Using the procedures in parallel enable you to try various approaches until one succeeds and then poison the others. I know that Magnus is GPL. I know that there are a large number of people who have collaborated with Gilbert Baumslag over the years. Gilbert is definitely in the superstar category (distinguished prof, 7 books, 150 papers, etc). Agreed. So is Myasnikov, IMHO. Yeah, as other people already mentioned: Tarski! I have heard Myasnikov speak a bunch of times in Dortmund a couple time and I cannot but be very impressed. Tim Daly Cheers, Michael -- William Stein Associate Professor of Mathematics University of Washington http://wstein.org --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Slightly OT: SCC 2008 Braid Groups
On Apr 30, 2008, at 4:50 PM, root wrote: But we've already had this discussion and it is clear that I'm completely out-in-the-weeds, talking-nonsense, and obviously have no idea how REAL-open-source-projects are done. So lets just leave it where it left off before, which is that I've simply dropped the attempt to give the benefit of experience. Hi Tim, I've been vaguely following your posts to this list over the last few weeks. I don't think you're talking nonsense, but I don't completely understand what point you are trying to make. You seem to be making the following argument, correct me if I'm wrong. You claim that the documentation of the implementations of algorithms in Sage is not good enough, in the sense that someone looking at the Sage codebase in a few years won't be able to understand what is going on. You conclude that Sage will die. The implication is that the way to fix things is for us to improve the documentation of these implementations (perhaps via literate programming or whatever), so that Sage will be more likely to succeed. But isn't the core problem simply one of limited resources? We all have limited time (fields-medallists and non-fields-medallists alike), and so there is some tradeoff between getting something to work as quickly as possible (and hence is useful NOW) and making a beautiful product which meets higher standard of scholarship (and hence is more useful LATER). I can't see any way around this tradeoff. The only thing I can see that will stop a project like Sage from dying is to keep building a steady inflow of users and contributors, so that the knowledge you refer to remains as alive as possible. david --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Slightly OT: SCC 2008 Braid Groups
Wasn't Magnus Tim Daly's main example of a project in trouble development and usage-wise? From this thread: http://groups.google.com/group/sage-devel/browse_thread/thread/c65e235f83cb2cd1/93b5dc531e50bb1c?lnk=gstq=magnus#93b5dc531e50bb1c Tim wrote: the only person who can properly maintain, modify, and extend the code will no longer be available and the code will be frozen in time. My Magnus infinite group theory project has this problem. New people coming onto the project cannot find the literature that corresponds to the actual code because it does not exist. Most published results are 5 page conference papers that just hint at the non-core, but vitally important, details if they mention them at all. This problem has 2 parts, both of which stem from the lack of focus on the new discipline of computational mathematics. Part 1 is that journals and conferences only want short papers, which are adequate for math, not the complete implementation. Part 2 is that there is no place to describe the actual code-level optimizations that make the implementation practical and fast. Magnus is a stalled project. It was a free, NSF-funded, top-of-line, best-of-breed project that brought together Fields-medal level people. The algorithms in Magnus are world-class and written by experts. They work, and work well. And they are GPLed, free, and open sourced. Magnus has a truly innovative, zero-learning-curve, notebook-like front-end. It runs algorithms in parallel, with user-controlled time proportions. It has context-sensitive menus and help systems. It has a problem-graph that organizes the results of experiments and allows you to pursue mulitiple-independent lines of research on the same notebook. Sage is nowhere near the level of sophistication Magnus displays today. Did I mention that it is free? Magnus has been used (thru python) in an embedded demonstration of cryptographic security using infinite groups to protect user logins. It has been shown to allow logins on systems all the way down to a handheld zaurus. (Infinite groups are MUCH harder to break than other schemes and Gilbert can show why these are hard (in a cryptographic sense). Small keys, yet solid locks.) Historically, Magnus was where Sage is now. The quote above is in the context of literate programming, or lack thereof. Magnus is documented at the same level as other open source projects (e.g. Sage). The code is all there, freely available, and written in a widely used, VERY popular language (C++). It can be used from Python. Yet Magnus and its algorithms now suffer from the same fate that I predict L-functions in Sage, and Sage itself, will suffer 5 years from now. William will have his system, will have published his research (the classic 5 page papers), and will have retired to Alaska. That is, New people coming onto the project cannot find the literature that corresponds to the actual code because it does not exist. But we've already had this discussion and it is clear that I'm completely out-in-the-weeds, talking-nonsense, and obviously have no idea how REAL-open-source-projects are done. So lets just leave it where it left off before, which is that I've simply dropped the attempt to give the benefit of experience. Tim --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] why do we not use malb's libsingular wrappings by default?
Hi, How come we use the pexpect interface for singular to compute the groebner basis as the default? It seems to me we should be using malb's excellent libsingular wrapper. sage: R.x,y = PolynomialRing(QQ,order='degrevlex') sage: I=(x^2+3*x*y/2+y^2/2-3*x/2-3*y/2,x*y^2-x,y^3-y)*R sage: %timeit I.groebner_basis() 10 loops, best of 3: 2.05 ms per loop sage: %timeit I.groebner_basis(algorithm='libsingular:std') 1 loops, best of 3: 72.5 µs per loop Cheers, Yi http://yiqiang.org --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Slightly OT: SCC 2008 Braid Groups
Hi Tim, I compiled the last snapshot and it compiled in decent time, i.e. 14 minutes CPU time on sage.math. On the other hand: I couldn't find the python bindings, neither in the sf tarball nor the sf svn/cvs repo. Any pointers? I couldn't find any reference to python in any file: [EMAIL PROTECTED]:/scratch/mabshoff/magnus20060530$ grep -r *[Pp]ython* * [EMAIL PROTECTED]:/scratch/mabshoff/magnus20060530 A couple other things I noticed: * dependencies are [re]created each time the code is compiled. Since that isn't exactly cheap why not check the dependency files in? In the projects where I have worked they are in CVS and the developers know to recreate them per makefile if changes require the recreation. * There are certainly some odd things going on at dependency creation time, i.e. the correction of paths and so on. * CC is *overwritten* with g++ when the makefile needs to compile C++ files. * while there is some documentation the format is not in something that seems easily extractable. I.e. I poked around in back_end/groups and while the header files usually contain a lot of info, i.e. on the design, the member functions usually do not document the input and output parameters. Cheers, Michael --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: why do we not use malb's libsingular wrappings by default?
I'm sure Martin will answer this, but I suspect is an oversight based on common usage patterns - for most Groebner basis calculations, the overhead of pexpect is insignificant. -Marshall On Apr 30, 2:09 pm, Yi Qiang [EMAIL PROTECTED] wrote: Hi, How come we use the pexpect interface for singular to compute the groebner basis as the default? It seems to me we should be using malb's excellent libsingular wrapper. sage: R.x,y = PolynomialRing(QQ,order='degrevlex') sage: I=(x^2+3*x*y/2+y^2/2-3*x/2-3*y/2,x*y^2-x,y^3-y)*R sage: %timeit I.groebner_basis() 10 loops, best of 3: 2.05 ms per loop sage: %timeit I.groebner_basis(algorithm='libsingular:std') 1 loops, best of 3: 72.5 µs per loop Cheers, Yi http://yiqiang.org --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Slightly OT: SCC 2008 Braid Groups
mabshoff wrote: Hi Tim, I compiled the last snapshot and it compiled in decent time, i.e. 14 minutes CPU time on sage.math. I just compiled the sourceforge source and had to modify backend/glib++/Integer.h and Rational.h. In each of those files, there were two code blocks that defined operators ? and ? that were causing errors. I added 0 to the ifdefs surrounding the code blocks and now it magnus seems to compile and run. This is on Ubuntu 8.04, g++ 4.2.3 Jason --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] fast vs viable (offline post)
David, But we've already had this discussion and it is clear that I'm completely out-in-the-weeds, talking-nonsense, and obviously have no idea how REAL-open-source-projects are done. So lets just leave it where it left off before, which is that I've simply dropped the attempt to give the benefit of experience. Hi Tim, I've been vaguely following your posts to this list over the last few weeks. I don't think you're talking nonsense, but I don't completely understand what point you are trying to make. You seem to be making the following argument, correct me if I'm wrong. You claim that the documentation of the implementations of algorithms in Sage is not good enough, in the sense that someone looking at the Sage codebase in a few years won't be able to understand what is going on. You conclude that Sage will die. The implication is that the way to fix things is for us to improve the documentation of these implementations (perhaps via literate programming or whatever), so that Sage will be more likely to succeed. But isn't the core problem simply one of limited resources? We all have limited time (fields-medallists and non-fields-medallists alike), and so there is some tradeoff between getting something to work as quickly as possible (and hence is useful NOW) and making a beautiful product which meets higher standard of scholarship (and hence is more useful LATER). I can't see any way around this tradeoff. The only thing I can see that will stop a project like Sage from dying is to keep building a steady inflow of users and contributors, so that the knowledge you refer to remains as alive as possible. david I've been associated with some open source projects, and in particular, with Axiom, Magnus, and Doyen. And I've been programming for 35 years. Once a week I hear the I don't have enough time argument. This argument is fine for most of the things I do, e.g. the things I get paid to do because, frankly, almost nothing I've ever done will be worth anything 10 years from now. Computational Mathematics is different in this respect. The answer to integrate(sin(x),x) will be the same 30 years from now. However, the expert who wrote the code will not. (Manual Bronstein is dead). Who will maintain this code if it requires a PhD in Infinite Group Theory just to understand WHY it works and a computer science degree to understand what the PROGRAM is doing? The real tradeoff question is Are you doing science? or just playing around with ideas. Because, if you're doing science then you're doing it for the community. Which means that there is a standard of scholarship that is expected. When I read a proof of a new theorem I expect to see references to prior results, complete proofs of lemmas, complete documentation of assumptions, and a full explanation of the whys-and-wherefores. It takes about 5-10 pages to reach this standard of publication for most mathematics. And THAT TAKES TIME. So ask yourself the following question: What is the standard of publication for COMPUTATIONAL mathematics? What *I* expect to see is an explanation of the mathematics, possibly with proofs (if new). I expect an explanation of how and why the CODE implements the mathematics. I expect complexity bounds. I expect an explanation of optimizations that are not obvious but are critical. This may take 10-100 pages to reach this standard of publication for computational mathematics. and THAT TAKES TIME. If you haven't given me that level of documentation then you haven't given me anything but your lab notebook. You've published nothing but your scribblings to yourself with no assurance that (a) it is mathematically sound, (b) it is correct, and (c) the who/what/where basis for your work is anything but your own self-mutterings. Do we build a science on this? A few centuries ago a mathematician could claim anything by handwaving, and prove it by solving the questions posed to him. In the last century the standard of proof has risen in mathematics from handwaving, thru simple explanations, and eventually onto more rigourous proofs. Computational mathematics, the collision of math and computers, is still at the handwaving stage. Sage is dancing around like it has discovered something new and wonderful. But I've been in this business now since the late 80s and Sage has done absolutely NOTHING that has not already been done before. Maple used a highly popular language (C) as its basis for a user interface, MMA used Lisp-like notation initially. Magnus collected experts and was funded by NSF. Axiom was funded by NSF and IBM. Axiom used to be free and open source when I was at IBM. If you asked I'd send you a tape of the source code. Magnus has always been free as Gilbert thought it was important. William Stein is a new incarnation of Gilbert Baumslag, 20 years later, thinking he's discovered something that nobody ever noticed before. Sage has some deep problems which have
[sage-devel] Re: Slightly OT: SCC 2008 Braid Groups
Jason, Please send me a diff-Naur patch of your changes. --Tim --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Slightly OT: SCC 2008 Braid Groups
On the other hand: I couldn't find the python bindings, neither in the sf tarball nor the sf svn/cvs repo. Any pointers? I couldn't find any reference to python in any file: The python bindings were created using SWIG. I'll see if I have a copy (I no longer work at CCNY). Gilbert probably has them. I've copied him. A couple other things I noticed: Umm, yeah. The makefiles are, shall we say, extremely elegant. I didn't write them. I'd be happy to have any patches you suggest that might fit your requirements. Be aware that the Makefiles are self-modifying during build. while there is some documentation the format is not in something that seems easily extractable. The documentation is designed to be used by the front-end system. We won't mention that the code and algorithms need documentation :-) Tim --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Slightly OT: SCC 2008 Braid Groups
I WANT Sage to live. I want it to succeed. I want it to be the lingua-franca of the business so that we can all post our results in Sage at conferences. I want to be able to drag and drop your publication onto my system and have your code just work, your documentation just connect. I want to be able to not only use what you write, but to understand it so I can use it effectively. I want MMA and Maple users to write for Sage instead. My problem is that I don't see the fundamental difference between Sage and any other system that I've touched in the past. And I don't want this whole generation of mathematicians to do it all over again without some fundamental gain. I may be wrong that the literate documentation is the key. And I admit I'm a knuth-boy fanatic about it. My question is, what can you suggest that will make it live when others have not? Tim --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: fast vs viable (offline post)
I think that generally new code in sage has been meeting a pretty high standard. I think I am a good test case, since I have never been to a Sage Days (except for the joint meetings in San Diego, when I was too busy to interact a whole lot with other developers), and I often try to figure out how various modules work without talking to their developers. Recently, for example, I was looking at Carl Witty's real_roots code, and I thought he did a great job within the source of explaining it all. I really didn't need to contact him to find out how it worked. From my perspective, Sage has been doing a good job of transitioning from William Stein's amazing initial efforts (which considering the timeframe had pretty good documentation) to more rigorous and standardized documentation and testing. It certainly has room for improvement but I see no reason not to be optimistic. I have both pure and applied computational projects, with very particular demands, and no other software in the world can currently meet them all. So for me, Sage certainly can contribute more than just new algorithms. Marshall Hampton On Apr 30, 4:38 pm, root [EMAIL PROTECTED] wrote: David, But we've already had this discussion and it is clear that I'm completely out-in-the-weeds, talking-nonsense, and obviously have no idea how REAL-open-source-projects are done. So lets just leave it where it left off before, which is that I've simply dropped the attempt to give the benefit of experience. Hi Tim, I've been vaguely following your posts to this list over the last few weeks. I don't think you're talking nonsense, but I don't completely understand what point you are trying to make. You seem to be making the following argument, correct me if I'm wrong. You claim that the documentation of the implementations of algorithms in Sage is not good enough, in the sense that someone looking at the Sage codebase in a few years won't be able to understand what is going on. You conclude that Sage will die. The implication is that the way to fix things is for us to improve the documentation of these implementations (perhaps via literate programming or whatever), so that Sage will be more likely to succeed. But isn't the core problem simply one of limited resources? We all have limited time (fields-medallists and non-fields-medallists alike), and so there is some tradeoff between getting something to work as quickly as possible (and hence is useful NOW) and making a beautiful product which meets higher standard of scholarship (and hence is more useful LATER). I can't see any way around this tradeoff. The only thing I can see that will stop a project like Sage from dying is to keep building a steady inflow of users and contributors, so that the knowledge you refer to remains as alive as possible. david I've been associated with some open source projects, and in particular, with Axiom, Magnus, and Doyen. And I've been programming for 35 years. Once a week I hear the I don't have enough time argument. This argument is fine for most of the things I do, e.g. the things I get paid to do because, frankly, almost nothing I've ever done will be worth anything 10 years from now. Computational Mathematics is different in this respect. The answer to integrate(sin(x),x) will be the same 30 years from now. However, the expert who wrote the code will not. (Manual Bronstein is dead). Who will maintain this code if it requires a PhD in Infinite Group Theory just to understand WHY it works and a computer science degree to understand what the PROGRAM is doing? The real tradeoff question is Are you doing science? or just playing around with ideas. Because, if you're doing science then you're doing it for the community. Which means that there is a standard of scholarship that is expected. When I read a proof of a new theorem I expect to see references to prior results, complete proofs of lemmas, complete documentation of assumptions, and a full explanation of the whys-and-wherefores. It takes about 5-10 pages to reach this standard of publication for most mathematics. And THAT TAKES TIME. So ask yourself the following question: What is the standard of publication for COMPUTATIONAL mathematics? What *I* expect to see is an explanation of the mathematics, possibly with proofs (if new). I expect an explanation of how and why the CODE implements the mathematics. I expect complexity bounds. I expect an explanation of optimizations that are not obvious but are critical. This may take 10-100 pages to reach this standard of publication for computational mathematics. and THAT TAKES TIME. If you haven't given me that level of documentation then you haven't given me anything but your lab notebook. You've published nothing but your scribblings to yourself with no assurance that (a) it is mathematically sound, (b) it is correct, and (c) the who/what/where basis for your work is anything but your
[sage-devel] Re: Slightly OT: SCC 2008 Braid Groups
On May 1, 1:06 am, root [EMAIL PROTECTED] wrote: Hi Tim, I WANT Sage to live. I want it to succeed. I want it to be the lingua-franca of the business so that we can all post our results in Sage at conferences. I want to be able to drag and drop your publication onto my system and have your code just work, your documentation just connect. I want to be able to not only use what you write, but to understand it so I can use it effectively. I want MMA and Maple users to write for Sage instead. My problem is that I don't see the fundamental difference between Sage and any other system that I've touched in the past. I think in Open Source it is difficult to tell what makes a project succeed and what makes it fail. If you look way back and consider the *BSD kernel, the Hurd and the Linux kernel it was unclear which kernel would win in the end. I think it came to a surprise of many people and onlookers that the seemingly sucky Linux kernel made the race and not the more established and well proven BSD kernel or the revolutionary Hurd. In my opinion it boiled down to leadership and Linus made all the difference for the Linux kernel. I think Sage is what it is today because William made it that way. The big difference seems to be that contributing to Sage is significantly easier than to other open source math projects and at some point you get over the hump and are in a positive feedback cycle. To me Sage clearly has reached that point. Will it be there forever or even live twenty years from now? Maybe, mabye not, it all depends on how the Sage community develops. I think that software has a life cycle and that mathematical software is no different. And I don't want this whole generation of mathematicians to do it all over again without some fundamental gain. Many components of Sage live independently of it and if the Math community in general wants to keep writing Open Source software life will go on. Is it wasteful and wouldn't it be better if only one or two strong implementations in any given area of mathematics would exist? Maybe, but I think in the end duplicate development effort is something we have to live with and competition is good for business. Other projects that are very much like Sage have been attempted, some of them on top of proprietary systems which were doomed to fail IMHO, and others that eventually died. I don't really think Magnus had the same broad approach as Sage does, but there certainly was the same design principal, i.e. using components and glue them together somehow. I may be wrong that the literate documentation is the key. And I admit I'm a knuth-boy fanatic about it. You are not giving any secrets away here ;) My question is, what can you suggest that will make it live when others have not? What would the alternative be? I don't see anything fundamentally broken with the current development model of mathematical software. If you are on the right track Axiom will be there in 30+ years while Sage might have gone the way of the Dodo. Tim Cheers, Michael Cheers, Michael --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Slightly OT: SCC 2008 Braid Groups
root wrote: Jason, Please send me a diff-Naur patch of your changes. --Tim I'm posting here for other people who may be trying to compile it. These, of course, are quick hacks that get it to compile (equivalent to commenting out the offending lines). If there is a quick test or two that you want me to do, let me know. diff -Naur magnus20060530/back_end/libg++/include/Integer.h magnusnew/back_end/libg++/include/Integer.h --- magnus20060530/back_end/libg++/include/Integer.h2006-04-14 14:21:19.0 -0500 +++ magnusnew/back_end/libg++/include/Integer.h 2008-04-30 15:22:39.0 -0500 @@ -129,7 +129,7 @@ // (constructive binary operations are inlined below) -#if defined (__GNUG__) ! defined (__STRICT_ANSI__) +#if defined (__GNUG__) ! defined (__STRICT_ANSI__) 0 friend Integer operator ? (const Integer x, const Integer y); // min friend Integer operator ? (const Integer x, const Integer y); // max #endif @@ -689,7 +689,7 @@ return *this; } -#if defined (__GNUG__) ! defined (__STRICT_ANSI__) +#if defined (__GNUG__) ! defined (__STRICT_ANSI__) 0 inline Integer operator ? (const Integer x, const Integer y) { return (compare(x.rep, y.rep) = 0) ? x : y; diff -Naur magnus20060530/back_end/libg++/include/Rational.h magnusnew/back_end/libg++/include/Rational.h --- magnus20060530/back_end/libg++/include/Rational.h 2006-04-14 14:21:19.0 -0500 +++ magnusnew/back_end/libg++/include/Rational.h2008-04-30 15:23:15.0 -0500 @@ -72,7 +72,7 @@ Rationaloperator *= (const Rational y); Rationaloperator /= (const Rational y); -#if defined (__GNUG__) ! defined (__STRICT_ANSI__) +#if defined (__GNUG__) ! defined (__STRICT_ANSI__) 0 friend Rational operator ? (const Rational x, const Rational y); // min friend Rational operator ? (const Rational x, const Rational y); // max #endif @@ -231,7 +231,7 @@ inline const Integer Rational::denominator() const { return den; } inline Rational::operator double() const { return ratio(num, den); } -#if defined (__GNUG__) ! defined (__STRICT_ANSI__) +#if defined (__GNUG__) ! defined (__STRICT_ANSI__) 0 inline Rational operator ? (const Rational x, const Rational y) { if (compare(x, y) = 0) return x; else return y; The errors without the patch are below (and similar ones for Rational.h): g++ -fno-operator-names -D_G_NO_NRV -Wno-deprecated -DHAVE_UNISTD_H -DDEBUG -g -DSAFETY=2 -I../global -Iinclude -c src/Intdouble.C -o src/obj/Intdouble.o In file included from src/Intdouble.C:22: include/Integer.h:133: error: declaration of ‘operator’ as non-function include/Integer.h:133: error: expected ‘;’ before ‘?’ token include/Integer.h:134: error: declaration of ‘operator’ as non-function include/Integer.h:134: error: expected ‘;’ before ‘?’ token include/Integer.h:693: error: expected initializer before ‘?’ token include/Integer.h:698: error: expected initializer before ‘?’ token make[3]: *** [src/obj/Intdouble.o] Error 1 make[3]: Leaving directory `/home/grout/Desktop/magnus20060530/back_end/libg++' make[2]: *** [liblibg++] Error 2 make[2]: Leaving directory `/home/grout/Desktop/magnus20060530/back_end/SessionManager' make[1]: *** [all] Error 2 make[1]: Leaving directory `/home/grout/Desktop/magnus20060530/back_end' make: *** [all] Error 2 Thanks, Jason --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Slightly OT: SCC 2008 Braid Groups
Michael, On the other hand: I couldn't find the python bindings, neither in the sf tarball nor the sf svn/cvs repo. Any pointers? I couldn't find any reference to python in any file: I found a copy of it. See http://daly.axiom-developer.org/magnus_python.tgz This will unpack into gap_front_end (Magnus can talk to GAP) Tim --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Slightly OT: SCC 2008 Braid Groups
root wrote: I WANT Sage to live. I want it to succeed. I want it to be the lingua-franca of the business so that we can all post our results in Sage at conferences. I want to be able to drag and drop your publication onto my system and have your code just work, your documentation just connect. I want to be able to not only use what you write, but to understand it so I can use it effectively. I want MMA and Maple users to write for Sage instead. Yes! You got it. My problem is that I don't see the fundamental difference between Sage and any other system that I've touched in the past. And I don't want this whole generation of mathematicians to do it all over again without some fundamental gain. The fundamental difference is Python and William! And 100+ developers who want Sage to succeed. I may be wrong that the literate documentation is the key. And I admit I'm a knuth-boy fanatic about it. I once believed in Literate Programming, but I lost faith. It is just unpractical like a Procrustes bed. My question is, what can you suggest that will make it live when others have not? See what happened since 2005. Sage has momentum, it will survive at least a few decades. Jaap Tim --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: fast vs viable
On Wed, Apr 30, 2008 at 3:38 PM, root [EMAIL PROTECTED] wrote: Sage is dancing around like it has discovered something new and wonderful. Yes, I'm certainly pretty excited about the Sage project, especially the many really interesting people involved in it! But I've been in this business now since the late 80s and Sage has done absolutely NOTHING that has not already been done before. There are numerous specific technical algorithms now implemented in Sage that are not implemented in any other system. But that is *not* the main point of Sage. Maple used a highly popular language (C) as its basis for a user interface, Maple's language is a special purpose language designed for that system, which is based on another language. Sage really does use a mainstream language. There is a difference. MMA used Lisp-like notation initially. Mathematica uses a special purpose language designed for mathematics. Even if it is inspired by Lisp it is not lisp. Sage really does use a mainstream programming language. Magnus collected experts and was funded by NSF. Axiom was funded by NSF and IBM I'm really glad that getting funded is not something new for mathematical software! . Axiom used to be free and open source when I was at IBM. If you asked I'd send you a tape of the source code. Ask and I'll send you a tape is hugely different than freely available on the internet and licensed under the GPL.Stallman's GPL itself *is* a powerful and new idea compared that was created in response to... we'll we all know the story. Magnus has always been free as Gilbert thought it was important. William Stein is a new incarnation of Gilbert Baumslag, 20 years later, thinking he's discovered something that nobody ever noticed before. I honestly don't care whether Sage contains amazing new stuff or not; I do not care about discovering something new in mathematical software or not; computer algebra is *not* my research area -- my research is in number theory, and that's where I care about discovering new things. I am driven by one single goal related to Sage: Create a free viable open source alternative to Maple, Mathematica, Magma, and Matlab, which means a community, distribution system, funding model, books, papers, etc. If something new and interesting comes out of this, so be it. Sage has some deep problems which have yet to surface. - It suffers from the namespace problem that Maple struggles with. Sage's namespace semantics *are* Python's, and Python has by far the best namespace semantics I've ever seen in any programming language. Hands down. - It suffers from the performance issues of multiple systems being called by intermediate parsers from an interpreted core. Sage has the unique *capability* of doing calculations that involve multiple systems being called from an interpreted core. - It suffers from the I can do it better, do-it-yet-again-in-python syndrome, where it will be discovered that python is too slow so we need to rewrite it in Cython and do obscure, undocumented, performance enhancing software hacks. Real life software that has as one of its goals to be fast often involves performance enhancing hacks. - It suffers from the OpenMath communication issue (e.g. if you take an Axiom expression, export it to maple, compute with it, and re-import it to Axiom you have violated a lot of type assumptions in Axiom, possibly violated branch cut assumptions (e.g. acosh), done invalid simplifications, and any number of violent mathematical mistakes) Sage does not in any way use OpenMath. - It collects system that will eventually lose their maintainers due to the many reasons that open source software stops being maintained. Will Sage simply drop the software you depend upon? We only include immortal programs in Sage. - It drops legacy systems. But mathematicians rarely, if ever, upgrade to the latest tools and opsys releases. It is fine to say update your compiler (twice replied to my bugs) to a hacker like me but most people won't do it. The only reason it is working now is that all of the code is new. Wait 5 years and you'll find out that most people drop the system because it requires them to upgrade their whole working environment. - the list goes on Are you saying that Sage is doomed because most people won't upgrade anything on their computers for the next five years? What I'm suggesting is that if they want Sage to be different from the many other systems lying dead on the road (e.g. Magnus) then they need to capture the expertise needed to write, maintain, modify, and extend the algorithms AS THEY ARE WRITTEN. So Magnus is roadkill on the information superhighway? But the argument is that takes time. But it takes MUCH more time to reverse engineer a mathematical algorithm (if it can be done at all). Believe me, I dragged in the
[sage-devel] Re: Slightly OT: SCC 2008 Braid Groups
On Wed, Apr 30, 2008 at 3:19 PM, Jaap Spies [EMAIL PROTECTED] wrote: root wrote: I WANT Sage to live. I want it to succeed. I want it to be the lingua-franca of the business so that we can all post our results in Sage at conferences. I want to be able to drag and drop your publication onto my system and have your code just work, your documentation just connect. I want to be able to not only use what you write, but to understand it so I can use it effectively. I want MMA and Maple users to write for Sage instead. Yes! You got it. My problem is that I don't see the fundamental difference between Sage and any other system that I've touched in the past. And I don't want this whole generation of mathematicians to do it all over again without some fundamental gain. The fundamental difference is Python and William! And 100+ developers who want Sage to succeed. I may be wrong that the literate documentation is the key. And I admit I'm a knuth-boy fanatic about it. I once believed in Literate Programming, but I lost faith. It is just unpractical like a Procrustes bed. For those not as familiar with Greek literature as Jaap, I found this on the 'net: Procrustes was the ancient champion of enforced conformity. In Greek antiquity he was a legendary highwayman who lived in Attica. He had an iron bed which he regarded as the standard of length. Because it just fit him, he concluded that every one should fit it. He stopped every traveler and tied him to the bed. If the person happened to be too short, Procrustes stretched him until he attained the correct length; if he happened to be too long, his legs were cut off until he met the proper requirement. Thus was everyone made identical in size. I also found this from Knuth (who introduced LP): Literate programming is a very personal thing. I think it's terrific, but that might well be because I'm a very strange person. [...] I don't believe in forcing ideas on anybody. If literate programming isn't your style, please forget it and do what you like. If nobody likes it but me, let it die. Fortunately, Knuth himself is not like Procrustes. -- William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: fast vs viable (offline post)
But you still haven't told me: where is all this time going to come from? I can't magically make more time appear. I have other things to do. It's a damn shame. http://nielsenhayden.com/makinglight/archives/010186.html#010186 and, for the record, I vote for MaryAnn. :-) Tim --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Slightly OT: SCC 2008 Braid Groups
On Apr 30, 2008, at 7:06 PM, root wrote: I WANT Sage to live. I want it to succeed. I want it to be the lingua-franca of the business so that we can all post our results in Sage at conferences. I want to be able to drag and drop your publication onto my system and have your code just work, your documentation just connect. I want to be able to not only use what you write, but to understand it so I can use it effectively. I want MMA and Maple users to write for Sage instead. Awesome. My problem is that I don't see the fundamental difference between Sage and any other system that I've touched in the past. Obviously you must see something, or you wouldn't be writing to this list :-) And I don't want this whole generation of mathematicians to do it all over again without some fundamental gain. I may be wrong that the literate documentation is the key. And I admit I'm a knuth-boy fanatic about it. My question is, what can you suggest that will make it live when others have not? A vibrant developer community. Lots of naive young people like me, who don't listen to doomsayers like you :-) david --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: fast vs viable (offline post)
- It suffers from the I can do it better, do-it-yet-again-in-python syndrome, where it will be discovered that python is too slow so we need to rewrite it in Cython and do obscure, undocumented, performance enhancing software hacks. Unfortunately computers live in the physical world, not the theoretical world. Ugly performance enhancing software hacks are often needed to make theoretical algorithms viable. - It suffers from the OpenMath communication issue (e.g. if you take an Axiom expression, export it to maple, compute with it, and re-import it to Axiom you have violated a lot of type assumptions in Axiom, possibly violated branch cut assumptions (e.g. acosh), done invalid simplifications, and any number of violent mathematical mistakes) If merely by exporting the data and re-importing it you have violated assumptions, then Axiom is broken and needs a better exporting system. --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: fast vs viable (offline post)
On May 1, 12:51 am, Gary Furnish [EMAIL PROTECTED] wrote: - It suffers from the OpenMath communication issue (e.g. if you take an Axiom expression, export it to maple, compute with it, and re-import it to Axiom you have violated a lot of type assumptions in Axiom, possibly violated branch cut assumptions (e.g. acosh), done invalid simplifications, and any number of violent mathematical mistakes) If merely by exporting the data and re-importing it you have violated assumptions, then Axiom is broken and needs a better exporting system. Nope, Tim is right on this one. Different systems make different assumptions on branch cuts, so this is more than a theoretical problem. But Sage is not really in the business of taking symbolic expressions and shoveling them around to various systems to do manipulations. It is certainly doable, but not very practical. There will be other cases where similar issues will arise or are even now are already a problem, but if your approach is Sage like, i.e. combining different pieces of software to do computations, there is really now way around this. And this generally assumes that each system in itself is consistent and bug free, but that ought to be expect. Reality might look quite different. Cheers, Michael --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Slightly OT: SCC 2008 Braid Groups
William Stein wrote: On Wed, Apr 30, 2008 at 3:19 PM, Jaap Spies [EMAIL PROTECTED] wrote: root wrote: I WANT Sage to live. I want it to succeed. I want it to be the lingua-franca of the business so that we can all post our results in Sage at conferences. I want to be able to drag and drop your publication onto my system and have your code just work, your documentation just connect. I want to be able to not only use what you write, but to understand it so I can use it effectively. I want MMA and Maple users to write for Sage instead. Yes! You got it. My problem is that I don't see the fundamental difference between Sage and any other system that I've touched in the past. And I don't want this whole generation of mathematicians to do it all over again without some fundamental gain. The fundamental difference is Python and William! And 100+ developers who want Sage to succeed. I may be wrong that the literate documentation is the key. And I admit I'm a knuth-boy fanatic about it. I once believed in Literate Programming, but I lost faith. It is just unpractical like a Procrustes bed. For those not as familiar with Greek literature as Jaap, I found this on the 'net: Procrustes was the ancient champion of enforced conformity. In Greek antiquity he was a legendary highwayman who lived in Attica. He had an iron bed which he regarded as the standard of length. Because it just fit him, he concluded that every one should fit it. He stopped every traveler and tied him to the bed. If the person happened to be too short, Procrustes stretched him until he attained the correct length; if he happened to be too long, his legs were cut off until he met the proper requirement. Thus was everyone made identical in size. I also found this from Knuth (who introduced LP): Literate programming is a very personal thing. I think it's terrific, but that might well be because I'm a very strange person. [...] I don't believe in forcing ideas on anybody. If literate programming isn't your style, please forget it and do what you like. If nobody likes it but me, let it die. Fortunately, Knuth himself is not like Procrustes. Happy us! We can use the good stuff from Knuth! Jaap -- William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Fwd: [Cython] Porting the Docs
Yeah! This has already helped me a lot. Many thanks to everyone involved. -M. Hampton On Apr 30, 10:48 am, William Stein [EMAIL PROTECTED] wrote: Hi, Cython now has beautiful-to-behold documentation. See below. -- Forwarded message -- From: Gabriel Gellner [EMAIL PROTECTED] Date: Wed, Apr 30, 2008 at 8:39 AM Subject: Re: [Cython] Porting the Docs To: Cython-dev [EMAIL PROTECTED] So I have finished the first rough mockup, which mainly consists of getting the markup correct. There are still some rough edges, mainly with tables, and some of the latex output, but in the spirit of release early release often ;-) Check out the html at: http://www.mudskipper.ca/cython-doc Get the pdf at: http://www.mudskipper.ca/cython.pdf And finally get the source at: http://www.mudskipper.ca/cython_doc.tar.gz or http://www.mudskipper.ca/cython_doc.zip Again I would appreciate any comments on if I am screwing up authorship. Down the road I think it would be good to attribute everything to the 'Cython Doc Team' and have a page that lists contributers. To do this we should make the license and authorship on the wiki more explicit. Tell me what you think? I am no lawyer, and certainly don't want to piss anyone off who has put the hard work into documenting either cython or pyrex. My plan for the next steps (in order of importance, any comments): - Make a PyGments lexer for cython/pyrex so we get nice color coding. - Fix up the latex style file so that boxes are not messed up when we have code examples. - Put on my writing hat, and do an overhaul of the structure of the docs so that it is faster to navigate. I will be using the python doc structure as a reference. - Get some simple howto's written. - Thinking if there is an easy way to test the cython code in the docs so that I can ensure accuracy. Gabriel ___ Cython-dev mailing list [EMAIL PROTECTED] http://codespeak.net/mailman/listinfo/cython-dev -- William Stein Associate Professor of Mathematics University of Washingtonhttp://wstein.org --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: fast vs viable (offline post)
- It suffers from the OpenMath communication issue (e.g. if you take an Axiom expression, export it to maple, compute with it, and re-import it to Axiom you have violated a lot of type assumptions in Axiom, possibly violated branch cut assumptions (e.g. acosh), done invalid simplifications, and any number of violent mathematical mistakes) If merely by exporting the data and re-importing it you have violated assumptions, then Axiom is broken and needs a better exporting system. Well, that's something of the issue, actually. Suppose we're looking at an inverse function that uses branch cuts. System A uses cut 1, say $-\pi x \pi$ System B uses cut 2, say $0 x 2\pi$ Suppose you take a result from System A: x=A.getResult() simplify it with System B y=B.simplify() and hand it back to System A A.compute(y) Trigonometric simplification formulas depend on the branch cuts. Thus, the simplification performed in B, while perfectly valid under the branch cut assumptions in System B, may not be valid under the branch cut assumptions in System A. You get a final answer (assuming a LONG chain of using a lot of available systems in Sage). Is the answer correct? Do all of the subsystems in Sage that use transcendental functions use the same choice of branch cuts in all their routines? Frankly, I'm not sure how to begin to answer the question because (a) most (all?) of the systems do NOT document their branch cut assumptions and (b) I'd likely not be able to follow the logic of so many systems through their simplifier. Is this important? Only if you want a correct answer. Tim --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: fast vs viable (offline post)
I do believe that computational mathematics needs to become a more rigorous subject. In fact, I'd like to see a piece of code written by Tim upholding the standards he is advocating, where someone has taken the time, because I would like to compare it to my own code and get some ideas. However, I think that a vast number of mathematical papers are written to a vastly lower standard than a lot of code. Much of what is written, you really do need a fields medal to understand it and papers are absolutely full of errors, omissions, handwaving, unchecked assertions, statements which have come from the mouths of other people but never formally proved, etc, etc. Just this morning I read a note in which an important new result was mentioned. There was no indication of who the result was due to, what year they published it, or any other clues. I eventually tracked down another paper which mentioned it. But that paper also did not mention the authors of the original result. I eventually established that it was one or more of the authors of the very paper I was reading! They couldn't even reference their own work properly. Not only that, it appears to be an unpublished result, and may have been proved using a computer. I did however manage to find out which month they discovered their result, but this didn't help me recover the proof. On the up side, I also read a paper which was somewhat comprehensible, where all the terms were defined, references were given for omitted proofs (and they weren't in obscure papers in Russian) and the paper was really doing something interesting which was not written down in a textbook somewhere. I have to say though, that kind of paper is about as rare as the code you are referring to. Bill. On 30 Apr, 23:37, David Harvey [EMAIL PROTECTED] wrote: On Apr 30, 2008, at 6:38 PM, root wrote: David, But we've already had this discussion and it is clear that I'm completely out-in-the-weeds, talking-nonsense, and obviously have no idea how REAL-open-source-projects are done. So lets just leave it where it left off before, which is that I've simply dropped the attempt to give the benefit of experience. Hi Tim, I've been vaguely following your posts to this list over the last few weeks. I don't think you're talking nonsense, but I don't completely understand what point you are trying to make. You seem to be making the following argument, correct me if I'm wrong. You claim that the documentation of the implementations of algorithms in Sage is not good enough, in the sense that someone looking at the Sage codebase in a few years won't be able to understand what is going on. You conclude that Sage will die. The implication is that the way to fix things is for us to improve the documentation of these implementations (perhaps via literate programming or whatever), so that Sage will be more likely to succeed. But isn't the core problem simply one of limited resources? We all have limited time (fields-medallists and non-fields-medallists alike), and so there is some tradeoff between getting something to work as quickly as possible (and hence is useful NOW) and making a beautiful product which meets higher standard of scholarship (and hence is more useful LATER). I can't see any way around this tradeoff. The only thing I can see that will stop a project like Sage from dying is to keep building a steady inflow of users and contributors, so that the knowledge you refer to remains as alive as possible. david I've been associated with some open source projects, and in particular, with Axiom, Magnus, and Doyen. And I've been programming for 35 years. In the interests of full disclosure, Sage is the first open source project I've been seriously involved with, and I haven't even been alive for 35 years :-) Once a week I hear the I don't have enough time argument. This argument is fine for most of the things I do, e.g. the things I get paid to do because, frankly, almost nothing I've ever done will be worth anything 10 years from now. Computational Mathematics is different in this respect. The answer to integrate(sin(x),x) will be the same 30 years from now. However, the expert who wrote the code will not. (Manual Bronstein is dead). Who will maintain this code if it requires a PhD in Infinite Group Theory just to understand WHY it works and a computer science degree to understand what the PROGRAM is doing? The real tradeoff question is Are you doing science? or just playing around with ideas. Because, if you're doing science then you're doing it for the community. Which means that there is a standard of scholarship that is expected. When I read a proof of a new theorem I expect to see references to prior results, complete proofs of lemmas, complete documentation of assumptions, and a full explanation of the whys-and-wherefores. It takes about 5-10 pages to reach this standard of
[sage-devel] Re: fast vs viable (offline post)
My point was that information on branch cuts should either A) be publicly available or B) preferably available as an export option. Mathematica and Maple both do A. Perhaps B is the better answer for open systems. In any event I stand by my point that this is only an issue because people have a tendency to ignore branch cuts; it is not actually a flaw inherent in aggregating many systems, and there are no technical reasons it couldn't be handled better. On Wed, Apr 30, 2008 at 6:39 PM, root [EMAIL PROTECTED] wrote: - It suffers from the OpenMath communication issue (e.g. if you take an Axiom expression, export it to maple, compute with it, and re-import it to Axiom you have violated a lot of type assumptions in Axiom, possibly violated branch cut assumptions (e.g. acosh), done invalid simplifications, and any number of violent mathematical mistakes) If merely by exporting the data and re-importing it you have violated assumptions, then Axiom is broken and needs a better exporting system. Well, that's something of the issue, actually. Suppose we're looking at an inverse function that uses branch cuts. System A uses cut 1, say $-\pi x \pi$ System B uses cut 2, say $0 x 2\pi$ Suppose you take a result from System A: x=A.getResult() simplify it with System B y=B.simplify() and hand it back to System A A.compute(y) Trigonometric simplification formulas depend on the branch cuts. Thus, the simplification performed in B, while perfectly valid under the branch cut assumptions in System B, may not be valid under the branch cut assumptions in System A. You get a final answer (assuming a LONG chain of using a lot of available systems in Sage). Is the answer correct? Do all of the subsystems in Sage that use transcendental functions use the same choice of branch cuts in all their routines? Frankly, I'm not sure how to begin to answer the question because (a) most (all?) of the systems do NOT document their branch cut assumptions and (b) I'd likely not be able to follow the logic of so many systems through their simplifier. Is this important? Only if you want a correct answer. Tim --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: fast vs viable (offline post)
I do believe that computational mathematics needs to become a more rigorous subject. In fact, I'd like to see a piece of code written by Tim upholding the standards he is advocating, where someone has taken the time, because I would like to compare it to my own code and get some ideas. However, I think that a vast number of mathematical papers are written to a vastly lower standard than a lot of code. Much of what is written, you really do need a fields medal to understand it and papers are absolutely full of errors, omissions, handwaving, unchecked assertions, statements which have come from the mouths of other people but never formally proved, etc, etc. Just this morning I read a note in which an important new result was mentioned. There was no indication of who the result was due to, what year they published it, or any other clues. I eventually tracked down another paper which mentioned it. But that paper also did not mention the authors of the original result. I eventually established that it was one or more of the authors of the very paper I was reading! They couldn't even reference their own work properly. Not only that, it appears to be an unpublished result, and may have been proved using a computer. I did however manage to find out which month they discovered their result, but this didn't help me recover the proof. On the up side, I also read a paper which was somewhat comprehensible, where all the terms were defined, references were given for omitted proofs (and they weren't in obscure papers in Russian) and the paper was really doing something interesting which was not written down in a textbook somewhere. I have to say though, that kind of paper is about as rare as the code you are referring to. The canonical example which is in-plan to write is based on the paper in src/doc/primesp.spad.pamphlet http://github.com/daly/axiom/tree/master/src/doc/primesp.spad.pamphlet I obtained permission from the authors to use this paper in Axiom as the basis for a canonical example. It is not yet complete and fully integrated into Axiom so I don't talk about it much but it is in process. Tim --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: fast vs viable (offline post)
root wrote: The canonical example which is in-plan to write is based on the paper in src/doc/primesp.spad.pamphlet http://github.com/daly/axiom/tree/master/src/doc/primesp.spad.pamphlet I obtained permission from the authors to use this paper in Axiom as the basis for a canonical example. It is not yet complete and fully integrated into Axiom so I don't talk about it much but it is in process. I looked at this briefly; thanks for posting it. (To everyone) It's my understanding that JSage (the Sage journal) will perform some of this function (i.e., it will be a place to publish nontrivial algorithms used in Sage with explanations, etc.), at least when JSage gets going seriously. Perhaps the combination of Sage and JSage fulfills this desire to have clearly documented algorithms. Of course, code eventually diverges from the papers in which it originally appeared, and probably rarely does the code in the original paper contain some of the performance-related system-specific tweaks that make it run faster, which may be a problem in comparing current code with original papers. As for good documented code in Sage, I think Robert Miller's NICE is a great example of documented code with references to the original papers (and corrections to the original paper!) Jason --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: why do we not use malb's libsingular wrappings by default?
On Thursday 01 May 2008, mhampton wrote: I'm sure Martin will answer this, but I suspect is an oversight based on common usage patterns - for most Groebner basis calculations, the overhead of pexpect is insignificant. Yes, this is one reason. Another reason is that interrupting the calculation is much easier over pexpect. Third, note that you are potentially using different algorithms: I.groebner_basis() calls the groebner heuristic function while libsingular:std calls the standard Buchberger directly. We would use the excellent heuristics of Singular since they are implemented as Singular script. Martin -- name: Martin Albrecht _pgp: http://pgp.mit.edu:11371/pks/lookup?op=getsearch=0x8EF0DC99 _www: http://www.informatik.uni-bremen.de/~malb _jab: [EMAIL PROTECTED] --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Slightly OT: SCC 2008 Braid Groups
* Tobias Eibach and Gunnar Völkel: Optimising Gröbner Bases on Bivium (used Sage to implement attack) * Burçin Eröcal: SCrypt: Using Symbolic Computation to Bridge the Gap Between Algebra and Cryptography (module for Sage) * Ralf-Philipp Weinmann and Johannes Buchmann: Distributed Memory Computation of Row-Reduced Echelon Forms over Finite Fields (benchmarked against Sage) * Yours truly and Carlos Cid: Algebraic Techniques in Differential Cryptanalysis (used Sage to implement attack) (... yes, I know that 3 out of 4 are Sage developers, but still ...) So is 2. Why isn't 1 a Sage developer? We want their code :-). I meant: Three authors on that list of four entries are Sage developers. By the way, what does benchmarked against Sage mean in RPW's talk? Ralf developed a parallel matrix reduction algorithm on distributed memory (!) and used Sage (LinBox and native implementation) to compare his timings. Martin -- name: Martin Albrecht _pgp: http://pgp.mit.edu:11371/pks/lookup?op=getsearch=0x8EF0DC99 _www: http://www.informatik.uni-bremen.de/~malb _jab: [EMAIL PROTECTED] --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: fast vs viable (offline post)
My point was that information on branch cuts should either A) be publicly available or B) preferably available as an export option. Mathematica and Maple both do A. Perhaps B is the better answer for open systems. In any event I stand by my point that this is only an issue because people have a tendency to ignore branch cuts; it is not actually a flaw inherent in aggregating many systems, and there are no technical reasons it couldn't be handled better. Consider what you propose as mechanisms for handled better. Systems are unlikely to allow you to dynamically change the chosen branch cuts ((B) above) since the assumption is built in to code, such as the integration routines and the simplification routines. Neither the authors of System A nor the authors of System B would consider a bug report valid since they are both internally consistent (one hopes), and thus not in error. But the subtle mistake made by the user (under an incorrect assumption) is very hard to track down. If Sage allows composing calls from System A with calls from System B, this is sure to be an issue. The OpenMath http://www.openmath.org project has been working on these kinds of standards. One hope is for the end user of the system to be able to look up such information when needed. For most systems I have no idea where to look for this. This requires good documentation but I'd be the last to suggest this :-) Another hope is to use a set of external test cases (the Computer Algebra Test Suite (CATS) idea) that consists of well chosen problem sets; in this case, problem sets that reveal the branch cuts. Each system would show that they got the canonical answer (e.g. that they agree with Schaum's Mathematical Handbook). In that way we could be sure that the systems were plug replaceable at the user level. Thus, a Mathematica or Maple user could be sure that Sage gave the same results for trigonometric branch cuts. (To practice what I preach I've been checking Axiom against published results from many different sources. See the mailing list and src/input files.) I feel that both the documentation and CATS approaches are both important and necessary. Clearly these fall into (A) above. Tim --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] gens and ngens
Regarding ticket http://sagetrac.org/sage_trac/ticket/3045 can someone explain to me what the gens and ngens methods are supposed to mean? There seems to be a lot of inconsistency. For example: sage: ZZ.gens() (1,) These are the additive generators. Ditto here: sage: GF(7).gens() (1,) Okay, what about this: sage: GF(49, a).gens() (a,) That's not an additive generator. That's a generator as an algebra over the base ring (GF(7) in this case). Similarly: sage: ZZ[x, y].gens() (x, y) So is this rule that (1) If R has a base ring distinct from R, then R.gens() returns the generators over the base ring, where generator is interpreted according to what category we're working in, and (2) If the base ring of R is just R, then R.gens() returns the additive generators? That's a bit weird. I hate to think what happens if we implement, e.g. the ring of continuous functions on the interval [0, 1]. I suppose then gens needs to return some kind of uncountable generator object perhaps (excuse the pun)? david --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---