[sage-devel] 3d display: x3d?
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
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
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?
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
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
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)
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
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
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?
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?
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?
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)
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
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
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
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
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
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
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
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?
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
+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
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
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
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
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?
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
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
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
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 -~--~~~~--~~--~--~---