[sage-devel] Re: Symlinks to sage don't work unless ...

2008-04-30 Thread mabshoff

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

2008-04-30 Thread Bill Page

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

2008-04-30 Thread Roman Pearce

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

2008-04-30 Thread Roman Pearce

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

2008-04-30 Thread Michael Brickenstein

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

2008-04-30 Thread David Joyner

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

2008-04-30 Thread mhampton

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

2008-04-30 Thread Simon King

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

2008-04-30 Thread Simon King

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

2008-04-30 Thread Michael Brickenstein

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

2008-04-30 Thread Michael Brickenstein

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

2008-04-30 Thread William Stein

-- 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

2008-04-30 Thread David Joyner

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

2008-04-30 Thread William Stein

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

2008-04-30 Thread William Stein

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 ...

2008-04-30 Thread M


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

2008-04-30 Thread William Stein

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

2008-04-30 Thread Martin Albrecht

 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

2008-04-30 Thread Martin Albrecht

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

2008-04-30 Thread Simon King

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

2008-04-30 Thread William Stein

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

2008-04-30 Thread William Stein

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

2008-04-30 Thread Bill Page

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

2008-04-30 Thread David Joyner

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

2008-04-30 Thread William Stein

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

2008-04-30 Thread William Stein

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

2008-04-30 Thread Nathan Dunfield

 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

2008-04-30 Thread Simon King

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

2008-04-30 Thread John Cremona

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

2008-04-30 Thread Roman Pearce

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

2008-04-30 Thread root


  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

2008-04-30 Thread David Joyner

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

2008-04-30 Thread mabshoff

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

2008-04-30 Thread William Stein

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

2008-04-30 Thread David Harvey


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

2008-04-30 Thread root


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?

2008-04-30 Thread Yi Qiang

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

2008-04-30 Thread mabshoff

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?

2008-04-30 Thread mhampton

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

2008-04-30 Thread Jason Grout

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)

2008-04-30 Thread root

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

2008-04-30 Thread root

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

2008-04-30 Thread root

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

2008-04-30 Thread root

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)

2008-04-30 Thread mhampton

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

2008-04-30 Thread mabshoff

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

2008-04-30 Thread Jason Grout

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

2008-04-30 Thread root

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

2008-04-30 Thread Jaap Spies

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

2008-04-30 Thread William Stein

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

2008-04-30 Thread William Stein

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)

2008-04-30 Thread root

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

2008-04-30 Thread David Harvey


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)

2008-04-30 Thread Gary Furnish

   - 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)

2008-04-30 Thread mabshoff



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

2008-04-30 Thread Jaap Spies

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

2008-04-30 Thread mhampton

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)

2008-04-30 Thread root

   - 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)

2008-04-30 Thread Bill Hart

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)

2008-04-30 Thread Gary Furnish

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)

2008-04-30 Thread root

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)

2008-04-30 Thread Jason Grout

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?

2008-04-30 Thread Martin Albrecht

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

2008-04-30 Thread Martin Albrecht

   * 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)

2008-04-30 Thread root

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

2008-04-30 Thread David Harvey
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
-~--~~~~--~~--~--~---