[sage-devel] 3d display: x3d?

2009-03-08 Thread Prabhu Ramachandran

Dear Sage developers,

Is it possible to view an x3d file from a sage worksheet (assuming my 
browser has the necessary plugin or java support for example)? I saw 
numerous mentions of x3d support in the source code in plot/plot3d.  For 
example if one generates a 'foo.png', the image is immediately and very 
conveniently rendered.  This doesn't work if I save an x3d file.

The reason I ask is really simple.  mayavi2 can produce x3d files via 
mlab.savefig('foo.x3d') for example (thanks to VTK) and freewrl is able 
to view these pretty well.  I was wondering if there were a mechanism to 
support this seamlessly on a notebook.  This would allow for very nice 
integrated 3D display.  Alternatively, does jmol support display via x3d 
files?  Ondrej has integrated mayavi2 with the notebook but it only 
produces static images and I'd like to find an easy way to also provide 
3D interactivity.  Here are a few simple examples from Ondrej's site 
that I made from some mlab examples:

  http://nb.hpfem.org/home/pub/16

Another option would be to produce output suitable for use with jmol. 
Would this require a pmesh exporter?

I'd appreciate any ideas on this.  Thanks.

cheers,
prabhu

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



[sage-devel] Google Summer of Code 2009

2009-03-08 Thread Burcin Erocal

Hi,

Are we doing anything for the Google Summer of Code this year?

The applications for mentoring organizations open tomorrow (March 9),
and end on Friday (March 13). The timeline is here:

http://code.google.com/opensource/gsoc/2009/faqs.html#0_1_timeline_5354032302481437_


I started a wiki page for project ideas, basically by copying parts of
previous years page.

http://wiki.sagemath.org/gsoc09



More information about the program available here:

http://code.google.com/soc/

Here is a blog post by a gentoo developer with some relevant questions
we could answer in our application as well:

http://dberkholz.wordpress.com/2009/03/01/you-can-help-get-gentoo-into-the-summer-of-code/


Cheers,

Burcin

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



[sage-devel] Re: Google Summer of Code 2009

2009-03-08 Thread William Stein

On Sun, Mar 8, 2009 at 4:50 AM, Burcin Erocal bur...@erocal.org wrote:

 Hi,

 Are we doing anything for the Google Summer of Code this year?

I hope so.  Note that I'm personally not going to fill out a mentor
organization application for Sage.   If you or somebody else wants to,
volunteer now.  After receiving a no answer three times in a row, I
don't personally want to take the rejection yet again. :-)

I'm definitely +1 on somebody (not me) applying Sage as an organization.

 The applications for mentoring organizations open tomorrow (March 9),
 and end on Friday (March 13). The timeline is here:

It's first come first served, I think, so whoever does this should do it ASAP!


 http://code.google.com/opensource/gsoc/2009/faqs.html#0_1_timeline_5354032302481437_


 I started a wiki page for project ideas, basically by copying parts of
 previous years page.

 http://wiki.sagemath.org/gsoc09



 More information about the program available here:

 http://code.google.com/soc/

 Here is a blog post by a gentoo developer with some relevant questions
 we could answer in our application as well:

 http://dberkholz.wordpress.com/2009/03/01/you-can-help-get-gentoo-into-the-summer-of-code/


 Cheers,

 Burcin

 




-- 
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 
sage-devel-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: 3d display: x3d?

2009-03-08 Thread William Stein

On Sun, Mar 8, 2009 at 4:36 AM, Prabhu Ramachandran
pra...@aero.iitb.ac.in wrote:

 Dear Sage developers,

 Is it possible to view an x3d file from a sage worksheet (assuming my
 browser has the necessary plugin or java support for example)?

No, but as you've basically observed below such support would likely
be easy to add to sage.  I don't have time to try right now.

 I saw
 numerous mentions of x3d support in the source code in plot/plot3d.  For
 example if one generates a 'foo.png', the image is immediately and very
 conveniently rendered.  This doesn't work if I save an x3d file.

 The reason I ask is really simple.  mayavi2 can produce x3d files via
 mlab.savefig('foo.x3d') for example (thanks to VTK) and freewrl is able
 to view these pretty well.  I was wondering if there were a mechanism to
 support this seamlessly on a notebook.  This would allow for very nice
 integrated 3D display.  Alternatively, does jmol support display via x3d
 files?  Ondrej has integrated mayavi2 with the notebook but it only
 produces static images and I'd like to find an easy way to also provide
 3D interactivity.  Here are a few simple examples from Ondrej's site
 that I made from some mlab examples:

  http://nb.hpfem.org/home/pub/16

Awesome!!


 Another option would be to produce output suitable for use with jmol.
 Would this require a pmesh exporter?

 I'd appreciate any ideas on this.  Thanks.

Robert Bradshaw will likely have something useful to say tomorrow (=Monday) too.

William

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



[sage-devel] Re: Google Summer of Code 2009

2009-03-08 Thread Harald Schilly

On Mar 8, 12:50 pm, Burcin Erocal bur...@erocal.org wrote:
 Are we doing anything for the Google Summer of Code this year?

I hope - from the experience in the past - the main focus is on non-
maths related tasks, that are easy and comprehensible from a
software engineering standpoint. i.e. authentication with existing
systems (ldap, active directory,...) and embedding into things like
moodle come to my mind. otoh avoid anything that could confuse, don't
mention mathematical terms and so on. I think the chances are higher
if we could boil it down to this sort of technical tasks with short
and clear descriptions.

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



[sage-devel] Re: Google Summer of Code 2009

2009-03-08 Thread Burcin Erocal

On Sun, 8 Mar 2009 06:52:17 -0700 (PDT)
Harald Schilly harald.schi...@gmail.com wrote:

 
 On Mar 8, 12:50 pm, Burcin Erocal bur...@erocal.org wrote:
  Are we doing anything for the Google Summer of Code this year?
 
 I hope - from the experience in the past - the main focus is on non-
 maths related tasks, that are easy and comprehensible from a
 software engineering standpoint. i.e. authentication with existing
 systems (ldap, active directory,...) and embedding into things like
 moodle come to my mind. otoh avoid anything that could confuse, don't
 mention mathematical terms and so on. I think the chances are higher
 if we could boil it down to this sort of technical tasks with short
 and clear descriptions.

+10

This is why I copied the notebook section as an example from the list
for 2008. Even though I would expect Google to be interested in funding
open source implementations of maths, I think it would be better if we
focus on the computer science/engineering side of things.

If we are going ahead with the application, we should try to make the
ideas list very clear, and add well defined milestones/deliverables for
the tasks on the list.


Cheers,

Burcin

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



[sage-devel] Re: sage 3.3 fails to build (preserving permissions problem)

2009-03-08 Thread David Harvey

Hi,

I had the same problem a month or two ago with sage 3.1.2 (?) but
didn't report it.

I had the same problem just now with sage 3.3. I tried fixing the NTL
build by removing the -p options but then the build failed for
whatever came next (eclib I believe).

Then I found this thread and realised it was probably a filesystem
issue. I tried doing the sage build on my local drive (/scratch)
instead of the NFS drive and now it seems to be working smoothly.

david

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



[sage-devel] Re: Google Summer of Code 2009

2009-03-08 Thread Burcin Erocal

Hi William,

On Sun, 8 Mar 2009 06:46:17 -0700
William Stein wst...@gmail.com wrote:

 
 On Sun, Mar 8, 2009 at 4:50 AM, Burcin Erocal bur...@erocal.org
 wrote:
 
  Hi,
 
  Are we doing anything for the Google Summer of Code this year?
 
 I hope so.  Note that I'm personally not going to fill out a mentor
 organization application for Sage.   If you or somebody else wants to,
 volunteer now.  After receiving a no answer three times in a row, I
 don't personally want to take the rejection yet again. :-)

We should definitely apply and not be discouraged from the rejections from the 
previous years.

As Harald wrote in a different post, as long as we state the tasks
clearly, concentrate on computer science, software engineering tasks,
and define clear milestones that any computer science student can
start working on, then we will have a competitive application.

I think you should still do the application, since you're officially
the BDFL of the Sage project, and you already have lots of experience
with the process. I can help with the paperwork, as many others on
this list would also do.

 I'm definitely +1 on somebody (not me) applying Sage as an
 organization.

I can do some work on this, but I don't think I can handle the task all
by myself. But then, if people are not volunteering to work as mentors,
suggest tasks, or help with the application, we shouldn't apply at all.

So please, everyone, suggest project ideas with well defined goals
achievable with less than 3 months of work by computer science majors.

It would be great if people familiar with the notebook volunteered to
be mentors, and extended the items already on the wiki page.


  The applications for mentoring organizations open tomorrow (March
  9), and end on Friday (March 13). The timeline is here:
 
 It's first come first served, I think, so whoever does this should do
 it ASAP!

I looked at the FAQ shortly, but didn't see any mention of this. Does
anybody have more information on this?

We should still prepare the application ASAP, of course. :)

Please submit ideas to the wiki page:

http://wiki.sagemath.org/gsoc09


I'll also start a wiki page for the questions we need to address as a
part of the applications.


Cheers,

Burcin

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



[sage-devel] Re: Google Summer of Code 2009

2009-03-08 Thread Burcin Erocal

Hi,

On Sun, 8 Mar 2009 16:08:22 +0100
Burcin Erocal bur...@erocal.org wrote:

 We should still prepare the application ASAP, of course. :)
 
 Please submit ideas to the wiki page:
 
 http://wiki.sagemath.org/gsoc09
 
 
 I'll also start a wiki page for the questions we need to address as a
 part of the applications.

I copied some of the questions from Google's FAQ, and put them on this
wiki page:

http://wiki.sagemath.org/gsoc09_application


Now all we need is some answers. :)


Burcin

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



[sage-devel] Re: 3d display: x3d?

2009-03-08 Thread Carl Witty

On Sun, Mar 8, 2009 at 3:36 AM, Prabhu Ramachandran
pra...@aero.iitb.ac.in wrote:

 Dear Sage developers,

 Is it possible to view an x3d file from a sage worksheet (assuming my
 browser has the necessary plugin or java support for example)? I saw
 numerous mentions of x3d support in the source code in plot/plot3d.  For
 example if one generates a 'foo.png', the image is immediately and very
 conveniently rendered.  This doesn't work if I save an x3d file.

If you want to add such support, the place to look is
sage/server/notebook/cell.py, in the function files_html.  This
function takes a list of all the files that were produced by
evaluating the cell, and produces HTML with display or download links
for those files.  For example, the case of *.svg files is handled like
this:

elif F.endswith('.svg'):
images.append('embed src=%s type=image/svg+xml
name=emap'%url)

So if you know what to put into HTML to display an x3d model, it would
be trivial to add another case in files_html.

Carl

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



[sage-devel] Re: 3d display: x3d?

2009-03-08 Thread Prabhu Ramachandran

Hi Carl,

On 03/08/09 22:31, Carl Witty wrote:
 If you want to add such support, the place to look is
 sage/server/notebook/cell.py, in the function files_html.  This
 function takes a list of all the files that were produced by
 evaluating the cell, and produces HTML with display or download links
 for those files.  For example, the case of *.svg files is handled like
 this:
 
 elif F.endswith('.svg'):
 images.append('embed src=%s type=image/svg+xml
 name=emap'%url)
 
 So if you know what to put into HTML to display an x3d model, it would
 be trivial to add another case in files_html.

Aha! Thanks. I haven't touched cell.py yet but as a proof of concept 
look here again:

http://nb.hpfem.org/home/pub/16/

At the bottom you should (if all goes well and you have an x3d reader 
setup for use on your browser) see a blue triangle like the one here:

http://nb.hpfem.org/home/pub/12/

except that on this one you can actually interact over the web.  This is 
really cool although the x3d files can get pretty big.  We'd probably 
want to throw in some compression in as well but I'm not sure that would 
work with all plugins (or would the browser take care of that?). Anyway, 
in the above I simply edited the worksheet and added something like:

embed width='400' height='300' src=./cell/14/a.x3d

and it seems to work with my setup.  I am using freewrl 
http://freewrl.sourceforge.net/ on Ubuntu 8.04.

cheers,
prabhu

p.s. apologies for cross posting.

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



[sage-devel] Re: 3d display: x3d?

2009-03-08 Thread Prabhu Ramachandran

On 03/08/09 19:19, William Stein wrote:
 3D interactivity.  Here are a few simple examples from Ondrej's site
 that I made from some mlab examples:

  http://nb.hpfem.org/home/pub/16
 
 Awesome!!

Thanks, yes, the sage notebook is awesome!

 Another option would be to produce output suitable for use with jmol.
 Would this require a pmesh exporter?

 I'd appreciate any ideas on this.  Thanks.
 
 Robert Bradshaw will likely have something useful to say tomorrow (=Monday) 
 too.

Cool, will wait for his response.  But it looks like simple x3d support 
should work with a trivial patch to cell.py as Carl pointed out.  I'm 
swamped myself but if its a trivial patch I can have a go.

cheers,
prabhu

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



[sage-devel] Re: sage 3.3 fails to build (preserving permissions problem)

2009-03-08 Thread Ondrej Certik

On Sun, Mar 8, 2009 at 8:05 AM, David Harvey dmhar...@cims.nyu.edu wrote:

 Hi,

 I had the same problem a month or two ago with sage 3.1.2 (?) but
 didn't report it.

 I had the same problem just now with sage 3.3. I tried fixing the NTL
 build by removing the -p options but then the build failed for
 whatever came next (eclib I believe).

 Then I found this thread and realised it was probably a filesystem
 issue. I tried doing the sage build on my local drive (/scratch)
 instead of the NFS drive and now it seems to be working smoothly.

So it's a NFS drive problem, I am pretty sure about it. Unfortunately
that's the only thing available as it seems on our cluster.

I'll try to build my customized Sage and just not install the packages
that fail, or try to fix them.

Ondrej

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



[sage-devel] Re: reusing solutions in functions

2009-03-08 Thread Maurizio

Hello,

I was able to reproduce this in Sage 3.3

var('a b c')
first = a + b + c
first._operands[0]._operands[0] is a

True

second = loads(dumps(first))
second._operands[0]._operands[0] is a

False

Should anyone open a bug in trac? I am not sure of how to do that and
which function to address this bug, but it seems definitely something
worth it, don't you think?

Thank you

Maurizio


On 27 Feb, 10:35, Kenny masso.ke...@gmail.com wrote:
 Sorry... i forgot to display the results:

 + True
 + False

 That means thebugis in thedumpor the load function!

 On Feb 27, 10:33 am, Kenny masso.ke...@gmail.com wrote:

  I've  took a look a the example code, and so I think that thebugis
  in the dumps and load function:

  var('Rs')
  mio = Rs + Rs*Rs + sqrt(10)
  tuo=loads(dumps(mio))
  print mio._operands[0]._operands[0] is Rs
  print tuo._operands[0]._operands[0] is Rs

  IAt this time I've not looked inside the code, but I think that it
  will be simple for the developer of
  this functions to find the solution! :)

  If there is not an intrepid volunteer I will look at that on
  Saturday...

  On Feb 27, 9:51 am, Maurizio maurizio.gran...@gmail.com wrote:

   Carl,
   you were totally right.

   The results are matching your previsions. I get:
   var('Cb')
   G_igr_d._operands[1]._operands[1] is Cb

   False

   G_works = SR(repr(G_igr_d))
   time G_works.subs(paramsd)

   Time: CPU 0.16 s, Wall: 0.86 s

   I add now another aspect: the G_igr_d is symbolically evaluated in
   another worksheet, then I save it, and I load it back in the numeric
   worksheet, where I do all the numerical maths.

   If I go to the symbolic worksheet, I get:

   G_igr_d._operands[1]._operands[1] is Cb
   True

   What does this mean?
   Please note that in the symbolic worksheet, the Cb is declared only
   once (on top) as:
   var('Cb rCb Cf rCf Lf rLf Rs rQ')

   in the same way it is done in the numeric worksheet:
   var('rQ rCb rLf rCf Duty')
   var('Cb Lf Cf')

   What am I missing? I don't seem to catch any particular interaction
   with other symbolic system. The functions I use are:
   solve and subs, symplify and expand, matrix operations ( + * **(-1) ),
   matrix augmentation (augment), and then matrix extraction of elements
   (by column and row index)

   Any other info is needed? Hopefully this can fix an undiscoveredbug,
   or at least fix my mistake (which maybe can be helpful as well to the
   community!)

   Maurizio

   On 27 Feb, 02:58, Carl Witty carl.wi...@gmail.com wrote:

On Wed, Feb 25, 2009 at 2:33 PM, Maurizio maurizio.gran...@gmail.com 
wrote:
 Is it a problem interfacing to any symbolic package different from the
 ordinary maxima one? I don't exactly recall if I took advantage of
 others.

OK, I spent some time looking at this, and this may indeed be the
problem.  I have a workaround for your case, but I may need more
information to get somebody to actually fix the problem.

Can you try this test:

var('Cb')
G_igr_d._operands[1]._operands[1] is Cb

and report what the last line prints?

If it prints False, then you're seeing what I'm seeing: somehow you
have two different synbolic variable objects, both named Cb.
Ordinarily you would only ever have one such object.  With two
separate objects, Python can't immediately answer the question whether
Cb_1==Cb_2, so it asks Maxima (which says yes, they're equal).

In that case, the workaround is to do:
G_works = SR(repr(G_igr_d))
This is an ugly hack that prints out G_igr_d, and then parses it back
in; doing so makes it use the standard variable objects.

If this is the problem, can you try to remember how you actually got
G_igr_d?  It seems like the problem actually might be the integration
with some other symbolic system, and it would be very helpful to know
which one.

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



[sage-devel] Riemann-Roch spaces in Magma

2009-03-08 Thread Francisco Veach

I'm currently reading through Hess' paper on calculating bases for
Riemann-Roch spaces (http://linkinghub.elsevier.com/retrieve/pii/
S0747717101905139), hoping to be able to implement it for Sage. I'd
like to be able to learn how to compute a basis in Magma so that I'll
be able to check my results when I begin coding.

For example, at 
http://www.sagemath.org/doc/ref/module-sage.schemes.plane-curves.projective-curve.html,
one of the examples toward the bottom is a demonstration of an
incorrect basis that Singular gives. So far, I've set this up in Magma
as

Rx,y,z := ProjectiveSpace(GF(5),2);
C := Curve(R,x^7 + y^7 + z^7);
pts := RationalPoints(C);

I haven't figured out how to do the next step in Magma, creating the
divisor. In the Sage example, the code is:

D = C.divisor([ (3, pts[0]), (-1,pts[1]), (10, pts[5]) ])

pts[0] = (0:4:1) corresponds to pts[5] by Magma's calculation.
Likewise, pts[1] = (1:2:1) in Sage corresponds to pts[3] in Magma, and
pts[5] = (4:1:0) in Sage corresponds to pts[6] in Magma. Once I have
the divisor D, I understand that Basis(D) computes the basis, and that
it should be [x/(y + x), (z + y)/(y + x)].

I'd also like to be able to do Hess' Example 6.3 in Magma. Magma's
documentation is clear, I'm just not sure which functions to use to
correctly create the fields, places, and divisors in question.

Specific solutions to the above, some more examples, or a general
template on how to set up Magma with a curve C over a field F and how
to find/get divisors would be helpful. The ultimate goal is to have a
large number of examples (a field, a curve, a divisor of the curve,
and the Riemann-Roch basis as calculated by Hess' algorithm in Magma)
that I can use as test cases for my implementation.

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



[sage-devel] Re: name space pollution

2009-03-08 Thread Nicolas M. Thiery

Hi!

Browsing back through my old e-mail, I just wanted to add a couple
notes.

On Tue, Dec 02, 2008 at 01:22:30AM -0800, Craig Citro wrote:
 
  That said, I'm not for some massive reorganization of
  the current global namespace, since that wold break a huge amount of
  existing code -- both in Sage and out (e.g., the examples at
  wiki.sagemath.org/interact).
 
 
 I definitely agree that reorganizing and/or massively reducing the
 global namespace would be a silly thing to do. However, I do think
 things could be cleaned up a bit, and that certain things would
 actually be *easier* to find if they were gathered into some
 namespaces. Here are some thoughts:
 
 1. I think a massively useful namespace would be databases.tab. As
 it stands, we have various databases scattered throughout the global
 namespace ... here are a few I found at random:
 
 ConwayPolynomials
 ClassicalModularPolynomialDatabase
 zeta_zeros
 cm_j_invariants
 
 I've picked these somewhat at random, but I wanted to point out that
 (1) the naming is (for good reason!) not at all uniform, and (2)
 Database doesn't necessarily occur anywhere in the names. It would
 be really interesting to be able to see all of the databases we have
 at one fell swoop, I think. Also, it would be extremely helpful for
 the person who wanted to see a database of modular polynomials, but
 didn't realize that we labeled them ClassicalModularPolynomials.
 
 2. I also think that there are cases where the global namespace is
 getting a little polluted. Again, I was tabbing around at random, so
 I don't think that these are necessarily the best examples, but I
 think they're both good examples of places where we could probably
 trim down the global namespace without losing anything serious.
 
 First: David Joyner has done a lot of work to wrap various
 functionality for computing special functions in Maxima  Pari in
 sage. Tab completing, one finds things like:
 
 sage: elliptic_TAB
 elliptic_curves  elliptic_ec  elliptic_f   elliptic_pi
 elliptic_e   elliptic_eu  elliptic_kc
 
 sage: spherical_TAB
 spherical_bessel_J  spherical_hankel1   spherical_harmonic
 spherical_bessel_Y  spherical_hankel2
 
 Now, I have to admit, I had no idea what a lot of these were -- so I
 went and read the source file sage/functions/special.py. At the top,
 David has written an excellent description of what all these functions
 are, and how they're all related. But you can only see it if you
 happen to look at the comments at the top of the file! Maybe other
 people disagree with me, but I would much rather have
 elliptic_integrals.TAB give me a list, and have the nice
 documentation that David wrote be the docstring for that module, so
 that elliptic_integrals? would show these comments.
 
 Second: I wonder if the constructors for some of the combinatorics
 functions couldn't be given a common interface. For instance:
 
 sage: SetPartitions
 SetPartitions SetPartitionsIk   SetPartitionsRk
 SetPartitionsAk   SetPartitionsPRk  SetPartitionsSk
 SetPartitionsBk   SetPartitionsPk   SetPartitionsTk

Yes, as you suggest below, this indeed definitely should be reduced to
something like:

SetPartitions(..., type=[A,3])

 sage: Ja
 JackPolynomialsJ   JackPolynomialsP   JackPolynomialsQ   JackPolynomialsQp

This one (together with SFA*, Macdonald*, kSchur*, ...) will be fixed
as soon as someone steps up to reorganize the symmetric functions
stuff as it is in MuPAD-Combinat. There, we had a single entry point:

S = SymmetricFunctions(field)
S.schur
S.jack(t).P
S.macdonald(t,q).Q
S.kSchur(3)

Volunteers?



 Now, I've never really looked at/used the combinatorics code at all,
 so if what I'm about to say is totally off-base, just ignore me. But
 looking at the constructors for the SetPartitions*, for instance, seem
 to have the same signature. Would it be possible to replace them with
 a single SetPartitionsOfType and take an extra argument that
 specifies what type of partitions you're taking? This is similar to
 what happens in the case of modular forms, where we essentially have
 ModularFormsGamma0, ModularFormsGamma1, ModularFormsGammaH,
 ModularFormsGamma0Eps, etc., all of which take similar inputs -- but
 we have a global constructor (ModularForms) which takes the input and
 calls off to the appropriate constructor.
 
 3. Also, I think that moving a handful of things into namespaces, and
 reducing the global namespace a little bit, could have two big
 advantages for new users.
 
 First, it's an easy starting point for a new user who wants to know
 some of what Sage can do in a specific area. For instance, if I sit
 down having never used Sage before, and I hit finance.TAB, I get a
 sense for some of the things that might interest me, without having to
 guess what I might get lucky with via tab completion, or what
 something might be called.
 
 Second, I think that a large global namespace is much more
 disorienting 

[sage-devel] Re: Integration Development

2009-03-08 Thread Maurizio

I'd like to stay on-topic, but at the same time I'd like to ask you if
it's any interest for us (SAGE users) the Poor Man's integration in
SymPy:

http://code.google.com/p/sympy/issues/detail?id=463

[ I'm referring to this, since this integration formula seems to be
one of the most important goals of Pynac ]

It seems that there's a contribute by Ondrej Certik to it, who seems
to be an important member of this community.

Well, how do we take advantage of it from SAGE? The bug seems fixed in
sympy, so I don't know whether this function has been included in
SymPy, but it doesn't appear between the available functions if SymPy
has been imported.

Otherwise, can this be implemented based upon the code suggested in
that issue? Maybe also in Pynac, if it does make sense? As I already
said in this group:

http://groups.google.com/group/sage-support/browse_frm/thread/ae268923bcd768b8

I would love to have something like this or anything else (I mentioned
the Post integration formula) to enhance the laplace transform (which
is really important to me)

Thanks

Maurizio

On 7 Mar, 22:17, Burcin Erocal bur...@erocal.org wrote:
 Hi,

 On Sat, 7 Mar 2009 01:19:05 -0800 (PST)

 clinton bowen clinton.bo...@gmail.com wrote:

  I tried some Cosine Transforms found in the book 'Handbook of Integral
  Equations' by  Andrei D. Polyanin and
  Alexander V. Manzhirov into sage and I found that sage was not able to
  perform these integrals.

 As Robert Dodier already pointed out, some examples would be helpful.

  I guess my questions are:
  How powerful is the integrate() function or how well versed is the
  integrate() in sage?
  What is being done to improve the integrate() ?
  Is there something that I could do to help this coming summer to
  improve it?

 As already mentioned, at the moment Sage hands over all integration
 problems to Maxima. The long term plan is to have an independent
 implementation of integration in Sage. However, I don't think anybody
 is actively working on this. (Apart from some loose promises from some
 people I tried to coerce into this over time. :) )

 Thus, any help would be very much appreciated.

 The plan is to have an implementation of Manuel Bronstein's Poor Man's
 Integrator, and the heuristics in Maxima in the short term. Then start
 implementing the transcendental case of Risch. See here for some more
 information on the progress of symbolics in Sage:

 http://wiki.sagemath.org/symbolics

 You could start by writing down the heuristics used by Maxima
 mathematically, so we can see how useful they would be for us. It would
 also be good to look what axiom does in this area.

  I'm a junior math major at CSUN.  It seems that my summer is going to
  be empty and I'd like to challenge myself in something.  It looks like
  the integrate() could be a challenge.

 It is a real challenge indeed. If you're interested in working on Sage
 and helping out with symbolics, you can also pick out other tasks from
 the list I mentioned above.

 For example, here is some more information on the solve function of
 Maxima, which I should have added to the wiki page much earlier.

 http://www.unk.edu/uploadedFiles/facstaff/profiles/willisb/solve-talk...

 Feel free to ask any questions to get started. I'm sure you've noticed
 this already, but people here are usually very supportive.

 Cheers,

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



[sage-devel] Re: name space pollution

2009-03-08 Thread Nicolas M. Thiery

On Sun, Mar 08, 2009 at 09:32:05PM +0100, Nicolas Thiéry wrote:
  sage: SetPartitions
  SetPartitions SetPartitionsIk   SetPartitionsRk
  SetPartitionsAk   SetPartitionsPRk  SetPartitionsSk
  SetPartitionsBk   SetPartitionsPk   SetPartitionsTk
 
 Yes, as you suggest below, this indeed definitely should be reduced to
 something like:
   SetPartitions(..., type=[A,3])

Now: http://sagetrac.org/sage_trac/ticket/5458

  sage: Ja
  JackPolynomialsJ   JackPolynomialsP   JackPolynomialsQ   JackPolynomialsQp
 This one (together with SFA*, Macdonald*, kSchur*, ...) will be fixed
 as soon as someone steps up to reorganize the symmetric functions
 stuff as it is in MuPAD-Combinat. There, we had a single entry point:
 
   S = SymmetricFunctions(field)
   S.schur
   S.jack(t).P
   S.macdonald(t,q).Q
   S.kSchur(3)
 
 Volunteers?

Now: http://sagetrac.org/sage_trac/ticket/5457

Cheers,
Nicolas
--
Nicolas M. Thiéry Isil nthi...@users.sf.net
http://Nicolas.Thiery.name/

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



[sage-devel] Re: Riemann-Roch spaces in Magma

2009-03-08 Thread John Cremona

You do this:

 P3:=pts[3];
 P5:=pts[5];
 P6:=pts[6];
 D:=Place(P3)+Place(P5)+Place(P6);
 D;
Divisor 1*Place at (1 : 2 : 1) + 1*Place at (0 : 4 : 1) + 1*Place at (4 : 1 : 0)
 RiemannRochSpace(D);
KModule of dimension 1 over GF(5)
Mapping from: KModule of dimension 1 over GF(5) to Function Field of C given by
a rule

The key is to wrap each point into a place, then a Divisor is
defined by adding these (and you can also multiply them by integers).

John

2009/3/8 Francisco Veach fve...@v64.net:

 I'm currently reading through Hess' paper on calculating bases for
 Riemann-Roch spaces (http://linkinghub.elsevier.com/retrieve/pii/
 S0747717101905139), hoping to be able to implement it for Sage. I'd
 like to be able to learn how to compute a basis in Magma so that I'll
 be able to check my results when I begin coding.

 For example, at 
 http://www.sagemath.org/doc/ref/module-sage.schemes.plane-curves.projective-curve.html,
 one of the examples toward the bottom is a demonstration of an
 incorrect basis that Singular gives. So far, I've set this up in Magma
 as

 Rx,y,z := ProjectiveSpace(GF(5),2);
 C := Curve(R,x^7 + y^7 + z^7);
 pts := RationalPoints(C);

 I haven't figured out how to do the next step in Magma, creating the
 divisor. In the Sage example, the code is:

 D = C.divisor([ (3, pts[0]), (-1,pts[1]), (10, pts[5]) ])

 pts[0] = (0:4:1) corresponds to pts[5] by Magma's calculation.
 Likewise, pts[1] = (1:2:1) in Sage corresponds to pts[3] in Magma, and
 pts[5] = (4:1:0) in Sage corresponds to pts[6] in Magma. Once I have
 the divisor D, I understand that Basis(D) computes the basis, and that
 it should be [x/(y + x), (z + y)/(y + x)].

 I'd also like to be able to do Hess' Example 6.3 in Magma. Magma's
 documentation is clear, I'm just not sure which functions to use to
 correctly create the fields, places, and divisors in question.

 Specific solutions to the above, some more examples, or a general
 template on how to set up Magma with a curve C over a field F and how
 to find/get divisors would be helpful. The ultimate goal is to have a
 large number of examples (a field, a curve, a divisor of the curve,
 and the Riemann-Roch basis as calculated by Hess' algorithm in Magma)
 that I can use as test cases for my implementation.

 --Francisco
 


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



[sage-devel] Re: Riemann-Roch spaces in Magma

2009-03-08 Thread John Cremona

PS The Magma documentation is all available on line and explains this
with examples.  Try this:
http://magma.maths.usyd.edu.au/magma/htmlhelp/text1288.htm

John

2009/3/8 John Cremona john.crem...@gmail.com:
 You do this:

 P3:=pts[3];
 P5:=pts[5];
 P6:=pts[6];
 D:=Place(P3)+Place(P5)+Place(P6);
 D;
 Divisor 1*Place at (1 : 2 : 1) + 1*Place at (0 : 4 : 1) + 1*Place at (4 : 1 : 
 0)
 RiemannRochSpace(D);
 KModule of dimension 1 over GF(5)
 Mapping from: KModule of dimension 1 over GF(5) to Function Field of C given 
 by
 a rule

 The key is to wrap each point into a place, then a Divisor is
 defined by adding these (and you can also multiply them by integers).

 John

 2009/3/8 Francisco Veach fve...@v64.net:

 I'm currently reading through Hess' paper on calculating bases for
 Riemann-Roch spaces (http://linkinghub.elsevier.com/retrieve/pii/
 S0747717101905139), hoping to be able to implement it for Sage. I'd
 like to be able to learn how to compute a basis in Magma so that I'll
 be able to check my results when I begin coding.

 For example, at 
 http://www.sagemath.org/doc/ref/module-sage.schemes.plane-curves.projective-curve.html,
 one of the examples toward the bottom is a demonstration of an
 incorrect basis that Singular gives. So far, I've set this up in Magma
 as

 Rx,y,z := ProjectiveSpace(GF(5),2);
 C := Curve(R,x^7 + y^7 + z^7);
 pts := RationalPoints(C);

 I haven't figured out how to do the next step in Magma, creating the
 divisor. In the Sage example, the code is:

 D = C.divisor([ (3, pts[0]), (-1,pts[1]), (10, pts[5]) ])

 pts[0] = (0:4:1) corresponds to pts[5] by Magma's calculation.
 Likewise, pts[1] = (1:2:1) in Sage corresponds to pts[3] in Magma, and
 pts[5] = (4:1:0) in Sage corresponds to pts[6] in Magma. Once I have
 the divisor D, I understand that Basis(D) computes the basis, and that
 it should be [x/(y + x), (z + y)/(y + x)].

 I'd also like to be able to do Hess' Example 6.3 in Magma. Magma's
 documentation is clear, I'm just not sure which functions to use to
 correctly create the fields, places, and divisors in question.

 Specific solutions to the above, some more examples, or a general
 template on how to set up Magma with a curve C over a field F and how
 to find/get divisors would be helpful. The ultimate goal is to have a
 large number of examples (a field, a curve, a divisor of the curve,
 and the Riemann-Roch basis as calculated by Hess' algorithm in Magma)
 that I can use as test cases for my implementation.

 --Francisco
 



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



[sage-devel] Re: 3d display: x3d?

2009-03-08 Thread Ondrej Certik

On Sun, Mar 8, 2009 at 11:03 AM, Prabhu Ramachandran
pra...@aero.iitb.ac.in wrote:

 Hi Carl,

 On 03/08/09 22:31, Carl Witty wrote:
 If you want to add such support, the place to look is
 sage/server/notebook/cell.py, in the function files_html.  This
 function takes a list of all the files that were produced by
 evaluating the cell, and produces HTML with display or download links
 for those files.  For example, the case of *.svg files is handled like
 this:

             elif F.endswith('.svg'):
                 images.append('embed src=%s type=image/svg+xml
 name=emap'%url)

 So if you know what to put into HTML to display an x3d model, it would
 be trivial to add another case in files_html.

 Aha! Thanks. I haven't touched cell.py yet but as a proof of concept
 look here again:

 http://nb.hpfem.org/home/pub/16/

 At the bottom you should (if all goes well and you have an x3d reader
 setup for use on your browser) see a blue triangle like the one here:

 http://nb.hpfem.org/home/pub/12/

 except that on this one you can actually interact over the web.  This is
 really cool although the x3d files can get pretty big.  We'd probably
 want to throw in some compression in as well but I'm not sure that would
 work with all plugins (or would the browser take care of that?). Anyway,
 in the above I simply edited the worksheet and added something like:

 embed width='400' height='300' src=./cell/14/a.x3d

 and it seems to work with my setup.  I am using freewrl
 http://freewrl.sourceforge.net/ on Ubuntu 8.04.

I just tried that too and it works for me as well:

http://nb.hpfem.org/home/pub/15/

and clearly I could now create some nice 3d results of our code and it
would work. Nice job!

jmol doesn't work for me in Debian/Ubuntu if I am using the opensource
java. If I used the proprietary version, then it works, but I really
prefer to use opensource tools. With freewrl, all I did was to add:

deb http://kheb.homelinux.org/debian unstable main

to may sources.list and apt-get install freewrl and it just works in firefox.

Ondrej

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



[sage-devel] Re: Google Summer of Code 2009

2009-03-08 Thread Ronan Paixão


 
 +10
 
 This is why I copied the notebook section as an example from the list
 for 2008. Even though I would expect Google to be interested in funding
 open source implementations of maths, I think it would be better if we
 focus on the computer science/engineering side of things.
 
 If we are going ahead with the application, we should try to make the
 ideas list very clear, and add well defined milestones/deliverables for
 the tasks on the list.
 
 
 Cheers,
 
 Burcin

I'd recommend improvements to plotting functions. It's the face of
most math software (from a non-mathematician standpoint) and there's
room for improvement. Implementing different axes (like log), fixing
jmol's issues that happen for some people, the mayavi output that's
being worked on by cwitty and Prabhu, generalization to allow plotting
by Pyx, or new 3D output like Blender or Yafray, plotting of new types
that currently don't work like Piecewise functions, etc come to mind.
Also it looks more computer-related than math-related.

Another idea would be improvements towards the Windows port. The only
problem with that is that it would be less noticeable from a user's
standpoint, since most probably a complete port wouldn't be viable in 3
months time by a single person.

I guess the switch to new symbolics and pynac would be more math-related
than desirable by the GSoC program, but maybe transitioning Maxima to
that less-buggy Lisp (which I don't recall which one right now) is also
an idea.

That's my 3 cents,

Ronan


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



[sage-devel] Re: Integration Development

2009-03-08 Thread clinton bowen



On Mar 7, 11:27 am, Robert Dodier robert.dod...@gmail.com wrote:
 clintonbowen wrote:
  I tried some Cosine Transforms found in the book 'Handbook of Integral
  Equations' by  Andrei D. Polyanin and
  Alexander V. Manzhirov into sage and I found that sage was not able to
  perform these integrals.

 For the record, what are some of integrals you tried?
I tried with respect to x:
a) x^(-1/2)*cos(3x) from 0 to +infinity
b)e^(-a*x)*cos(3x) from 0 to +infinity

I figured the rest would do so well either.  I got these from the
table '6.7. Expressions With Special Functions' of the book I
mentioned.

  I guess my questions are:
  How powerful is the integrate() function or how well versed is the
  integrate() in sage?
  What is being done to improve the integrate() ?
  Is there something that I could do to help this coming summer to
  improve it?

 At present Sage punts to Maxima to compute integrals.
 If I am not mistaken the version of Maxima which is bundled
 with Sage is a little out of date. I don;t know if the plan is to
 continue calling Maxima or to compute integrals in some other way.

 Maxima uses several methods to compute integrals.
 Definite integrals are, for the most part, handled separately
 from indefinite. There is an implementation of the Risch method.
 There has been a lot of terrific work lately (thanks to Dieter Kaiser
 and Raymond Toy) on integrals of special functions (gamma
 function and so on). If you would like to join the fun, I suggest
 that you post a message to the Maxima mailing list about it.
 See:http://maxima.sourceforge.net/maximalist.html
 We would be glad to have your help.

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



[sage-devel] Re: Integration Development

2009-03-08 Thread rjf

1. If you were to use Maxima directly, you could probably teach it, by
pattern matching, or other techniques, to do some set of cosine
transforms. This would probably be far more economical of your time,
and would give you interesting insights into how a very powerful
symbolic mathematical manipulation system is constructed.

2. If you don't really have a personal need for cosine transforms
(which seems to be the case) but just want to to something symbolic-
math related, there are many possible program projects that could be
done in Maxima, either using its high level
language, or Common Lisp.

3. The program by Manuel Bronstein (PMINT) already exists in Maxima
code, and so incorporating it into Sage would be as simple as loading
it in to the Maxima image that already accompanies Sage.

I hope you have a good summer.
RJF


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



[sage-devel] Re: Riemann-Roch spaces in Magma

2009-03-08 Thread Francisco Veach

Using an example from the Sage documentation, I have

R.x,y,z = ProjectiveSpace(GF(2),2)
f = x^3*y + y^3*z + x*z^3
C = Curve(f)
pts = C.rational_points()

(Note: pts = [(0 : 0 : 1), (0 : 1 : 0), (1 : 0 : 0)])

D = C.divisor([ (4, pts[0]), (0,pts[1]), (4, pts[2]) ])
C.riemann_roch_basis(D)

Output: [x/y, 1, z/y, z^2/y^2, z/x, z^2/(x*y)]

Now, I believe I've correctly written an analogous computation in
Magma:

Rx,y,z := ProjectiveSpace(GF(2),2);
f := x^3*y + y^3*z + x*z^3;
C := Curve(R,f);
pts := RationalPoints(C);

(Note: pts = {@ (0 : 0 : 1), (0 : 1 : 0), (1 : 0 : 0) @}, so it agrees
with the coordinates from the Sage code.)

D := 4*Place(pts[1]) + 0*Place(pts[2]) + 4*Place(pts[3]);
Basis(D);

Output: [1/x^2, 1/x, 1, 1/x*x, 1/x^3*x^2 + 1/x^4, 1/x^2*x^2 + 1/x^3]
(It actually outputs the variables as $.1, I've changed it to x for
readability)

The dimensions match up, but I'm confused as to why the Magma output
only uses one variable. I realize the algorithms are different, but I
wasn't expecting Magma's output to use less variables. Is this
correct, or have I messed up the code?
--~--~-~--~~~---~--~~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to 
sage-devel-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~--~~~~--~~--~--~---



[sage-devel] Re: Google Summer of Code 2009

2009-03-08 Thread davidp

I have been working on a Sage package for the Abelian Sandpile Model:

http://people.reed.edu/~davidp/412/

and I have a student that would love to work with me this summer to
really polish it up.  (A preliminary version of a sandpile applet he
wrote is at www.reed.edu/~headb/sandpiles.)  It might not be what
Google is looking for, though.

David

On Mar 8, 2:56 pm, Ronan Paixão ronanpai...@yahoo.com.br wrote:
  +10

  This is why I copied the notebook section as an example from the list
  for 2008. Even though I would expect Google to be interested in funding
  open source implementations of maths, I think it would be better if we
  focus on the computer science/engineering side of things.

  If we are going ahead with the application, we should try to make the
  ideas list very clear, and add well defined milestones/deliverables for
  the tasks on the list.

  Cheers,

  Burcin

 I'd recommend improvements to plotting functions. It's the face of
 most math software (from a non-mathematician standpoint) and there's
 room for improvement. Implementing different axes (like log), fixing
 jmol's issues that happen for some people, the mayavi output that's
 being worked on by cwitty and Prabhu, generalization to allow plotting
 by Pyx, or new 3D output like Blender or Yafray, plotting of new types
 that currently don't work like Piecewise functions, etc come to mind.
 Also it looks more computer-related than math-related.

 Another idea would be improvements towards the Windows port. The only
 problem with that is that it would be less noticeable from a user's
 standpoint, since most probably a complete port wouldn't be viable in 3
 months time by a single person.

 I guess the switch to new symbolics and pynac would be more math-related
 than desirable by the GSoC program, but maybe transitioning Maxima to
 that less-buggy Lisp (which I don't recall which one right now) is also
 an idea.

 That's my 3 cents,

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



[sage-devel] Re: 3d display: x3d?

2009-03-08 Thread Prabhu Ramachandran
On 03/09/09 03:01, Ondrej Certik wrote:
 embed width='400' height='300' src=./cell/14/a.x3d

 and it seems to work with my setup.  I am using freewrl
 http://freewrl.sourceforge.net/ on Ubuntu 8.04.
 
 I just tried that too and it works for me as well:
 
 http://nb.hpfem.org/home/pub/15/
 
 and clearly I could now create some nice 3d results of our code and it
 would work. Nice job!

Thanks.

 to may sources.list and apt-get install freewrl and it just works in 
 firefox.

Yes, I have more complex visualizations on my local machine that work 
really well (for example the Lorenz attractor example renders 
surprisingly nicely).  It works well with texture maps too so things 
like the image plane widget render pretty well.  No 2D actors though but 
thats not a big deal.

While looking at cell.py I find that sage supports visualizing .obj 
files via sage_3d.  So I tried that (yes mayavi2 exports wavefront obj 
as well) and despite having java enabled and doing this locally I ended 
up crashing my firefox even for the simplest .obj file (the little 
triangle).  It seems that freewrl OTOH is light, fast and works well. 
VTK also has a POV exporter which mayavi2 exposes.  There is also 
eps/pdf output (files are huge though) via gl2ps.  Regardless, there are 
clearly a large number of viable options now given the variety of usable 
outputs mayavi2 and sage support.

Anyway, attached below is a little patch for cell.py that may help.  The 
approach is clunky and the hardcoded width and height is poor. Perhaps 
more sophisticated rendering can be done with some nice javascript I 
found here:

  http://cic.nist.gov/vrml/vbdetect.html

In particular, the vb_VRMLDetect.js could be reused but I've already 
blown a little too much time on this and other work including a pile of 
grading beckons.

cheers,
prabhu

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

--- cell.py.orig	2009-03-09 08:22:46.0 +0530
+++ cell.py	2009-03-09 08:56:51.0 +0530
@@ -1633,6 +1633,10 @@
 images.append(script)
 elif F.endswith('.jmol.zip'):
 pass # jmol data
+elif F.endswith('.x3d'):
+# FIXME: the hardcoded width/height needs a better approach.
+images.append('embed src=%s type=model/x3d+xml '\
+  'name=emap width=600 height=400'%url)
 else:
 link_text = str(F)
 if len(link_text)  40:


[sage-devel] Re: Excessive snapshots

2009-03-08 Thread Rob Beezer

OK, I have a better, but still imperfect, idea of what is happening.
Discussion below is now at
http://trac.sagemath.org/sage_trac/ticket/5459

(I'm cross-posting the contnuation of this thread from sage-support to
sage-devel).

There is a notebook configuration item indexed by 'save_interval'.
This can be set at the sage command line by instantiating a notebook
object (call it nb) and issuing commands like nb.conf()
['save_interval'] = int(3600).   This value seems to be used by server/
notebook/twist.py to make backup copies of nb.sobj.  It seems to make
a snapshot of a worksheet as a side-effect, without any check if the
snapshot is different from previous snapshots.  This is speculation,
since I could not decipher what triggers twist.py to check and do such
a save.  Also, experimentally, I see that it happens automatically,
even if the worksheets and notebook are left untouched.

There is also a per-user 'autosave_interval'  This can be accessed
through code like nb.user(admin)['autosave_interval'] and can also
be set from the drop-down box in the Settings area of the notebook
(to be 1,3,5,7,9 minutes only).  The use of this seems a bit odd.  Any
edit (but only edits) in the worksheet triggers a possible snapshot
save.  First, the time since the last save is checked against the user
autosave_interval.  If not enough time has elapsed, it exits,
otherwise it continues towards a snapshot save.  It then checks to see
if the worksheet has changed.  But it must have changed, since only
edits trigger the routine.  Then it writes a snapshot.

So in summary, a new snapshot every period given by 'save_interval'
which is not obviously user-configurable.  No check on if the snapshot
is different.  Every edit triggers a possible snapshot, it happens
only if time exceeds user's autosave_interval, which can be set by the
user to limited number of values.

This may be an imperfect understanding of the situation, but I think
it is confusing for a user and potentially filling up disk space and/
or degrading performance.  So there's some room for improvement in how
this works.

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



[sage-devel] Re: Lazy Infinite Power Series

2009-03-08 Thread Nicolas M. Thiery

Dear Mike, dear Henryk,

What's the status of the merge of your implementations of power
series? I need a couple functionalities not yet in Mike's
implementation, and mainly:
 - conversion from a polynomial
 - division

On Thu, Oct 30, 2008 at 06:29:35AM -0700, Henryk Trappmann wrote:
 On Oct 30, 1:14 pm, Mike Hansen mhan...@gmail.com wrote:
  When I said recursively defined streams, I meant something a little
  more general.  For example, if f is a power series and g is exp(f),
  then g satisfies g = \int g*f'.  This translates to the following code
  for the exponential of power series:
 
  g.define( (f.derivative()*g).integral(base_ring(1)) )
 
 If that works, the better.
 
 
  The benefit of this is that it reduces the complexity of
  exponentiation to that of multiplication for which there are fast
  algorithms.  Generally, you want to reduce everything (composition,
  division, logs, etc) to multiplication in order to get asymptotically
  fast algorithms.
 
 Sure, but I would say functionality before performance.

This approach gives both: it's a very powerful way to define most of
the operations in very few lines, while giving optimal complexity (it
can be seen as a newton iteration in disguise).

snip

Cheers,
Nicolas
--
Nicolas M. Thiéry Isil nthi...@users.sf.net
http://Nicolas.Thiery.name/

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



[sage-devel] Fractions with factored denominators

2009-03-08 Thread Nicolas M. Thiery

Dear Sage developers,

I am manipulating univariate fractions in A[t] where A is a ring (say
QQ[x1,...,xn]), and all the denominators factor nicely in many small
terms like (1-x1 t) * (1 - 2*x2*t - (x3*x4) t^4) * ...  I need to do
ring operations (products, sums, ...), and to have the result reduced
to the form A/B (if possible with A prime to B)

So far, I am working in FractionField(A[t]). However, the expansion of
the denominators give many many terms, and is a computation killer.

Is there currently a way in Sage to define a close variant of
FractionField(QQ[x]), where the numerators would be expanded, but the
denominators would be kept into factored form?

Thanks!

Cheers,
Nicolas
--
Nicolas M. Thiéry Isil nthi...@users.sf.net
http://Nicolas.Thiery.name/

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