[sage-devel] Question to Martin Albrecht
Hi, I have a system of 64 inhomogeneous linear equations with 781 unknowns over the field of two elements. I am looking for a solution with at most 38 non-zero unknowns. Is there an efficient way to do this? Any references? As you can guess the question is about reversing a hash, more specifically a so-called Zobrist hash function which is widely used in chess engines. Regards, Michel --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Bug Day 16
Hi, Sage Bug Day 16 will be Thursday, November 13. Sign up now. http://wiki.sagemath.org/bug16 For local Seattle people, some Sage devs are also meeting for lunch at 12pm at Araya's. -- William -- William Stein Associate Professor of Mathematics University of Washington http://wstein.org --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Sage 3.2.rc0 released
I got the same matrix_double_dense failure as J. Palmieri on intel macs running 10.4 and 10.5, plus this one which only occured on the 10.5 machine: sage -t devel/sage/sage/calculus/wester.py ** File "/Users/mh/sagestuff/sage-3.2.rc0/devel/sage/sage/calculus/ wester.py", line 261: : [float(f(i/10)) for i in range(1,5)] Expected: [-0.00033670040754082975, -0.0027778004096620235, -0.00989099409140..., -0.025411145508414...] Got: [-0.00033670040754081587, -0.0027778004096621622, -0.0098909940914039818, -0.025411145508414779] ** 1 items had failures: 1 of 193 in __main__.example_0 ***Test Failed*** 1 failures. -M. Hampton On Nov 11, 5:08 pm, Jaap Spies <[EMAIL PROTECTED]> wrote: > mabshoff wrote: > > > Sources and a sage.math only binary can be found at > > >http://sage.math.washington.edu/home/mabshoff/release-cycles-3.2/ > > On Fedora 9, 32 bits the one and only failure: > > sage -t devel/sage/sage/combinat/root_system/weyl_characters.py*** *** > Error: TIMED OUT! *** *** > *** *** Error: TIMED OUT! *** *** > [435.4 s] > > Surprising? > > Jaap --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Sage 3.2.rc0 released
mabshoff wrote: > > Sources and a sage.math only binary can be found at > > http://sage.math.washington.edu/home/mabshoff/release-cycles-3.2/ > On Fedora 9, 32 bits the one and only failure: sage -t devel/sage/sage/combinat/root_system/weyl_characters.py*** *** Error: TIMED OUT! *** *** *** *** Error: TIMED OUT! *** *** [435.4 s] Surprising? Jaap --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Sage 3.2.rc0 released
> Expect some numerical noise doctest failures and some other related > known issues. Please report issues here and check trac for existing > tickets. On an intel mac running 10.5 (after changing my stone-age shell :), sage -testall has two or three problems: the known numerical noise problem in wester.py (http:// trac.sagemath.org/sage_trac/ticket/4472) an error in matrix_double_dense, which I couldn't find on trac (should I create a ticket?): sage -t devel/sage/sage/matrix/matrix_double_dense.pyx ** File "/Applications/sage/devel/sage/sage/matrix/ matrix_double_dense.pyx", line 444: sage: ~A Expected: Traceback (most recent call last): ... LinAlgError: singular matrix Got: [-4.50359962737e+15 9.00719925474e+15 -4.50359962737e+15] [ 9.00719925474e+15 -1.80143985095e+16 9.00719925474e+15] [-4.50359962737e+15 9.00719925474e+15 -4.50359962737e+15] ** File "/Applications/sage/devel/sage/sage/matrix/ matrix_double_dense.pyx", line 909: sage: max((U*S*V.transpose()-m).list())<1e-15 # check Expected: True Got: False ** 2 items had failures: 1 of 11 in __main__.example_15 1 of 27 in __main__.example_26 ***Test Failed*** 2 failures. I also got this: [ERROR]: sage.dsage.twisted.tests.test_remote.WorkerRemoteCallsTest.testremote_get_job Traceback (most recent call last): Failure: twisted.trial.util.DirtyReactorAggregateError: Reactor was unclean. Selectables: --- Ran 52 tests in 14.794s FAILED (errors=1, successes=52) However, an ERROR occurred in the Distributed Sage unit tests. John --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Bug Day this Thursday?
On Tue, Nov 11, 2008 at 1:00 PM, mabshoff <[EMAIL PROTECTED]> wrote: > > I know it is late, but will we do a Bug Day this Thursday as planned? > Either way we should announce one for next Thursday now. > Yes, definitely, we'll have Bug Day Thursday as planned! Mark your calendar. William > Cheers, > > Michael > > > -- William Stein Associate Professor of Mathematics University of Washington http://wstein.org --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Bug Day this Thursday?
I know it is late, but will we do a Bug Day this Thursday as planned? Either way we should announce one for next Thursday now. Cheers, Michael --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Sage 3.2.rc0 released
On Nov 11, 12:07 pm, mabshoff <[EMAIL PROTECTED]> wrote: > On Nov 11, 12:02 pm, John H Palmieri <[EMAIL PROTECTED]> wrote: > > > > > On Nov 11, 11:57 am, Jaap Spies <[EMAIL PROTECTED]> wrote: > > > > John H Palmieri wrote: > > > > On Nov 11, 4:24 am, mabshoff <[EMAIL PROTECTED]> wrote: > > > >> Hello folks, > > > > >> here is 3.2.rc0 and I have to confess that I cheated: I did build this > > > >> on numerous platforms before announcing here (if you hung out in IRC > > > >> you knew about this release for about 6 hours now) and as it turns out > > > >> my caution was justified. Doctesting is broken with this release > > > >> unless you do the following: > > > > >> ./sage -sh > > > >> cd local/bin > > > >> hg update -C > > > > > When I try to do the last line (on an intel mac running 10.5), I get > > > > this: > > > > > abort: could not import module lookup! > > > > > Did I do something wrong? > > > > do: > > > > ./sage -sh > > > cd local/bin > > > ./hg update -C > > > Here's what happens: > > > (/Applications/sage) [11:26am]>> ./sage -sh > > > Starting subshell with Sage environment variables set. > > Be sure to exit when you are done and do not do anything > > with other copies of Sage! > > So far so good. > > > (/Applications/sage) [11:58am]>> cd local/bin > > (...local/bin) [11:58am]>> ./hg update -C > > abort: could not import module lookup! > > mmh - can you try without the "./" since hg is in $PATH. I did that first, same problem. > What shell > are you using - even though this should not matter, but one never > knows. Oh, this is the problem. I'm running tcsh (I got used to it years ago, and keep deciding it's too much work to switch). When I switch to bash, everything works. --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Categories for the working programmer
>> - Did anyone keep a list or graph of the desired categories from >> sage days 7? >>For reference, the hierarchy for MuPAD-Combinat is available there: >>http://mupad-combinat.sourceforge.net/Papers/Categories.pdf > > I thought someone took a photo of it, but I don't know who. > I think I have it: http://picasaweb.google.com/lh/photo/Ol00Dod4hLflsFYJvATGDg http://picasaweb.google.com/lh/photo/cs8RBuly--2sczGILu-I5w Using the full resolution (zoom lens button) one can barely read every node of the tree! Clément --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Sage 3.2.rc0 released
On Nov 11, 12:02 pm, John H Palmieri <[EMAIL PROTECTED]> wrote: > On Nov 11, 11:57 am, Jaap Spies <[EMAIL PROTECTED]> wrote: > > > > > John H Palmieri wrote: > > > On Nov 11, 4:24 am, mabshoff <[EMAIL PROTECTED]> wrote: > > >> Hello folks, > > > >> here is 3.2.rc0 and I have to confess that I cheated: I did build this > > >> on numerous platforms before announcing here (if you hung out in IRC > > >> you knew about this release for about 6 hours now) and as it turns out > > >> my caution was justified. Doctesting is broken with this release > > >> unless you do the following: > > > >> ./sage -sh > > >> cd local/bin > > >> hg update -C > > > > When I try to do the last line (on an intel mac running 10.5), I get > > > this: > > > > abort: could not import module lookup! > > > > Did I do something wrong? > > > do: > > > ./sage -sh > > cd local/bin > > ./hg update -C > > Here's what happens: > > (/Applications/sage) [11:26am]>> ./sage -sh > > Starting subshell with Sage environment variables set. > Be sure to exit when you are done and do not do anything > with other copies of Sage! So far so good. > (/Applications/sage) [11:58am]>> cd local/bin > (...local/bin) [11:58am]>> ./hg update -C > abort: could not import module lookup! mmh - can you try without the "./" since hg is in $PATH. What shell are you using - even though this should not matter, but one never knows. > > then > > > exit > > make check > > As you might guess, doctesting fails at this point: > > ImportError: No module named sagedoctest > > Maybe I'll start over again from the tar file. That will not work since the issue is in the tarball itself. I am on my way home, so I cannot post an updated rc1 until about 18 hours from now. But I will make sure the issue is gone in rc1. > John Cheers, Michael --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Sage 3.2.rc0 released
Jaap Spies wrote: > John H Palmieri wrote: >> On Nov 11, 4:24 am, mabshoff <[EMAIL PROTECTED]> wrote: >>> Hello folks, >>> >>> here is 3.2.rc0 and I have to confess that I cheated: I did build this >>> on numerous platforms before announcing here (if you hung out in IRC >>> you knew about this release for about 6 hours now) and as it turns out >>> my caution was justified. Doctesting is broken with this release >>> unless you do the following: >>> >>> ./sage -sh >>> cd local/bin >>> hg update -C >> When I try to do the last line (on an intel mac running 10.5), I get >> this: >> >> abort: could not import module lookup! >> >> Did I do something wrong? >> > > do: > > ../sage -sh > cd local/bin > ../hg update -C > sorry typo ./hg update -C Jaap > then > > exit > make check > > Jaap > > > > > --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Sage 3.2.rc0 released
On Nov 11, 11:57 am, Jaap Spies <[EMAIL PROTECTED]> wrote: > John H Palmieri wrote: > > On Nov 11, 4:24 am, mabshoff <[EMAIL PROTECTED]> wrote: > >> Hello folks, > > >> here is 3.2.rc0 and I have to confess that I cheated: I did build this > >> on numerous platforms before announcing here (if you hung out in IRC > >> you knew about this release for about 6 hours now) and as it turns out > >> my caution was justified. Doctesting is broken with this release > >> unless you do the following: > > >> ./sage -sh > >> cd local/bin > >> hg update -C > > > When I try to do the last line (on an intel mac running 10.5), I get > > this: > > > abort: could not import module lookup! > > > Did I do something wrong? > > do: > > ./sage -sh > cd local/bin > ./hg update -C Here's what happens: (/Applications/sage) [11:26am]>> ./sage -sh Starting subshell with Sage environment variables set. Be sure to exit when you are done and do not do anything with other copies of Sage! (/Applications/sage) [11:58am]>> cd local/bin (...local/bin) [11:58am]>> ./hg update -C abort: could not import module lookup! > then > > exit > make check As you might guess, doctesting fails at this point: ImportError: No module named sagedoctest Maybe I'll start over again from the tar file. John --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Sage 3.2.rc0 released
John H Palmieri wrote: > On Nov 11, 4:24 am, mabshoff <[EMAIL PROTECTED]> wrote: >> Hello folks, >> >> here is 3.2.rc0 and I have to confess that I cheated: I did build this >> on numerous platforms before announcing here (if you hung out in IRC >> you knew about this release for about 6 hours now) and as it turns out >> my caution was justified. Doctesting is broken with this release >> unless you do the following: >> >> ./sage -sh >> cd local/bin >> hg update -C > > When I try to do the last line (on an intel mac running 10.5), I get > this: > > abort: could not import module lookup! > > Did I do something wrong? > do: ./sage -sh cd local/bin ./hg update -C then exit make check Jaap --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Sage 3.2.rc0 released
On Nov 11, 11:27 am, John H Palmieri <[EMAIL PROTECTED]> wrote: > On Nov 11, 4:24 am, mabshoff <[EMAIL PROTECTED]> wrote: > > > Hello folks, > > > here is 3.2.rc0 and I have to confess that I cheated: I did build this > > on numerous platforms before announcing here (if you hung out in IRC > > you knew about this release for about 6 hours now) and as it turns out > > my caution was justified. Doctesting is broken with this release > > unless you do the following: > > > ./sage -sh > > cd local/bin > > hg update -C > > When I try to do the last line (on an intel mac running 10.5), I get > this: > > abort: could not import module lookup! Hmm, this is strange to say the least. Could you post more of a backtrace if there is one? In case you have a system wide hg (or one from another Sage install) you could try to use that. > Did I do something wrong? > > John Cheers, Michael --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Sage 3.2.rc0 released
On Nov 11, 4:24 am, mabshoff <[EMAIL PROTECTED]> wrote: > Hello folks, > > here is 3.2.rc0 and I have to confess that I cheated: I did build this > on numerous platforms before announcing here (if you hung out in IRC > you knew about this release for about 6 hours now) and as it turns out > my caution was justified. Doctesting is broken with this release > unless you do the following: > > ./sage -sh > cd local/bin > hg update -C When I try to do the last line (on an intel mac running 10.5), I get this: abort: could not import module lookup! Did I do something wrong? John --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Binomial Ideals
Hi Thomas, I am interested in monomial ideal computations in Sage, and I'm very open to discuss it, but I won't have time to really work on it until after Christmas. When I did some work on this earlier, I did not find any special monomial ideal classes. So in the interface to Frobby I had to use the general polynomial ideal classes. This was just barely acceptable because the only thing I did with them was to convert them to internal data structures inside of Frobby (an external C++ library). It is clear that doing serious monomial ideal computations directly inside of Sage will required specialized classes to be at all efficient. The features of Frobby are "large-chunk" computations on monomial ideals, such as irreducible and primary decomposition of monomial ideals. Frobby does not really offer suitable data structures for general computations, other than those implemented in Frobby itself. Of course Frobby has such data structures internally, but they are not exposed in the library interface because as things stand this has not been requested by anyone, and it would require some redesigning of the internal data structures to make them suitable for general use. Some work remains on the Frobby interface, as it does not expose everything Frobby can do, which is something I'll be looking at after Christmas. It would be useful if you could identify the specific computations you need to do on monomial ideals, and what specific computations you need to do on binomial ideals. Then it will be more clear how well Sage already supports what you need. Also, Thomas, could you send me the error message you get when building Frobby, along with information such as which OS you are using? Cheers Bjarke Hammersholt Roune --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Merging Jon Hanke's quadratic forms code into Sage 3.x
Hi, I have linked a diff for a first version from the ticket at http://trac.sagemath.org/sage_trac/ticket/4470 It should not be considered anything final yet, i.e. the rename has not been done yet. I am about to fly back, so hopefully in the next day I will have a patch ready for the review process. The diff requires 3.2.rc0 or higher due to potentially conflicting changes in setup.py, but those can be easily resolved. Cheers, Michael --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Categories for the working programmer
Hi, I should point out that the class hierarchy should not be confused with the categories. The latter are intended to model the mathematics. In particular a homomorphism in the category of rings should satisfy f(x*y) = f(x)*f(y). Each class is assigned a default category, but the idea is that one should be able to create a morphism of sets between objects which happen to be rings. The domain and codomain would presumably remain objects in the category of rings and inherit from set objects, although one could imagine modifying the category field to reflect that these rings are intended uniquely to be used as set objects. How to manage the metastructure of categories on top of the class hierarchy was never completely fleshed out. In particular, it should be possibly to create new categories from old, such as pointed objects (X,x) whose maps send X_1 to X_2 and x_1 to x_2. The separation of categories from the class hierarchy was just the first step. --David --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Binomial Ideals
> Polynomials over Fields of Characteristic zero in the beginning. But the > algorithms are formulated in the general setting. But all the > applications that come to my mind are for characteristic 0. okay, you'll get support for QQ and absolute number fields using libSingular. Relative number fields should also be do-able. > Probably this is different in Coding/Kryptotheory ? We like characteristic two a lot here. > >> Integer Lattices are all over the place with binomial ideals. Are there > >> classes for integer lattices, or is someone working on such things? > > > > We have some lattice algorithms (LLL and BKZ) which act on integer > > matrices: > > > > sage: A = random_matrix(ZZ, 10, 10) > > sage: A.LLL() > > sage: A.BKZ() > > Nice ... It actually also is quite fast thanks to fpLLL and afaik the only publically available (open-source) implementation of BKZ in NTL. Cheers, Martin -- name: Martin Albrecht _pgp: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x8EF0DC99 _www: http://www.informatik.uni-bremen.de/~malb _jab: [EMAIL PROTECTED] --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Binomial Ideals
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Martin Albrecht wrote: > On Tuesday 11 November 2008, Thomas Kahle wrote: >> Dear all, > > Hi [sage-devel] and CC Carlo Traverso who might find this discussion > relevant/. > >> I would like to develop a program that does primary decomposition of >> binomial ideals really fast. >> Some hopefully useful algorithms are given in a '96 Paper by David >> Eisenbud and Bernd Sturmfels. At least the second author is very >> interested in this project and has many possible applications. >> To make it fast one probably has to bring together existing software, >> such as 4ti2 (www.4ti2.de), singular and new things. I think sage might >> be a good platform, so here are some questions: >> >> Assume I wanted to derive a class binomialIdeal from e.g. >> Mpolynomial_Ideal which uses specialized algorithms whenever possible >> and falls back to singular if nothing special is available. >> What are the things I should consider to make it fast and work well with >> sage? > > Just to document this: We had a discussion about this off list and I raised > the concern that the exponent limit of Singular (2^16-1) might become an > issue. Thomas, doesn't think this will be relevant. If this is not an issue, > then inheriting from the _libsingular classes might be the way to go. What > base fields (rings?) are you interested in? I have to rethink that statement, but in my applications typically the number of variables is large (>=64) while the equations of the ideal have small degree. On the other hand I actually have no idea what happens to them during a "primdecGTZ computation" ... Polynomials over Fields of Characteristic zero in the beginning. But the algorithms are formulated in the general setting. But all the applications that come to my mind are for characteristic 0. Probably this is different in Coding/Kryptotheory ? >> Who else might be interested, or has already done something in >> this direction ? >> >> 4ti2 Integration: I know from the authors, that 4ti2 will become a C++ >> Library soon. It is really fast for specific computations (e.g. >> saturation of lattice ideals aka "markov basis computation"). So >> probably it would be useful to have this library included in sage too. >> >> Integer Lattices are all over the place with binomial ideals. Are there >> classes for integer lattices, or is someone working on such things? > > We have some lattice algorithms (LLL and BKZ) which act on integer matrices: > > sage: A = random_matrix(ZZ, 10, 10) > sage: A.LLL() > sage: A.BKZ() Nice ... >> Is there a class for monomial ideals already ? There are some >> specialized algorithms for that which definitely should be used. > > There was some discussion on Frobby by Bjarke Roune. It is an optional > package > for now. I am not sure how mature the interface is. Hmm, I just found out about "optional packages" :) But frobby does not build with my brand new gcc 4.3. ... -BEGIN PGP SIGNATURE- Version: GnuPG v2.0.9 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAkkZj7IACgkQrpEWPKIUt7Px2QCcDdV14hmugcMApmjI2s5woRt0 kKgAoJIufMXjsyRDUTmWmTCEd/JV/nEM =L9Ao -END PGP SIGNATURE- --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Categories for the working programmer
Ralf Hemmecke <[EMAIL PROTECTED]> writes: > The only difference between Sage and Aldor/panAxiom is that Sage checks > whether the Object can be coerced to SomeType at runtime whereas Aldor > and SPAD allow to check at compile time. I don't think this is the full story. As far as I can see, it is the responsibility of the programmer to do the dispatch, i.e., if arg is string then do this if arg is number then do that etc. (please correct me if I'm wrong!!!) If this is not properly done, the user will get *some* error message, not necessarily informative. In FriCAS, the message is standardized: (5) -> 1.5::INT Cannot convert from type Float to Integer for value 1.5 (5) -> "1213" :: Float Cannot convert from type String to Float for value "1213" simply because there is no suitable function coerce: String -> Float. (I'm cheating I tiny bit here, but I believe I got the philosophy right) If one get's the arguments of a function wrong, the message is also standardized - possibly it could be better, but anyway: (7) -> D(x^2, x, x) There are 3 exposed and 0 unexposed library operations named D having 3 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op D to learn more about the available operations. Perhaps package-calling the operation or using coercions on the arguments will allow you to apply the operation. Cannot find a definition or applicable library operation named D with argument type(s) Polynomial(Integer) Variable(x) Variable(x) Perhaps you should use "@" to indicate the required return type, or "$" to specify which version of the function you need. (Because in FriCAS, the syntax for differentiation is D(fun, var, how-often), but obviously, one might believe that it is D(fun, var1, var2,...)) I think that Sage / Python could be improved here (not that I want to do it - I hope you accept this "criticism" as constructive). For example: sage: parametric_plot(1, x, (0,4)) --- TypeError Traceback (most recent call last) /home/rubey/ in () /opt/local/sage-3.1.2/local/lib/python2.5/site-packages/sage/plot/plot.py in parametric_plot(funcs, tmin, tmax, **kwargs) 3786 3787 """ -> 3788 if len(funcs) == 3: 3789 raise ValueError, "use parametric_plot3d for parametric plots in 3d dimensions." 3790 elif len(funcs) != 2: TypeError: object of type 'sage.rings.integer.Integer' has no len() But what I'd like to see: "x" is not a range. Similarly: sage: contour_plot(x^2==0, (0,4), (0,4)) --- ValueErrorTraceback (most recent call last) /home/rubey/ in () /opt/local/sage-3.1.2/local/lib/python2.5/site-packages/sage/plot/plot.py in contour_plot(f, xrange, yrange, **kwds) 2917 xy_data_array = [[g(x, y) for x in \ 2918 sage.misc.misc.xsrange(xrange[0], xrange[1], xstep)] -> 2919 for y in sage.misc.misc.xsrange(yrange[0], yrange[1], ystep)] 2920 2921 g = Graphics(xmin=float(xrange[0]), xmax=float(xrange[1]), ymin=float(yrange[0]), ymax=float(yrange[1])) /opt/local/sage-3.1.2/local/lib/python2.5/site-packages/sage/calculus/equations.py in __call__(self, *args, **argv) 211 from sage.calculus.all import SR 212 m = matrix(SR, 1, 2, [self._left, self._right]) --> 213 left,right = m(*args, **argv)[0] 214 return self._op(left, right) 215 /home/rubey/matrix_symbolic_dense.pyx in sage.matrix.matrix_symbolic_dense.Matrix_symbolic_dense.__call__ (sage/matrix/matrix_symbolic_dense.c:5608)() ValueError: the number of arguments must be less than or equal to 1 But what I'd like to see: first argument has to be a function. The dynamic typing philosophy gives more flexibility, but also more responsibility, it seems. Martin --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Sage 3.2.rc0 released
Hello folks, here is 3.2.rc0 and I have to confess that I cheated: I did build this on numerous platforms before announcing here (if you hung out in IRC you knew about this release for about 6 hours now) and as it turns out my caution was justified. Doctesting is broken with this release unless you do the following: ./sage -sh cd local/bin hg update -C After doing that doctesting works again. The issue is (again) releated to -sdist and I should have a fix in rc1 shortly. The initial plan has been shifted by about 5 days, so expect a releae by Thursday. We merged some major features in rc0, specifically the new timeit doctest code as well as Cython 0.10 and the RDF/CDF backend switch to numpy. Expect some numerical noise doctest failures and some other related known issues. Please report issues here and check trac for existing tickerts. There was also some major setup.py surgery, so please report any Sage library build issue. "sage -b" should be much faster and less buggy than before, but ;) One issue you will see here is that we no longer suppress warnings, so expect "sage -b" to be more noise. While most of those are caused by Cython's code generator due to unused variables there is definitely some stuff in there worth fixing. If the noise level is too annoying we can turn on warning suppression by default again. Sources and a sage.math only binary can be found at http://sage.math.washington.edu/home/mabshoff/release-cycles-3.2/ Cheers, Michael Merged in Sage 3.2.rc0: #3310: Craig Citro, Gonzalo Tonaria: sage -b fails after touching sage/libs/mwrank/{mwrank.pyx,wrap.cc} [Reviewed by Michael Abshoff] #3476: Nick Alexander, Mike Hansen: save timeit information with sage - t -timeit [Reviewed by Mike Hansen, Michael Abshoff] #3498: Jason Grout: make numpy the backend for matrices over CDF and RDF [Reviewed by Mike Hansen, Robert Bradshaw, Michael Abshoff] #3580: Craig Citro, John Voight: ensure that totallyreal does not import numpy on startup [Reviewed by John Voight, Craig Citro] #3750: Karl-Dieter Crisman: Request for a "log" function for Sage integers [Reviewed by Mike Hansen] #4362: Dan Bump: Bug fixes in tableaux latex output [Reviewed by Mike Hansen, Nicolas Thiery] #4395: William Stein: Sage 3.1.4: magma related optional doctest failure in sage/rings/quotient_ring.py [Reviewed by Michael Abshoff] #4425: Karl-Dieter Crisman: sqrt(4) returns a SymbolicComposition instead of the number 2! [Reviewed by William Stein] #4443: Craig Citro: Massive prime_range speedup, arith* files cleanup [Reviewed by John Cremona] #: Craig Citro: Remove duplicate source names in setup.py [Reviewed by Michael Abshoff] #4448: Jason Grout: bug in interact with matrices [Reviewed by Mike Hansen] #4452: William Stein: optimize next_prime [Reviewed by Robert Bradshaw] #4455: Nicolas Thiery: bug in Coxeter matrix for type G2 [Reviewed by Mike Hansen] #4462: John Perry, Jason Grout: contour_plot defaults changed to fill, affects implicit_plot [Reviewed by Mike Hansen] #4467: Michael Abshoff: removed unused hanke library code [Reviwed by Jon Hanke] #4473: William Stein: loading file.sage that has a line "load foo.py" is broken due to a missing import [Reviewed by Michael Abshoff] #4476: Robert Bradshaw: Update to Cython 0.10 [Reviewed by Michael Abshoff] #4479: Timothy Clemans: sage/logic/logic.py contains a trivial typo: " varaiable" [Reviewed by Minh Nguyen] --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Sage 3.2.rc0 -t -long -optional failures
Hello folks, I raised the issue with optional doctest failures in Sage 3.2.a0 a while back and I am glad to report that we have made some progress here: sage -t -long -optional devel/sage/sage/tests/benchmark.py # 4 doctests failed sage -t -long -optional devel/sage/sage/rings/polynomial/ term_order.py # 1 doctests failed sage -t -long -optional devel/sage/sage/rings/polynomial/ polynomial_element_generic.py # 1 doctests failed sage -t -long -optional devel/sage/sage/rings/polynomial/ pbori.pyx # 2 doctests failed sage -t -long -optional devel/sage/sage/rings/polynomial/ multi_polynomial_ring.py # 2 doctests failed sage -t -long -optional devel/sage/sage/rings/polynomial/ multi_polynomial_ideal.py # 5 doctests failed sage -t -long -optional devel/sage/sage/rings/ fraction_field_element.py # 2 doctests failed sage -t -long -optional devel/sage/sage/modules/free_module.py # 1 doctests failed sage -t -long -optional devel/sage/sage/modular/ssmod/ssmod.py # 1 doctests failed sage -t -long -optional devel/sage/sage/schemes/ elliptic_curves/sha_tate.py # 1 doctests failed sage -t -long -optional devel/sage/sage/schemes/ elliptic_curves/ell_rational_field.py # 1 doctests failed sage -t -long -optional devel/sage/sage/matrix/matrix1.pyx # 2 doctests failed sage -t -long -optional devel/sage/sage/libs/pari/gen.pxi # 1 doctests failed sage -t -long -optional devel/sage/sage/libs/pari/gen.pyx # 1 doctests failed sage -t -long -optional devel/sage/sage/interfaces/r.py # 10 doctests failed sage -t -long -optional devel/sage/sage/interfaces/mupad.py # 67 doctests failed sage -t -long -optional devel/sage/sage/interfaces/magma.py # 2 doctests failed sage -t -long -optional devel/sage/sage/interfaces/maple.py # 1 doctests failed sage -t -long -optional devel/sage/sage/interfaces/lie.py # 1 doctests failed sage -t -long -optional devel/sage/sage/interfaces/ mathematica.py # 17 doctests failed sage -t -long -optional devel/sage/sage/graphs/ graph_database.py # 1 doctests failed sage -t -long -optional devel/sage/sage/geometry/polytope.py # 7 doctests failed sage -t -long -optional devel/sage/sage/functions/constants.py # 1 doctests failed sage -t -long -optional devel/sage/sage/databases/jones.py # 2 doctests failed sage -t -long -optional devel/sage/sage/databases/sloane.py # 1 doctests failed sage -t -long -optional devel/sage/sage/crypto/mq/ mpolynomialsystem.py # 1 doctests failed sage -t -long -optional devel/sage/sage/combinat/species/ library.py # 4 doctests failed sage -t -long -optional devel/sage/sage/combinat/crystals/ crystals.py # 2 doctests failed sage -t -long -optional devel/sage/sage/combinat/ sloane_functions.py # 1 doctests failed sage -t -long -optional devel/sage/sage/calculus/calculus.py # 1 doctests failed Note that at least two of those above tests will likely pass when I have MuPAD and polymake installed. The sage/interfaces/magma.p failure is due to bugs in Magma 2.13 installed on the system while 2.14 does pass doctests. There are also some failures due to missing dot2tex and also some missing db packages it seems. Once I am back in Germany I will post a script that installs all the components automatically to make it easier on sage.math to install all this goodness. In case you care about one of the above doctests check out the log at http://sage.math.washington.edu/home/mabshoff/release-cycles-3.2/3.2.rc0-testall-long-optional.txt It is about 300kb. Quite a number of the above issues already do have tickets. Cheers, Michael --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Categories for the working programmer
On 11/11/2008 11:38 AM, Martin Rubey wrote: > Robert Bradshaw <[EMAIL PROTECTED]> writes: > >> In Sage, we use the term "coercion" to denote a canonical (using the >> term a bit loosely), implicit map between Parents (or objects of a >> concrete category). E.g. from ZZ to F5 would be a "coercion," but >> there is a "conversion" and not a "coercion" the other direction. >> Coercions are invoked to do arithmetic, but conversions are not. > Just for the record, this is *exactly* the same definition as in FriCAS. Exactly. > (in case you wonder, the notation "Object::SomeType" is syntactic sugar for > "coerce(Object)@SomeType", where @ is a language builtin, that selects the > function according to return type. And, as Robert kindly explained (thank you), it is written "SomeType(Object)" in Sage. The only difference between Sage and Aldor/panAxiom is that Sage checks whether the Object can be coerced to SomeType at runtime whereas Aldor and SPAD allow to check at compile time. And I don't say that "some string"::Integer is impossible to succeed, it is only a question whether the compiler sees (has in scope) a function coerce: String->Integer that would do the job... of course at compile time. (By the way, if one defines this coerce to be the length of the string and takes + as the concatenation of strings then this coerce is even a homomorphism from the String monoid into the integers considered as an additive monoid.) Ralf --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Binomial Ideals
On Nov 11, 3:38 am, Martin Albrecht <[EMAIL PROTECTED]> wrote: > On Tuesday 11 November 2008, Thomas Kahle wrote: Hi Thomas, Martin, > > Dear all, > > Hi [sage-devel] and CC Carlo Traverso who might find this discussion > relevant/. > > 4ti2 Integration: I know from the authors, that 4ti2 will become a C++ > > Library soon. It is really fast for specific computations (e.g. > > saturation of lattice ideals aka "markov basis computation"). So > > probably it would be useful to have this library included in sage too. There are other parties, i.e. the combinat people, interested in an interface to 4ti2. Not much integration has actually happened on the surface, but at least for a pexpect version there is little that would need to be done besides writing a wrapper. > There was some discussion on Frobby by Bjarke Roune. It is an optional package > for now. I am not sure how mature the interface is. The existing interface does pass doctests at the moment, so at least it isn't broken :) > Cheers, > Martin Cheers, Michael > -- > name: Martin Albrecht > _pgp:http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x8EF0DC99 > _www:http://www.informatik.uni-bremen.de/~malb > _jab: [EMAIL PROTECTED] --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Binomial Ideals
On Tuesday 11 November 2008, Thomas Kahle wrote: > Dear all, Hi [sage-devel] and CC Carlo Traverso who might find this discussion relevant/. > I would like to develop a program that does primary decomposition of > binomial ideals really fast. > Some hopefully useful algorithms are given in a '96 Paper by David > Eisenbud and Bernd Sturmfels. At least the second author is very > interested in this project and has many possible applications. > To make it fast one probably has to bring together existing software, > such as 4ti2 (www.4ti2.de), singular and new things. I think sage might > be a good platform, so here are some questions: > > Assume I wanted to derive a class binomialIdeal from e.g. > Mpolynomial_Ideal which uses specialized algorithms whenever possible > and falls back to singular if nothing special is available. > What are the things I should consider to make it fast and work well with > sage? Just to document this: We had a discussion about this off list and I raised the concern that the exponent limit of Singular (2^16-1) might become an issue. Thomas, doesn't think this will be relevant. If this is not an issue, then inheriting from the _libsingular classes might be the way to go. What base fields (rings?) are you interested in? > Who else might be interested, or has already done something in > this direction ? > > 4ti2 Integration: I know from the authors, that 4ti2 will become a C++ > Library soon. It is really fast for specific computations (e.g. > saturation of lattice ideals aka "markov basis computation"). So > probably it would be useful to have this library included in sage too. > > Integer Lattices are all over the place with binomial ideals. Are there > classes for integer lattices, or is someone working on such things? We have some lattice algorithms (LLL and BKZ) which act on integer matrices: sage: A = random_matrix(ZZ, 10, 10) sage: A.LLL() sage: A.BKZ() > Is there a class for monomial ideals already ? There are some > specialized algorithms for that which definitely should be used. There was some discussion on Frobby by Bjarke Roune. It is an optional package for now. I am not sure how mature the interface is. Cheers, Martin -- name: Martin Albrecht _pgp: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x8EF0DC99 _www: http://www.informatik.uni-bremen.de/~malb _jab: [EMAIL PROTECTED] --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Categories for the working programmer
Robert Bradshaw <[EMAIL PROTECTED]> writes: > In Sage, we use the term "coercion" to denote a canonical (using the > term a bit loosely), implicit map between Parents (or objects of a > concrete category). E.g. from ZZ to F5 would be a "coercion," but > there is a "conversion" and not a "coercion" the other direction. > Coercions are invoked to do arithmetic, but conversions are not. Just for the record, this is *exactly* the same definition as in FriCAS. (in case you wonder, the notation "Object::SomeType" is syntactic sugar for "coerce(Object)@SomeType", where @ is a language builtin, that selects the function according to return type. Unfortunately, the contributors to NAG Axiom were sometimes a bit sloppy about which coercions to implement. There was one idea, which I personally like a lot, to provide to "Categories" (in the FriCAS/Axiom sense) CoercibleTo S, RetractableTo S and ConvertibleTo S that provide coerce: % -> S, coerce: S -> % and retract: % -> S respectively. One can then ask (4) -> SquareMatrix(2, INT) has CoercibleTo Matrix INT (4) true Type: Boolean Very unfortunately, currently in almost all cases the query "has CoercibleTo Something" will return false, because the coerce function is not inherited by the category. (I have a suspicion for the reason, but that's not important here.) However, I think in principle the design is *very* good. I think the design in Sage is not so different (I did not check thoroughly, though), which comes as confirmation. Martin --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Categories for the working programmer
On Nov 11, 2008, at 1:53 AM, Ralf Hemmecke wrote: > On 11/10/2008 10:31 PM, koffie wrote: >>> sage: C = VectorSpaces(GF(5)) >>> sage: C >>> Category of vector spaces over Finite Field of size 5 >>> sage: W = (ZZ^3).span([[1,2,3],[4,5,3]]) >>> sage: W >>> >>> Free module of degree 3 and rank 2 over Integer Ring >>> Echelon basis matrix: >>> [1 2 3] >>> [0 3 9] >>> sage: C(W) >>> >>> Vector space of degree 3 and dimension 2 over Finite Field of size 5 >>> Basis matrix: >>> [1 0 2] >>> [0 1 3] >>> >>> That looks to me as if C is like a coercion function. >> >>> Ralf >> >> Wel looking at it mathematically, you would like C to be some functor >> from free modules over Z to vectorspases over Finite Fields of >> size 5. > > I have nothing against functors. However, as I understand, C is a > >>> Category of vector spaces over Finite Field of size 5 > > and that does not sound like a "functor". > >> And taking this in mind I think this is a good behaviour of C(W), >> since this behaviour is for example similar to that of F5(x) in the >> example below: >> sage: F5=GF(5) >> sage: F5 >> Finite Field of size 5 >> sage: x=ZZ(102) >> sage: F5(x) >> 2 > >> That is F5() tries to make an element in F5() of 102 as C tries to >> make a vectorfield over GF(5) out of W. So maybe it is also not >> bad to >> have coercion functions defined for categories. > > In in the above form "ZZ(102)" and "F5(x)" you basically use ZZ and F5 > to denote a type cast. That is what I called "coercion" (which is > basically a function ZZ -> F5). In Sage, we use the term "coercion" to denote a canonical (using the term a bit loosely), implicit map between Parents (or objects of a concrete category). E.g. from ZZ to F5 would be a "coercion," but there is a "conversion" and not a "coercion" the other direction. Coercions are invoked to do arithmetic, but conversions are not. For example sage: F5.coerce_map_from(ZZ) Natural morphism: From: Integer Ring To: Finite Field of size 5 sage: f = F5.coerce_map_from(ZZ) sage: f(3) 3 sage: f(943) 3 sage: ZZ.coerce_map_from(F5) # there isn't one sage: ZZ.convert_map_from(F5) Conversion via _integer_ method map: From: Finite Field of size 5 To: Integer Ring Eventually, that last one will be a lift map (that's essentially what it is, but I haven't gotten around to moving the finite fields to the new model yet... currently it's exposing the implementation details). > My question now (still being a bit unfamiliar with python) would be, > where can I find the documentation of what is allowed for x in > something > like F5(x). I guess F5("some string") does not work. I'd like to be > sure > that code I write does not break at runtime. A pointer to the > documentation is highly appreciated. F5(...) calls the F5.__call__ method. If F5 were a type, this (eventually, in the basic case) calls the __init__ method on an instance of that type. Depending on what was implemented, anything could be valid. They are used as constructors, and the general philosophy is "make an element of the right type if at all possible." Thus, sage: F5("some string") Traceback (most recent call last): ... TypeError: unable to convert x (=some string) to an integer sage: F5('2') 2 Just as this casting notation works to force elements in one object into another by invoking the appropriate morphism, it can be used to force objects in one category into another by invoking the appropriate functor. - Robert --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: Categories for the working programmer
On 11/10/2008 10:31 PM, koffie wrote: >> sage: C = VectorSpaces(GF(5)) >> sage: C >> Category of vector spaces over Finite Field of size 5 >> sage: W = (ZZ^3).span([[1,2,3],[4,5,3]]) >> sage: W >> >> Free module of degree 3 and rank 2 over Integer Ring >> Echelon basis matrix: >> [1 2 3] >> [0 3 9] >> sage: C(W) >> >> Vector space of degree 3 and dimension 2 over Finite Field of size 5 >> Basis matrix: >> [1 0 2] >> [0 1 3] >> >> That looks to me as if C is like a coercion function. > >> Ralf > > Wel looking at it mathematically, you would like C to be some functor > from free modules over Z to vectorspases over Finite Fields of size 5. I have nothing against functors. However, as I understand, C is a >> Category of vector spaces over Finite Field of size 5 and that does not sound like a "functor". > And taking this in mind I think this is a good behaviour of C(W), > since this behaviour is for example similar to that of F5(x) in the > example below: > sage: F5=GF(5) > sage: F5 > Finite Field of size 5 > sage: x=ZZ(102) > sage: F5(x) > 2 > That is F5() tries to make an element in F5() of 102 as C tries to > make a vectorfield over GF(5) out of W. So maybe it is also not bad to > have coercion functions defined for categories. In in the above form "ZZ(102)" and "F5(x)" you basically use ZZ and F5 to denote a type cast. That is what I called "coercion" (which is basically a function ZZ -> F5). My question now (still being a bit unfamiliar with python) would be, where can I find the documentation of what is allowed for x in something like F5(x). I guess F5("some string") does not work. I'd like to be sure that code I write does not break at runtime. A pointer to the documentation is highly appreciated. Thank you Ralf --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Re: [sage-combinat-devel] Categories for the working programmer
> Finally, I should note that I do not agree with Ralf's views (quoting > Doye's article on Aldor) on the importance of universal algebra > notions to categories in Axiom. Maybe it belongs somewhere else, but how would you explain to someone who is new to Aldor/panAxiom, what the concept of "category" in the Aldor/panAxiom language is? That is a language concept. Then comes the question whether an Axiom category is in some way related to some known mathematical concept. For me order-sorted algebras match quite well while (mathematical) category doesn't (even if that might have been the original motivation for the name in Axiom). > But I do think that this article is very relevant to the subject of > coercions in computer algebra and so also important in Sage. Oh, yes, good that you mention that. After I read that thesis I thought that the language actually should somehow support that it should not matter, which coercion path one follows to arrive at a certain type. The result should be the same. But I guess, such a check is undecidable. Ralf --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~--~~~~--~~--~--~---
[sage-devel] Binomial Ideals
Dear all, I would like to develop a program that does primary decomposition of binomial ideals really fast. Some hopefully useful algorithms are given in a '96 Paper by David Eisenbud and Bernd Sturmfels. At least the second author is very interested in this project and has many possible applications. To make it fast one probably has to bring together existing software, such as 4ti2 (www.4ti2.de), singular and new things. I think sage might be a good platform, so here are some questions: Assume I wanted to derive a class binomialIdeal from e.g. Mpolynomial_Ideal which uses specialized algorithms whenever possible and falls back to singular if nothing special is available. What are the things I should consider to make it fast and work well with sage? Who else might be interested, or has already done something in this direction ? 4ti2 Integration: I know from the authors, that 4ti2 will become a C++ Library soon. It is really fast for specific computations (e.g. saturation of lattice ideals aka "markov basis computation"). So probably it would be useful to have this library included in sage too. Integer Lattices are all over the place with binomial ideals. Are there classes for integer lattices, or is someone working on such things? Is there a class for monomial ideals already ? There are some specialized algorithms for that which definitely should be used. Any comment is appreciated. Thank you already. Thomas Kahle - Thomas Kahle Max Planck Institute for Mathematics in the Sciences Inselstr. 22-26, 04103 Leipzig Tel: +49(0) 341-9959-545 [EMAIL PROTECTED], http://personal-homepages.mis.mpg.de/kahle/ - signature.asc Description: This is a digitally signed message part