[sage-devel] Re: number_field_element coercion
On Fri, 09 Nov 2007 15:07:03 -, John Voight <[EMAIL PROTECTED]> wrote: > Thanks, somehow I knew this was going to become a trac ticket. It is > also my suspicion that it is an optimization issue with number > fields. It seems really bizarre that it should be calling a > polynomial ring constructor! Why? Elements of number fields are stored as polynomial ring elements. > (The cost right now is absolutely killing me right now. I've started > enumerating relative extensions of number fields, and doing actual > computation right now is taking negligible time in comparison to > actual stuff! I've already spent a couple of hours trying to figure > out exactly where in my code this is happening, but because of the > many ways in which elements are being created--and needing to use pari > in between for some functionality which has not been implemented, e.g. > finding an LLL-reduced basis of the ring of integers--even after my > attempts, I had only managed to slow things down!) Oh no. But it's really not surprising given how little time has been spent optimizing number fields. Keep in mind, e.g., that just over a month ago Sage didn't even have rings of integers. -- William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: sqrt mod p
; > >>> 3 > > > >>> sage: x = Mod(-1, 360) > > > >>> sage: x.sqrt(extend=False) > > > >>> Traceback (most recent call last): > > > >>> ... > > > >>> ValueError: self must be a square > > > >>> sage: y = x.sqrt(); y > > > >>> sqrt359 > > > >>> sage: y.parent() > > > >>> Univariate Quotient Polynomial Ring in sqrt359 over Ring > > > >>> of integers modulo 360 with modulus x^2 + 1 > > > >>> sage: y^2 > > > >>> 359 > > > > > >>> We compute all square roots in several cases: > > > >>> sage: R = Integers(5*2^3*3^2); R > > > >>> Ring of integers modulo 360 > > > >>> sage: R(40).sqrt(all=True) > > > >>> [20, 160, 200, 340] > > > >>> sage: [x for x in R if x^2 == 40] # Brute force > > > >>> verification > > > >>> [20, 160, 200, 340] > > > >>> sage: R(1).sqrt(all=True) > > > >>> [1, 19, 71, 89, 91, 109, 161, 179, 181, 199, 251, 269, > > > >>> 271, 289, 341, 359] > > > >>> sage: R(0).sqrt(all=True) > > > >>> [0, 60, 120, 180, 240, 300] > > > > > >>> sage: R = Integers(5*13^3*37); R > > > >>> Ring of integers modulo 406445 > > > >>> sage: v = R(-1).sqrt(all=True); v > > > >>> [78853, 111808, 160142, 193097, 213348, 246303, > > > >>> 294637, 327592] > > > >>> sage: [x^2 for x in v] > > > >>> [406444, 406444, 406444, 406444, 406444, 406444, > > > >>> 406444, 406444] > > > >>> sage: v = R(169).sqrt(all=True); min(v), -max(v), len(v) > > > >>> (13, 13, 104) > > > >>> sage: all([x^2==169 for x in v]) > > > >>> True > > > > > >>> Modulo a power of 2: > > > >>> sage: R = Integers(2^7); R > > > >>> Ring of integers modulo 128 > > > >>> sage: a = R(17) > > > >>> sage: a.sqrt() > > > >>> 23 > > > >>> sage: a.sqrt(all=True) > > > >>> [23, 41, 87, 105] > > > >>> sage: [x for x in R if x^2==17] > > > >>> [23, 41, 87, 105] > > > > > >>> """ > > > >>> if self.is_one(): > > > >>> if all: > > > >>> return list(self.parent().square_roots_of_one()) > > > >>> else: > > > >>> return self > > > > > >>> if not self.is_square_c(): > > > >>> if extend: > > > > > >>> and so on! > > > > > >>> John > > > > > >>> On 09/11/2007, Steffen <[EMAIL PROTECTED]> wrote: > > > > > >>>> Hi, I need to find square roots in GF(prime). I did it like this: > > > > > >>>> y = sqrt(GF(prime)(ySquare)) > > > > > >>>> So far I am not quite happy with the calculation periods and I > > > >>>> would > > > >>>> like to know which algorithm is used. In my case is prime % 4 == 1, > > > >>>> which is the hardest case to find the square root mod p. I am sage > > > >>>> newbie and probably its again only a command that I cant find. I > > > >>>> tried > > > >>>> sqrt? and similar things, but only got the information that sqrt > > > >>>> is a > > > >>>> symbolic function. Could somebody tell me which algo is > > > >>>> implemented or > > > >>>> better how to find the implemented algo. > > > > > >>>> Cheers, Steffen > > > > > >>> -- > > > >>> John Cremona > > > > > > -- > > > > John Cremona > > > > -- > > John Cremona > > > > > -- 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://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] My talk with martin Albrecht
Hi everybody, The slides of Martin and my talk are available at http://sage.math.washington.edu/tmp/talk/. An accompanying SAGE worksheet can be found at http://sage.math.washington.edu/home/malb/SAGE_Demo.sws . Feedback is very welcome :-) William -- William Stein Associate Professor of Mathematics University of Washington http://wstein.org --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: My talk with martin Albrecht
On Sat, 10 Nov 2007 00:27:45 -, John Voight <[EMAIL PROTECTED]> wrote: > Oh, I didn't know I was going to get quoted! (That's fine, of > course.) > > Are we suppose to write "SAGE" since it's an acronym or "Sage" like > you do? Write "Sage". There used to be an acronym, but the acronym no longer applies, since Sage has a much more general range of functioanlity than the acronym suggests. William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: sqrt mod p
On Nov 10, 2007 11:53 AM, Steffen <[EMAIL PROTECTED]> wrote: > Original: > Time: CPU 9.94 s, Wall: 10.09 s > Number of roots found: > 0 > Tonelli: > Time: CPU 0.00 s, Wall: 0.00 s > Number of roots found: > 0 Wow, that's an improvement! I've made this trac #1138 http://trac.sagemath.org/sage_trac/ticket/1138 > This shows only that the old implementation was inefficient for large > p. The results for the original implementation for 256 and 512 bit are > not contained in the following results, since sqrt(a) returned an > error for the 256 bit and 512 bit case. Here are the results for 100 > random values for a. Find x: x^2==a mod p > > Results for 128 bit prime: > Original: > Time: CPU 5.36 s, Wall: 5.41 s > Number of roots found: > 47 > Tonelli: > Time: CPU 0.07 s, Wall: 0.08 s > Number of roots found: > 47 > Results for 256 bit prime: > Tonelli: > Time: CPU 0.10 s, Wall: 0.10 s > Number of roots found: > 48 > Results for 512 bit prime: > Tonelli: > Time: CPU 0.30 s, Wall: 0.33 s > Number of roots found: > 50 > > > Here is the complete code I used: > > > def step3(b,p,r,x): > # Step 3: Find exponent > if GF(p)(b) == GF(p)(1): > return b,r,x,0 > m = 0 > while GF(p)(b**(2**m)) != 1: > m = m + 1 > if m == r: > return b,r,0,0 > return b,r,x,m > > def s_root(a,p): > # Step 0: Determine q: > q = 0 > e = 0 > while q % 2 != 1: > e = e+1 > q = (p-1) / 2**e > # Step 1: Find generator > n = ZZ.random_element() > while kronecker(n,p) != -1: > n = ZZ.random_element() > n = GF(p)(n) > z = GF(p)(n**q) > # Step 2: Initialize > y = z > r = e > a = GF(p)(a) > x = GF(p)(a**((q-1)/2)) > b = GF(p)(a*(x**2)) > x = GF(p)(a*x) > # Step 3: > b,r,x,m = step3(b,p,r,x) > # Step 4: Reduce exponent > while ZZ(m) != ZZ(0): > t = GF(p)(y**(2**(r-m-1))) > y = GF(p)(t**2) > r = GF(p)(m) > x = GF(p)(x*t) > b = GF(p)(b*y) > b,r,x,m = step3(b,p,r,x) > return x > > A = {} > > def go1(p): > X = {} > for i in range(0,len(A)): > X[i] = sqrt(GF(p)(A[i])) > return X > > def go2(p): > X ={} > for i in range(0,len(A)): > X[i] = s_root(A[i], p) > return X > > def analyseResult(A,X,p): > numberRoots = 0 > for i in range(0,len(A)): > x = X[i] > a = A[i] > if x in GF(p): > if (GF(p)(x) != GF(p)(0)) & (GF(p)(x**2) != GF(p)(a)): > print 'Error in implemenation' > elif GF(p)(x) != GF(p)(0): > numberRoots = numberRoots + 1 > print 'Number of roots found:' > print numberRoots > > n = 100 > > print 'Results for 128 bit prime:' > p = next_prime(2^(128)) > while p % 4 != 1: > p = next_prime(p+1) > > for i in range(0,n): > A[i] = GF(p).random_element() > > print 'Original:' > time X = go1(p) > analyseResult(A,X,p) > > print 'Tonelli:' > time X = go2(p) > analyseResult(A,X,p) > > print 'Results for 256 bit prime:' > p = next_prime(2^(256)) > while p % 4 != 1: > p = next_prime(p+1) > > for i in range(0,n): > A[i] = GF(p).random_element() > > #print 'Original:' > #time X = go1(p) > #analyseResult(A,X,p) > > print 'Tonelli:' > time X = go2(p) > analyseResult(A,X,p) > > print 'Results for 512 bit prime:' > p = next_prime(2^(512)) > while p % 4 != 1: > p = next_prime(p+1) > > for i in range(0,n): > A[i] = GF(p).random_element() > > #print 'Original:' > #time X = go1(p) > #analyseResult(A,X,p) > > print 'Tonelli:' > time X = go2(p) > analyseResult(A,X,p) > > -- Steffen > > > > > > -- 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://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: ?Matrix
On Nov 10, 2007 7:55 PM, John Voight <[EMAIL PROTECTED]> wrote: > > When I add > > from sage.matrix.constructor import matrix > > then I get the error: > > /home/jvoight/sage/local/lib/python2.5/site-packages/sage/matrix/ > constructor.py in () > 19 > #* > 20 > ---> 21 import sage.rings.all as rings > 22 import sage.matrix.matrix_space as matrix_space > 23 from sage.structure.sequence import Sequence > > : 'module' object has no attribute > 'all' That's because you've made a circular import. In rings you import constructor, and in constructor you import rings! So it's impossible to resolve. What you have to do is import from constructor *right* before you actually use it (in the body of your function). > > If I change this line to > > import sage.rings as rings > > then Sage gives me a Unhandled SIGSEGV. > > Help, JV > > > > > > -- 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://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: gdb, doctests, strange behavior...
On Nov 11, 2007 9:06 PM, Robert Miller <[EMAIL PROTECTED]> wrote: > I'm working on a new .pyx file, and everything has been working okay, > but something strange is now happening, and I can't quite get to the > bottom of it. > > Some side notes- I am running on OS X 10.5, a fresh install of > sage-2.8.12. It failed building, I think it was scipy, but other than > that it has been working ok. Currently, Sage is not supposed to build completely on OS X 10.5 unless you install gfortran system-wide. (Don't ask me how to do that.) The only thing you loose as a result is scipy and maybe cvxopt (convex optimization). Absolutely everything should have been built. > So I have some new cython classes, and I've written some doctests. > When I run through the doctests by hand, I can't reproduce what > happens when I doctest: I run > ./sage -t -verbose .../relevant_file.pyx > and I watch as every test passes, then it pauses for a while as it > handles a bus error. Curious to see what is going on, I do the > following: > > ./sage -t -gdb .../relevant_file.pyx > > gdb says lots of things like > > warning: Could not find object file "/Volumes/HOME/sage/spkg/build/ > python-2.5.1.p8/src/Modules/python.o" - no debug information available > for "./Modules/python.c". > > before it loads, but it loads, That's I think completely normal on OS X. > and I type "r" to run the tests. It > complains more about symbols, such as > > Reading symbols for shared libraries warning: Could not find object > file "/Volumes/HOME/sage/spkg/build/python-2.5.1.p8/src/build/ > temp.macosx-10.3-i386-2.5/Volumes/HOME/sage/spkg/build/python-2.5.1.p8/ > src/Modules/mathmodule.o" - no debug information available for "/ > Volumes/HOME/sage/spkg/build/python-2.5.1.p8/src/Modules/ > mathmodule.c". > > Then it runs the tests. The problem is > > Program received signal EXC_BAD_ACCESS, Could not access memory. > Reason: KERN_PROTECTION_FAILURE at address: 0x0015 > 0x000d1c50 in collect () > > So I backtrace: > > (gdb) bt > #0 0x000d1c50 in collect () > #1 0x000d276a in PyGC_Collect () > #2 0x000c18d0 in Py_Finalize () > #3 0x000c1376 in handle_system_exit () > #4 0x000c15e5 in PyErr_PrintEx () > #5 0x000c24ac in PyRun_SimpleFileExFlags () > #6 0x000d0d97 in Py_Main () > #7 0x1fdc in _start () > #8 0x1f09 in start () > > I have reproduced what __dealloc__ does in another function, and have > tried over and over to reproduce this error outside of doctest mode, > to no avail. The fact that the garbage collector is accessing bad > memory seems to indicate that it has already been freed or something, > but this only only happens during doctests, or at least so it seems. I > have run the doctests again and again under gdb by hand, and they > never produce a problem, so I have it narrowed down to only every > doctest in the file. The crappy thing is that I don't know how to have > gdb tell me what the gc was trying to collect, and I can't reproduce > the problem in an environment where I can narrow anything down. > > Given all these problems, I'm moving my project back to linux, for the > stability of a happy install, and the extra memory tools. However, > this situation is so confusing and bizarre I'd still like to figure > out what is happening... Any help is appreciated Questions: (1) Do you or do you not actually have the same problem when you build the same code under Linux? You don't say above. (2) What happens when you do grep "sage:" filename.pyx | sage -- William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: gdb, doctests, strange behavior...
t; ".doctest_binary_code.py", start=0, globals=0x0, locals=0x0, > closeit=1, flags=0xbf8f6b88) at Python/pythonrun.c:1271 > #27 0x080e2fa9 in PyRun_SimpleFileExFlags (fp=, > filename=0xbf8f739a ".doctest_binary_code.py", closeit=1, > flags=0xbf8f6b88) at Python/pythonrun.c:877 > #28 0x08056d0f in Py_Main (argc=1, argv=0xbf8f6c24) at Modules/main.c: > 523 > #29 0xb7e7bea2 in __libc_start_main () from /lib/tls/i686/cmov/libc.so. > 6 > #30 0x080561b1 in _start () at ../sysdeps/i386/elf/start.S:119 > > > > > -- 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://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: cython __hash__ question
On Nov 13, 2007 12:32 AM, Joel B. Mohler <[EMAIL PROTECTED]> wrote: > Questions: Should inheriting __hash__ implementations in a cython class work? Just a trivial remark, yes, it actually does work as the following simple example shows: {{{ %cython cdef class A: def __hash__(self): return 2 cdef class B(A): pass }}} {{{ a = A() b = B() }}} {{{ hash(a) /// 2 }}} {{{ hash(b) /// 2 }}} > Would C++/C differences matter (there's a smattering of both in these > classes)? A patch against 2.8.12 is at > http://kiwistrawberry.us/research/hash-patch-2_8_12.patch > if you want to see actual code. > > As for the implementation, I'll note that one of my concerns is that I was > going to have to write really nasty low level code to make this fast, but it > turns out that my implementation is already faster than the current 2.8.12 > and the code is quite decent (i.e. more pythonic than c-like). Actual speed > comparisons vary greatly amongst classes, but it's clear that there's more > optimizations to do around the corners in the poly classes (in particular > some of the __getitem__ implementations are pretty slow). By the way, one of the coding sprint projects, led by Willem Jan Palenstijn (Leiden, NL) implements modifying doctest so it prints out the time for each block of tests (both wall and cpu); this might be useful for testing the impact of your patch, a little... I don't think he's posting anything yet though. William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: plotQt.c with Qt 4.3.2 + GUI for pari/gp
On Nov 13, 2007 1:35 AM, Téragone <[EMAIL PROTECTED]> wrote: > I'm also working on a GUI for pari/gp. I started with mathGuide from which I > removed the Python plugin Wow, thanks for pointing out mathGuide, which I had never heard about before. Since this is in English, I translation of the web page http://www.math.uni-siegen.de/ring/mathGUIde is here: http://babelfish.altavista.com/babelfish/trurl_pagecontent?lp=de_en&url=http%3A%2F%2Fwww.math.uni-siegen.de%2Fring%2FmathGUIde%2Findex.html It's interesting how that project is fairly similar to Sage (http://sagemath.org) in many ways. E.g., see this screenshot which looks very much like the screen shot for mathGUIde: http://sagemath.org/screen_shots/.html/sage-screenshot.png >. I call gp in application mode, not in library > mode. > I use most of the code of gp.c and I redirect the output to a global > string. Maybe not the best way, but it's easy to code and it work. Interestingly the Sage GP GUI also uses GP rather than the PARI C library for the GUI (though Sage also uses PARI). Anyway, here is a screenshot from Sage that actually looks a lot like yours below: http://sagemath.org/screen_shots/.html/sage-pari.png > For now, my new code is source compatible only. All the modifications have > been include in #ifdef/#endif so the "original" gp compile and work with no > modification. > Still many hours before it will work correctly. I use Qt so it must be > possible to port it on many OS. I only tested it on Linux. Here a screenshot > : > > http://pages.videotron.com/teragone/gui.png > > Please, let me know if you have interest for that. I'm excited that there is so much enthusiasm and energy for open source projects / guis, etc., related to mathematical software right now. I wonder if you've solved any problems I don't know how to solve (and conversely) related to such things? -- William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: plotQt.c with Qt 4.3.2 + GUI for pari/gp
On Nov 13, 2007 2:50 AM, David Joyner <[EMAIL PROTECTED]> wrote: > I tried emailing the author of mathguide several times a few years ago, > with no response. Of course, my email was in English, which might have been > the > problem. In any case, I did not get the impression that it was open source. > Either I am wrong or I presume this guy got permission from the > mathguide author to distribute a derived work based on his code? It's probably open source I guess, since the web page says (translated) "Freeware is and with all sources is spread". Perhaps a German speaker could look at http://www.math.uni-siegen.de/ring/mathGUIde and confirm this. William > > ++++++++ > > > On Nov 12, 2007 9:33 PM, William Stein <[EMAIL PROTECTED]> wrote: > > > > On Nov 13, 2007 1:35 AM, Téragone <[EMAIL PROTECTED]> wrote: > > > I'm also working on a GUI for pari/gp. I started with mathGuide from > > > which I > > > removed the Python plugin > > > > Wow, thanks for pointing out mathGuide, which I had never heard about > > before. > > Since this is in English, I translation of the web page > > http://www.math.uni-siegen.de/ring/mathGUIde > > is here: > > http://babelfish.altavista.com/babelfish/trurl_pagecontent?lp=de_en&url=http%3A%2F%2Fwww.math.uni-siegen.de%2Fring%2FmathGUIde%2Findex.html > > > > It's interesting how that project is fairly similar to Sage > > (http://sagemath.org) > > in many ways. E.g., see this screenshot which looks very much like > > the screen shot for mathGUIde: > > http://sagemath.org/screen_shots/.html/sage-screenshot.png > > > > >. I call gp in application mode, not in library > > > mode. > > > I use most of the code of gp.c and I redirect the output to a global > > > string. Maybe not the best way, but it's easy to code and it work. > > > > Interestingly the Sage GP GUI also uses GP rather than the PARI > > C library for the GUI (though Sage also uses PARI). Anyway, > > here is a screenshot from Sage that actually looks a lot like > > yours below: > > > > http://sagemath.org/screen_shots/.html/sage-pari.png > > > > > For now, my new code is source compatible only. All the modifications have > > > been include in #ifdef/#endif so the "original" gp compile and work with > > > no > > > modification. > > > Still many hours before it will work correctly. I use Qt so it must be > > > possible to port it on many OS. I only tested it on Linux. Here a > > > screenshot > > > : > > > > > > http://pages.videotron.com/teragone/gui.png > > > > > > Please, let me know if you have interest for that. > > > > I'm excited that there is so much enthusiasm and energy for open source > > projects / guis, etc., related to mathematical software right now. I > > wonder > > if you've solved any problems I don't know how to solve (and conversely) > > related to such things? > > > > -- 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://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] another sage talk...
http://sagemath.org/talks/20071114-sage_bristol/ -- 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://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: trying to define a function and find an approximation
On Nov 15, 2007 1:45 AM, Dan Drake <[EMAIL PROTECTED]> wrote: > > I discovered Sage recently and am very excited about it. In grad school, > I came to be very good with Mathematica, and am now doing a postdoc > where I only have access to (an old copy of) Maple. I like the idea of > having my mathematical software being only a 'wget' away, and even more > I like the idea of being able to see how it works and change it as I see > fit. > > But I'm having difficulty even defining a relatively simple function and > finding a floating-point approximation. I want to do > > f := x -> integrate(exp(t^2), t=0..x); (Maple) > evalf(f(2)); > > f[x_] := Integrate[Exp[t^2], {t, 0, x}](Mathematica) > N[f[2]] > > in Sage. I know Python, and Sage is built with Python, so I tried > > sage: def f(x): integrate(exp(t^2), t, 0, x) > > which complains that "global name 't' is not defined" when I try to > evaluate it. I don't want a global variable, just a local one to do the > integration! You can define that function and compute the integral in Sage as follows: sage: assume(x > 0) sage: f(x,t) = integrate(exp(t^2), t, 0, x) sage: f (x, t) |--> -sqrt(pi)*I*erf(I*x)/2 sage: a = f(x,0) sage: a -sqrt(pi)*I*erf(I*x)/2 The assume is needed above because of how Maxima works (you'll be non-interactively asked for it if you don't give it). Unfortunately, Sage does not have an implementation of computing a numerical approximation of erf(a) when a is not real, as PARI only provides this function in case a is real, and maxima also seems to only provide it in that case. Thus you can't actually numerically evaluate the result at some point. You are the second person to request numerical evaluation of erf... at a complex argument this week (Paul Zimmerman requested the same thing a few days ago). So I hope one of the Sage developers looks into this. I've made it: http://trac.sagemath.org/sage_trac/ticket/1173 I also made http://trac.sagemath.org/sage_trac/ticket/1174 which is related. > What's the right way to go about all this? Like I said, I'm very excited > about Sage, but this is not such an auspicious start. Calculus is actually not at all the main focus of Sage or Sage development yet, unfortunately, though the calculus package is very powerful. It's something we introduced pretty recently into Sage, but it will still take some time to get every reasonable thing implemented, which very much is our goal. We need more people-power though, at least for the calculus part of Sage (where there are currently very few developers compared to other parts of Sage). -- William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: trying to define a function and find an approximation
On Nov 15, 2007 7:49 AM, William Stein <[EMAIL PROTECTED]> wrote: > > f := x -> integrate(exp(t^2), t=0..x); (Maple) > > evalf(f(2)); ... > > You can define that function and compute the integral in Sage as > follows: > > sage: assume(x > 0) > sage: f(x,t) = integrate(exp(t^2), t, 0, x) > sage: f > (x, t) |--> -sqrt(pi)*I*erf(I*x)/2 > sage: a = f(x,0) > sage: a > -sqrt(pi)*I*erf(I*x)/2 By the way, one can compute the numerical value at 2 in Sage of this function as follows: sage: val, err_bound = numerical_integral(lambda t: exp(t^2), 0, 2) sage: val 16.452627765507231 sage: err_bound 1.826608616085327e-13 William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: albums
Hi, I've created a page on the wiki for photos from Sage Days 6: http://wiki.sagemath.org/days6/pictures If anybody posts photos online from the workshop, please put a link there. There are already hundreds of photos that Jaap Spies posted. -- William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Power series rings
On Nov 16, 2007 2:07 AM, John Cremona <[EMAIL PROTECTED]> wrote: > Even before getting to Laurent series, multivariate power series are > harder to define than you might think, so I would avoid implementing > them at this point unless you have a specific need for them! You need > to be really careful since K[[x]][[y]], K[[y]][[x]] and K[[x,y]] are > not all the same. I just want to counter with: Please *do* implement them!Numerous people involved with Sage have procrastinated implementing multivariate power series rings more times than I can count at this point. We need somebody unafraid to just do it. William > There are probably people on the list more knowledgeable than me about > this, but I thought it might be worth while posting a warning! > > John > > On 16/11/2007, David Roe <[EMAIL PROTECTED]> wrote: > > Hey all, > > At some point in the near future I may try to bring the implementation of > > power series rings more into line with the p-adics. The single variable > > case seems straightforward, but a something popped up for me when thinking > > about the multivariable case. > > > > What is the appropriate analogue of laurent series? Is the key point for > > laurent series that we allow bounded negative exponents? Or that it's a > > field? Because allowing bounded negative exponents is not enough to always > > have inverses: x + y has no inverse if we require the exponents of x and y > > to be bounded away from negative infinity. > > David > > > > > > > > > > -- > John Cremona > > > > > -- 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://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: missing component
On Nov 16, 2007 9:05 AM, Paul Zimmermann <[EMAIL PROTECTED]> wrote: > By the way I started translating my program to extend aliquot sequences from > MuPAD to SAGE. I figured out that the ECM.find_factor() and ECM.factor() > functions perform a full factorization. > > What I need is a function that performs one curve at a time with a given > stage 1 bound B1, and returns either 1 if no factor was found, or the factor > found (which may be composite). Indeed, if I find a 40-digit factor of a > 160-digit input by ECM, then I start separately GNFS on the 120-digit > cofactor. > > I could try to write such a function from the current code of find_factor > in interfaces/ecm.py. It would take me more time than you, but it would help > me learning Python and SAGE. Would that make sense? Yes, it would definitely make sense. > Could I easily integrate > such a function in my aliquot program, or should it be included in the > interfaces/ecm.py file (to get all the needed imports)? Yes, it should definitely included in ecm.py. > If so, would it be useful for other users? I think it would be. Just make sure to include some examples so people can easily figure out how to use it. > Some functions to perform one curve with P-1 and P+1 would also be useful > (maybe with an option in the function calling one ECM curve). Yes, definitely. Given that you're the main person behind GMP-ECM, it makes a lot of sense that you would want to change/improve/extend/polish etc. the Sage interface to GMP-ECM. There may also be some people reading sage-devel who want to help out, since several different people have put work into the ecm.py file already (so understand it). -- William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Error building sage in Solaris 10 with gcc 4.0.2
On Nov 15, 2007 3:45 PM, Michael Abshoff <[EMAIL PROTECTED]> wrote: > > sgray:sage-2.8.12>./sage > > -- > > | SAGE Version 2.8.12, Release Date: 2007-11-06 | > > | Type notebook() for the GUI, and license() for information.| > > -- > > /usr/bin/env: No such file or directory > > /usr/bin/env: No such file or directory > > Mmh, which shell do you use? Sage only works correctly with bash at the > moment, but I thought that Solaris 10 at least shipped with a decent > enough bash to run Sage. Otherwise I need to take a deeper look if it > isn't the bash :( > I don't know if his problem is a bash problem or not. All over the place in sage we use #!/usr/bin/env foobar to run a script using the program foobar in the user's path. If /usr/bin/env doesn't exist this won't work. Where is your env command? What is the output of which env Could you put a symlink from your env to /usr/bin/env? William > > > > It seems to try to locate some programs that is not avaliable, > > even using the same PATH as during the build. > > > > sgray:sage-2.8.12>./sage -testall > > This script will run the unit tests for DSage > > /afs/nada.kth.se/pkg/sage/src/sage-2.8.12/local/bin/sage-dsage-trial: > > trial: not found > > However, an ERROR occurred in the Distributed SAGE unit tests. > > Testing SAGE documentation > > Testing SAGE tutorial > > /afs/nada.kth.se/pkg/sage/src/sage-2.8.12/local/bin/sage-maketest: > > /afs/nada.kth.se/pkg/sage/src/sage-2.8.12/devel/doc/tut: does not exist > > > > > > > > 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://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Error building sage in Solaris 10 with gcc 4.0.2
On Nov 15, 2007 4:31 PM, Michael Abshoff <[EMAIL PROTECTED]> wrote: > > > > sgray:sage-2.8.12>./sage -testall > > This script will run the unit tests for DSage > > /afs/nada.kth.se/pkg/sage/src/sage-2.8.12/local/bin/sage-dsage-trial: > > line 17: trial: command not found > > However, an ERROR occurred in the Distributed SAGE unit tests. > > Testing SAGE documentation > > Testing SAGE tutorial > > /afs/nada.kth.se/pkg/sage/src/sage-2.8.12/local/bin/sage-maketest: > > line 18: cd: /afs/nada.kth.se/pkg/sage/src/sage-2.8.12/devel/doc/tut: > > No such file or directory > > ERROR: File ./tut.tex is missing > > exit code: 1 > > That strongly suggests the documentation package wasn't installed. I wonder to what extent your build of Sage (on solaris) actually succeeded. William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Bug Day 6 proposal: Sat. Nov. 24th. 2007
On Nov 16, 2007 1:57 AM, mabshoff <[EMAIL PROTECTED]> wrote: > > > This is the Thanksgiving weekend, and as such is probably > > significantly better or significantly worse for people living in > > America. For me, I will be traveling and not able to participate. > > > > Yep, Thanksgiving is certainly a problem. So should we postpone a > week? We can certainly [and will] meet informally this Saturday and/or > Sunday to get 2.8.13 out the door, but it seems too late now to make > this a formal Bug Day. The people who went to SD6 are probably > somewhat burned out to make this a formal Bug Day, at least I am. I think Sat Dec 1 for the next official Bug Day would be good. -- William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: SAGE marketing
On Nov 15, 2007 5:43 PM, mabshoff <[EMAIL PROTECTED]> wrote: > On Nov 15, 9:18 pm, "Ted Kosan" <[EMAIL PROTECTED]> wrote: > > Who are the main people who are responsible for SAGE marketing? I > > will have some free time in December and I would like to devote some > > of it to helping with SAGE's marketing effort. > > > > Ted > > Hi Ted, > > I don't think there is a formal structure in place to do any > marketing, but everybody who is giving talks certainly drives [...] I just want to chime in that I totally agree with Michael's comments below about marketing, especially about improving the clarity, correctness, and consistency of the website, and finding ways to get Sage release announcements into the tech news. Additional things that could help would be: * writing introductory articles about sage * creating something about using sage for linear algebra teaching * creating a poster > awareness. cwitty just told me in IRC that the 2.8.12 release > announcement made it into this weeks "Linux Weekly News" development > section - see http://lwn.net/Articles/257830/ (subscription required). > I consider lwn very influential, so that is a good thing. If anybody > actively submitted or tried to drive them to add SAGE to their > development page I would like to hear about it. > > But back to your question: We should have somebody or a group of > people who are working on Marketing, at least the non-hyperbole driven > kind. One thing I can think are consistent a correctly spelled release > announcements, so if you could come up with some suggestions and/or a > couple standard sentences I would be very happy. In light of the lwn > announcement I would like to add some "boilerplate" to the bottom: > > "Sage is developed by volunteers and combines xx open source packages. > It is available for download from sagemath.org and its mirros in > source or binary form. If you have any questions and/or problems > please report them to the google groups sage-devel, sage-support, sage- > forum or sage-newbie" > > This should be the standard on the bottom of each release > announcement, so that somebody who runs across Sage via something like > lwn would have all the basic information in one place instead of > having to crawl over sagemath.org to find them all. > > Fixing up sagemath.org, especially pages that are not the main > index.html, and updating information on the wiki is also something I > would consider to be part of marketing. We can certainly use people > who are willing to spend some time on that. > > 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://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: interactive widgets in the notebook
On Sat, 17 Nov 2007 09:29:27 -0800, Jason Grout <[EMAIL PROTECTED]> wrote: > I've been thinking about how to implement interactive widgets in the > notebook. Things like sliders, buttons, etc., that allow interactivity > like Maplets in Maple or the Manipulate command in Mathematica 6. > Here's an example of an interface: > > sage: a=Slider(1,10) > sage: plot(sin(a()*x),-3,3) > > and in the notebook would appear a slider labeled "a" and the graph > would appear below it. As the slider is moved between 1 and 10, the > plot updates dynamically, showing the frequency-scaling aspect of > different values of a. > > Here's a brainstorm idea of how to do this. I don't know that much > about the notebook code or how evaluation works, so I don't know if this > is the way to do things, but here goes: > > * There is a widget class hierarchy. Widget is the parent class and > under it are classes for different controls, like sliders, dials, 2-d > location pickers, etc. Each widget class has a __call__ method that > returns a value, so we just use a() like above to get the value of the > widget. > * Before an expression is evaluated in the notebook, an empty widget > list is created. > * In the evaluation, if any widget is encountered (i.e., asked for its > value), then it puts a copy of itself in the widget list. It returns > some default value. > * Before displaying the result of the expression, the notebook creates > javascript widgets corresponding to the widgets in the list. We could, > for example, use the jquery ui library or some other widget library. > * Anytime a widget is updated (e.g., a slider is moved), the widget > value is updated and the expression is reevaluated. > > For comparison, here would be the Mathematica 6 syntax for something > like the above example: > > Manipulate[Plot[Sin[a*x],{x,-3,3}], {a,1,10}] > > or > > Plot[Sin[a*x], {x,-3,3}] // Manipulate[#, {a,1,10}] & > > Thoughts or ideas? I have no clue how to actually implement this in the > framework that we have for evaluating expressions. I'm pretty excited about this! I think it would be extremely amazingly useful if you could make up some more examples like this one sage: a = Slider(1,10) sage: plot(sin(a()*x),-3,3) and explain what they would do. Also, if we could make it more like sage: a = Slider([1..10]) i.e., have a discrete range as input, then doing caching would be easier. > I think something like this would go a long way to making Sage useful in > the classroom. Definitely. > Performance might be a problem. In that case, we could eventually have > some command that would cache the output of the expression for different > widget values so the update would be faster. Performance without caching would be a major problem. Performance with caching could be excellent. E.g., in the above example we could autoload all 10 images, so that no communication with sage at all would be required, and scrolling would be instant. Please please post several examples of what you imagine doing with this, which is the perfect first step. Try to include examples that involve all the different controls that mathematica supports. -- William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Calculus in SAGE, motivations
On Nov 15, 2007 9:15 AM, mabshoff <[EMAIL PROTECTED]> wrote: > > 1) Expose as much Maxima functionality as possible (one example is > > substitution of other things besides symbols). We've definitely laid the foundations for that step very very well. > > 2) It's important to allow users to create their own functions and the > > calculus package should be able to work with them. Maybe it will by > > possible to hack the Maxima interface even more to allow this somehow. > > Yep, that sounds good to me. Actually, what exactly do you mean by "users to create their own functions"? Could you give a concrete example of what you mean by this? > > However, I think that in the long run, the main engine of calculus > > should be in Python + Cython (maybe also in C/C++), not in LISP. > > Because that will allow SAGE to extend it with new features and make > > it play nicely with the rest of SAGE. Personally I would prefer Python + Cython more than C/C++ just for ease of reading. > > 3) Integrate SymPy and make it play nicely with the rest of SAGE. I > > made a some progress on SD6, will send patches soon, together with a > > new release of SymPy, but more work needs to be done. > > Nope, I think that using Maxima for problems that aren't efficient or > present at all in sympy id the way to go. > David Harvey did mention to > me that getting a numerical approximation of sqrt(2) called maxima, so That's not exactly true, since "Exiting Maxima..." is not printed out below: sage: float(sqrt(2)) 1.4142135623730951 sage: quit Exiting SAGE (CPU time 0m0.01s, Wall time 0m5.91s). What happens is that if one requests a numerical *float* approximation to sqrt(2), then first a float approximation to 2 is computed, then the math.sqrt method is called on it. Unfortunately, evidently right now if one requests a high-precision numerical approximation Sage currently end up calling Maxima: sage: RealField(100) ( sqrt(2) ) 1.4142135623730950488016887242 sage: Exiting spawned Maxima process. I consider this a mistake in implementation, which should be optimized. Notice that sage: sqrt( RealField(100)(2) ) 1.4142135623730950488016887242 does not call Maxima anywhere. I just investigated, and n(sqrt(2), 100) calls maxima only to simplify sqrt(2) before even beginning to do any numerical approximation. This isn't consistent with how the other coercions (e.g., to float) work. So I've posted a patch that changes this behavior: http://trac.sagemath.org/sage_trac/ticket/1196 After applying this patch: sage: RealField(100) ( sqrt(2) ) 1.4142135623730950488016887242 sage: quit (no "exiting maxima") -- William > any computation that has a bad communication to computations time > ratio should be moved to sympy quickly. On the other hand something > like solving partial differential equations where the amount of > communication via pexpect is negligible compares to the computation > itself should be lower priority. This isn't pure calculus anyway, but > I think it illustrates my point :) > > > I would like to clear this out, so that I am working on something that > > makes sense and is good for SAGE. > > > > Yep. It might even make it possible to ship some "Sage not so light" > version specifically targeted at the high school/educational market if > we ever decide to do such a thing. > > > Ondrej > > 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://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: interactive widgets in the notebook
On Nov 17, 2007 6:14 PM, Jason Grout <[EMAIL PROTECTED]> wrote: \> >> I'm pretty excited about this! I think it would be extremely > >> amazingly > >> useful if you could make up some more examples like this one > >> > >> sage: a = Slider(1,10) > >> sage: plot(sin(a()*x),-3,3) > > > > Why not just > > > >> plot(sin(a*x),-3,3) > > > > instead of > > > >> plot(sin(a()*x),-3,3) > > > Your first example is what I was originally thinking. It would be > simpler. I wasn't sure how it would work to have a slider object > multiplied by something, etc. I figured in the end that rather than > rewrite all the multiplication, addition, subtraction, etc., it'd be > easier to have the __call__ method in "a" return whatever the current > value of "a" was, and then let Sage take care of how to use that value > in the expression. > > Can we have "a" be a Slider object and have a*something (or a+something, > etc.) make sense without rewriting a bunch of code to have operations > work with Widget objects? I think the simplest thing to implement would be something like this (which would be in the notebook): {{{ %form foo a = %dom['slider'] b = %dom['button'] // Arbitrary Sage code that might use a and b to draw things, etc. }}} When the page is rendered to html, a cell starting with "%form foo" would be tied to some even for the foo form. The lines a = %dom['slider'], etc., would be preparsed in javascript to set the variables a and b to the values of the corresponding DOM elements (where DOM = Document Object Model). Then the remaining aribitrary Sage code would be executed and the output box be displayed. This doesn't account at all for caching. It's really just the first stupid naive idea I have about how to actually implement something dynamic in the notebook. I look forward to somebody suggesting a much better idea. :-) Hey Tom Boothby, shouldn't you chime up about now? William > Can we just attach a "widget" property to any object in Sage? That way > "a" could be, say, a number, but it would have a "a.widget" which would > encapsulate the necessary widget functionality? I think this would be > much more complicated. > > -Jason > > > > > > -- 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://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] slashdot
Hi, The top article on slashdot *right now* is about "Open Source Math Software" and my opinion piece in the Notices of the AMS: http://science.slashdot.org/science/07/11/18/1341232.shtml 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://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: AMS Notices: Open Source Mathematical Software
On Nov 18, 2007 12:59 PM, <[EMAIL PROTECTED]> wrote: > David Joyner and William Stein published an opinion piece in the > AMS Notices raising (yet again) the issue of mathematical results > that depend on closed source symbolic mathematics. They would like > to see open source efforts funded. > <http://www.ams.org/notices/200710/tx071001279.pdf> Hi, thanks for reading our short opinion and pointing out our opinion piece on axiom-developer for discussion, and thanks even more for formulating your thoughts about it. > They raise the issue (raised here many times in the past) about > funding open source mathematical software. SAGE is a university > based project and has a funding model that NSF recognizes. Axiom > and other projects don't fit any model and neither the NSF nor > INRIA is able (as far as I know from direct discussions) to > consider funding open source projects like Axiom, which are not > supported by standard institutions, such as Universities. > > My direct discussions with the NSF, on several occasions, raises the > point that the NSF claims that it does not fund projects which compete > with commercial software. This position is frustrating on several points. It's tricky how Sage gets any funding from NSF. I've spent countless painful hours writing the applications -- some of which were rejected -- and some that have got some funding, so maybe I'll comment. To date NSF funding for Sage has meant: * specific funding to get undergraduates involved in research with faculty, which just happens to involve using and improving sage, * hardware -- the sage.math.washington.edu computer, whose primary purpose is research, but which also gets used a lot by sage developers, * conference and workshop support. * a 50% postdoc -- Clement Pernet. The postdoc is by far the single biggest chunk of funding for Sage from the NSF. This, as you say, fits very much into the academic context. What made hiring him palatable to NSF is that Clement Pernet is doing very interesting cutting edge work on exact linear algebra and publishes papers about this. Thus hiring him supports the NSF mission in fundamental research. It just happens he will also do work that will improve Sage as well. So far NSF has never given us blanket money "for Sage", yet. I wish they would, but I don't really see that as being likely. Much more likely is that they fund specific research projects, which have improving open source mathematical software as a pleasant side effect. More examples below. It's worth mentioning that NSF has funded Macaulay2 a lot over the years... By the way, I was recently at an NSF workshop, and I got the strong impression that NSF doesn't really "like" funding the purchases of commercial software very much. Also, some NSF programs will in practice actually reject proposals that say they won't publish the software that comes out of their work as open source... I had the impression that there is a new sort of grass roots movement by actual mathematicians that advise NSF toward supporting open source. This was very surprising to me, but it's actually what appears to be happening, very slowly but surely. This is good news for us. > First, the NSF funds the purchase of commercial software at universities. > Thus they explicity fund software that competes with open source. > > Second, (as I understand it) SAGE is an effort to create an open source > competitor to the current closed source systems. You are correct. That is our primary goal, though I much prefer the word "alternative" to "competitor": "provide a viable alternative to Ma*..." > I applaud their efforts > and think this is very valuable. However, I'm not sure how much funding > they can get from the NSF with such commercially-competitive goals. I think we can get a drop in the bucket, but it is an important one. It will take other funding sources besides NSF, or funding other projects that just happen to have a positive impact on open source software, to really accomplish what we want. For example, I recently applied with several people for a big "FRG" (focused research grant) on L-functions and modular forms -- if it were funded it would advance number theory research, but it would also have as a side effect advancing open source mathematical software.And there are other funding source, e.g., tax-free donations, which do help, and have directly benefited sage already. > Third, even if the NSF funded SAGE, how would those funds benefit the > various subprojects like Axiom? Open source is mostly volunteer work > done in "spare time". While it is amusing to daydream of being paid to > develop open source computational mathematics on a full time basis, it > seems unlikely that this
[sage-devel] Re: AMS Notices: Open Source Mathematical Software
On Nov 18, 2007 3:49 PM, root <[EMAIL PROTECTED]> wrote: > One possible other source for funding is NIST (although the year that > I thought to apply they only had funding for prior project, no new > money available). > > An outstanding problem is that we have many different computer algebra > and symbolic computation systems that compute different answers to the > same problem. Sometimes these answers are equivalent but it takes a > great deal of work to show that. > > I've advocated, and done some work on, CATS (computer algebra test > suite). The idea is to categorize (similar to the NIST numeric math > classification) and standardize a set of symbolic problems and their > mathematical solutions. These problems would be chosen to highlight > behavior (e.g. branch cuts, simplifications, boundary conditions) in a > class of problems. Each system could then provide solutions to this > standard set. Thus there would be the beginnings of the idea that you > could expect the same results (within simplification) on any of the > available systems. In the ideal case such tests would also document > the algorithm(s) that solves the problem. > > NIST seems to me to be the ideal funding source for such a suite. > > Note that the test suite is applicable to both open source and > commercial efforts. > > In particular, since SAGE has many daughter systems it seems that > you are in the ideal position to build a catalog of such tests. > The test problems would all provide hand-solved answers as well > as the results from each daughter subsystem. > > Further, since each area of classification would require an expert > to propose and document the problems it seems to be the ideal > project for widespread grant-based funding. > > The end result would be an Abramowitz & Stegun style document that > was machine readable and freely available. Each project (e.g. MMA, > Maple, Axiom, etc) would post their results. Actually NIST already has been working on an " Abramowitz & Stegun style document " for the last decade. I had a long talk on Friday in my office with the guy who started that effort a decade ago... It's actually very exciting, and I do think there is some possibility for something like you're describing above, maybe more in the context of the CDI initiative at NSF. William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: slashdot
On Nov 18, 2007 6:06 PM, Ted Kosan <[EMAIL PROTECTED]> wrote: > William wrote: > > > The top article on slashdot *right now* is about "Open Source Math > > Software" and my opinion piece > > in the Notices of the AMS: > > > > http://science.slashdot.org/science/07/11/18/1341232.shtml > > Sometime later this week, could you please let us know how much the > web traffic to sagemath.org increased during the time that the article > was on the front page of slashdot? > > Thanks :-) It actually didn't increase much at all. I think there was very little traffic directly from people clicking on a sage link from that slashdot page: [EMAIL PROTECTED]:/var/log/apache2# grep slashdot access.log|wc -l 12 There were only 8 downloads of Sage from sagemath.org so far today. Surprisingly, that slashdot article seems to have barely drove traffic at all to sagemath.org. It would perhaps have been different had there been a link to sagemath.org from the main story page. -- Wiliam - William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Maple?
On Nov 19, 2007 3:46 AM, D.J. Keenan <> wrote: > I just saw your opinion piece in Notices of the AMS. > Naturally I am wondering about Maple, which is (a) > Mathematica's main competitor and (b) very largely > open source. What is your opinion about using Maple? > (I use Maple, but have no affiliation with Maplesoft.) (a) Indeed, Maple (and MATLAB) are Mathematica's main competitors. (b) Maple is not "open source" in the sense I mean in the article. 1. A substantial chunk of Maple is pre-compiled libraries: In Maple 10 at least, there's many completely closed pre-compiled shared object libraries included that implement much core functionality, e.g., maple10/bin.IBM_INTEL_LINUX/libmaple.so libnag2.so, etc. I also know that Maple 11 ships with Faugere's F4 Groebner basis implementation as a closed library. 2. Source code of Maple that you can see is released under an extremely restrictive license and terms of usage clause. One of my students wanted to read some code in Maple then implement something similar in Sage, and when we wrote to Maple about this they quickly responded that it is illegal to even "attempt to gain access to its method of operation or source code;" (See forwarded message below.) So according to the Maple license agreement even looking at the source code they do include is a violation. That's definitely not open source. 3. Dumb question -- Where is the actual source code of anything in Maple? I'm skimming through my Maple install to see some actual source code and I can't find anything. The lib/ directory has lots of .mla files, but these are all pre-compiled binary files -- no source code. Is there some tool included with Maple to decompile them? (I'm not being rhetorical, I simply don't know how to actually view source code of Maple functions, even if I wanted to.) 4. Maple is expensive. One of the key properties of open source software is that one has the right to modify it and redistribute the modified version for free. This is of course not the case with Maple. This was one of the main issues that got me started with Sage. I had written a large amount of code in Magma (another commercial math program, which is more targeted at pure mathematics than Maple), and had written the code to support research I was doing and make it easier for students to learn about "modular forms". Unfortunately students very often couldn't benefit from this because Magma is very expensive. After an endless succession of complaints from students, I said enough is enough, and decided to change things for the better, no matter what. 5. Finally, there is something called "The Open Source Initiative" http://www.opensource.org/ which precisely defines the term "open source". They would certainly not consider Maple to be open source. -- William -- Forwarded message -- Date: Mon, 30 Oct 2006 10:28:02 -0500 From: Maplesoft Technical Support <[EMAIL PROTECTED]> To: Joshua Kantor <[EMAIL PROTECTED]> Cc: Maplesoft Technical Support <[EMAIL PROTECTED]> Subject: RE: Policy on Use of Source Code Dear Joshua Kantor, Reproducing and redistribution of Maple code is a violation of the license agreement. If you check the license agreement in Section 7: unless Maplesoft has expressly authorized it, in writing for a given situation, this is a direct violation of the EULA. Here's copy of the section and attached is the full EULA. 7. GENERAL LICENSE RESTRICTIONS. The License of all Software hereunder is subject to the express restrictions set forth below in addition to the restrictions imposed by the applicable License Option, Installation Type and Order Confirmation. Without the express written permission of Maplesoft, Licensee shall not, and shall not permit any Third Party to: (a) reproduce, transmit, modify, adapt, translate or create any derivative work of, any part of the Software, in whole or in part, except for any content developed by Registered Users in Maple Worksheets that are not part of an electronic book Software product or as otherwise expressly permitted in this Agreement; (b) reverse engineer, disassemble, or decompile the Software, create derivative works based on the Software, or otherwise attempt to gain access to its method of operation or source code; [] I hope this answers your questions. Sincerely, Maplesoft Technical Support --~--~-~--~~~---~--~~ 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://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Fwd: [Maxima] Interesting Comment re Mathematica vs Everybody Else
On Nov 19, 2007 7:13 AM, David Joyner <[EMAIL PROTECTED]> wrote: > FYI (scroll down to see the mention of SAGE) > Interesting. The comments afterwards about "the problem" with specialized tools fails to mention that the point that Sage successfully solves that very problem. And of course Axiom isn't the only general-purpose CAS that can handle "nested definitions of algebraic structures", since both Sage and Magma can as well. > > -- Forwarded message -- > From: Miguel Marco <[EMAIL PROTECTED]> > Date: Nov 19, 2007 7:13 AM > Subject: Re: [Maxima] Interesting Comment re Mathematica vs Everybody Else > To: [EMAIL PROTECTED] > > > > > I have not played with Maple or MuPAD for five years or so, and so > > cannot really compare them now. Five years ago Mathematica seemed to > > handle more of the problems that I threw at it, and that was before I > > knew anyone from Wolfram. Every few months I look at Axiom, Maxima, > > sympy etc..., but frankly they are not close to being in the same > > league, and seem to be losing ground over time > I don't know much about Mathematica, but some of my coleagues use Maple once > in a while, and i agree with you about the fact that, often, the same problem > requires more work from the user to be solved in maxima than in maple. > Anyways, it is not a question of capability (at the end, both are > Turing-complete), but of usability. Anyways, all general purpose CAS that i > have seen make some mistakes in specific cases, which forced the user to > think twice befure using them for serious stuff beyond education. > > > (I would have expected > > computer algebra to be a place where open source would shine, but > > alas, it seems not.) The Sage project seems to have promise, but > > right now it looks like a bunch of distinct tools and a lot of duct > > tape. > > The more specialized tools like MacCaulay, CoCoA, Gap, Pari/GP, 4ti2, > > etc. are amazing in their niches, but have no pretenses to being > > widely applicable. > > > That is exactly the point: math researchers usually don't want to use a > general purpose tool, but the killer-app in their specific field. It makes > little sense to calculate groebner basis, or character tables with > Mathematica, Maple or Maxima. Hence, the same researchers that use these > specialized tools, help improving them (after all, they are the ones that do > research in those very specific algorithms). And thats how specifc open > source CAS keep improving, but general purpose ones stay in a second level. > One exception would be Axiom, that, besides a general purpose CAS, can handle > nested definitions of algebraic structures (i don't know any other CAS that > can do this), which can be usefull for some specific lines of research. > > Besides that, i consider that the main target for general purpose CAS'es is > actually education, and in that niche efficiency of algorithms is secondary > to pedagogical questions (such as easyness of learning). Considering that, i > think that differences in that aspect between Mathematica, Maple, and Maxima > (depending on the GUI) are no big enough to say that Maxima plays in another > league. > > Best: > > > Miguel Marco Buzunariz > Departamento de Matematicas > Universidad de Zaragoza. > > ___ > Maxima mailing list > [EMAIL PROTECTED] > http://www.math.utexas.edu/mailman/listinfo/maxima > > > > -- 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://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Open source math on Slashdot
On Nov 18, 2007 12:26 PM, Chris Chiasson <[EMAIL PROTECTED]> wrote: > I just noticed this as well. This is good because of /.'s large > programmer audience. Yep. Somebody mentioned Mathomatic there, which I don't ever remember scouring to see if it has anything at all to contribute to Sage: http://www.mathomatic.org/math/index.html It is GPL'd. I just downloaded it and built it from source on my mac in literally a few seconds, and it seems to work. A 30 second perusal suggests mathomatic doesn't do very much, compared to say Maxima, but it might be worth looking into further... > > On Nov 18, 11:37 am, "Mike Hansen" <[EMAIL PROTECTED]> wrote: > > Hello all, > > > > I just noticed that there is an article on the front page of slashdot > > about William and David's AMS opinion piece > > athttp://science.slashdot.org/science/07/11/18/1341232.shtml. I think > > > it'd be a good venue to get some Sage publicity in. > > > > --Mike > > > -- 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://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Open source math on Slashdot
On Nov 18, 2007 9:37 AM, Mike Hansen <[EMAIL PROTECTED]> wrote: > I just noticed that there is an article on the front page of slashdot > about William and David's AMS opinion piece at > http://science.slashdot.org/science/07/11/18/1341232.shtml . I think > it'd be a good venue to get some Sage publicity in. A journalis, Cameron Laird, noticed the article and sent me a link to a sort of similar article -- aimed much more at the sciences -- that he published in 2002: http://www.ibm.com/developerworks/library/l-oslab/?n-l-10242 E.g. it says "Related to this is a growing concern about the scientific propriety of reliance on commercial software. What does it mean that a certain result was achieved through use of a proprietary library? How does an academician document a discovery or conclusion when it rests on a black box whose details are trade secrets held by a third party?" -- William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Maple?
On Nov 19, 2007 8:29 AM, Jason Grout <[EMAIL PROTECTED]> wrote: > > William Stein wrote: > > > 3. Dumb question -- Where is the actual source code of anything in Maple? > > I'm skimming through my Maple install to see some actual source code > > and > > I can't find anything. The lib/ directory has lots of .mla > > files, but these are all > > pre-compiled binary files -- no source code. Is there some tool > > included with > > Maple to decompile them? (I'm not being rhetorical, I simply don't > > know > > how to actually view source code of Maple functions, even if I wanted > > to.) > > Some links dealing with this: > > http://www.mapleprimes.com/blog/jacquesc/old-timer-techniques > > http://www.mapleprimes.com/forum/algorithms-used-in-maple > > http://thproxy.jinr.ru/Documents/MapleV/qa/section3_4.html > > I've used the printlevel and I think the showstat techniques before. > Unfortunately, I can't test them because I no longer have access to > Maple (at least on my home machine). I guess that's they whole point > again---even if there is some way for someone to get the output of the > procedure, it doesn't do me any good because I don't have Maple and > can't check it anyway. This *does* work in Maple 11: sage: maple_console() |\^/| Maple 11 (APPLE UNIVERSAL OSX) ._|\| |/|_. Copyright (c) Maplesoft, a division of Waterloo Maple Inc. 2007 \ MAPLE / All rights reserved. Maple is a trademark of < > Waterloo Maple Inc. | Type ? for help. > print(gcd); proc(aa, bb, cofa::name, cofb::name) ... end proc > interface(verboseproc=2); 1 > print(gcd); proc(aa, bb, cofa::name, cofb::name) local Z, GCD, a, b; option `Copyright (c) 1992 by the University of Waterloo. All rights reserved.`; if 2 < nargs and member(cofa, indets(aa) union indets(bb)) then error "The optional 3rd argument given to `\ ... I wonder what proportion of the 1300 or so top-level functions in Maple (according to a sage's maple.[tab]) actually have source code. Interestingly, I bet I can make it so sage: maple.gcd?? will show the source code using one you suggest above. Trac ticket: http://trac.sagemath.org/sage_trac/ticket/1209 > Whether or not using printlevel or showstat is legal (in light of Josh's > response from Maple) is an interesting question. They are built-in > capabilities meant for introspection. They were also encouraged by the > Maple people in the above posts. Maybe it is a trap. :-) - William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Maple?
On Nov 19, 2007 8:57 AM, William Stein <[EMAIL PROTECTED]> wrote: > > > 3. Dumb question -- Where is the actual source code of anything in Maple? > > > I'm skimming through my Maple install to see some actual source code > > > and > > > I can't find anything. The lib/ directory has lots of .mla > > > files, but these are all > > > pre-compiled binary files -- no source code. Is there some tool > > > included with > > > Maple to decompile them? (I'm not being rhetorical, I simply > > > don't know > > > how to actually view source code of Maple functions, even if I > > > wanted to.) > > > > Some links dealing with this: > > > > http://www.mapleprimes.com/blog/jacquesc/old-timer-techniques > > > > http://www.mapleprimes.com/forum/algorithms-used-in-maple > > > > http://thproxy.jinr.ru/Documents/MapleV/qa/section3_4.html Interestingly, this link says "Printing the code in this way does not include any of the programmer's comments. If you want a separate copy of the library source code, with comments, it is available from the distributors for a set price. Some Maple procedures are coded completely within the kernel. Their code is not available. If you try to print them you see the following type of special procedure body." So you have to pay extra for the comments! Wow. That's truly bizarre. -- William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Maple?
On Nov 19, 2007 9:20 AM, somebody defending Maple wrote: > William, > > There are two ways to see the source code in Maple: > eval(procname); > and > showstat(procname); > Before doing that, it is usually necessary to change the > interface setting for displaying library procedures: > interface(verboseproc=2); > Many procedures call subprocedures whose names are > compound. Backquotes are needed for compound names: > eval(`convert/binary`); > Also, if the procedure is part of a module, then first > tell Maple that you do not want modules to be opaque: > kernelopts(opaquemodules=false); > > Almost all Maple routines can then be obtained. I do not > know what the percentage is, but if you exclude external > calls to others' code (e.g. the NAG code you cite), it is >90%. That's good to know. > In particular, the Groebner code is obtainable in Maple 11. I find it very hard to believe that anybody can just read the source code to Faugere's implementation of F4.Are you sure? > As far as cost, I believe that the student edition of Maple > is extremely cheap. Compare this with textbook prices! The student edition is cheap. But as soon as one isn't a student the price is $1895 or more. That is not cheap. Comparing with textbooks isn't exactly fair, because students often sell textbooks back at the end of the semester, but can't do the same with software. (Also, textbooks are way overpriced.) How much do you pay for your copy of Maple, now that you are no longer a student (I assume)? > The definition of "open source" that you cite is not universal. True. But it is definitely the definition of open source that is meant in the Notices opinion piece. You might want to read http://en.wikipedia.org/wiki/Open_source which has a good discussion of where the term as it is used by most software engineers comes from and who popularized it and why: 'The decision by some people in the free software movement to use the label "open source" came out of a strategy session[2] held at Palo Alto, California, in reaction to Netscape's January 1998 announcement of a source code release for Navigator. The group of individuals at the session included Christine Peterson who suggested "open source", Todd Anderson, Larry Augustin, Jon Hall, Sam Ockman, and Eric S. Raymond.' > Maple was developed by a commercial company at much cost > over decades, and the company needs to stay solvent; so it > does not want the product given away. Also, the quote in > the license you forwarded is only restricting a "Third Party". Actually that's not correct. To quote from the license: "Without the express written permission of Maplesoft, Licensee shall not, and shall not permit any Third Party to:" ^^ The Licensee is explicitly restricted, not just a Third Party. > Maple and Mathematica are huge systems, with a lot of > work in them done by people trained in mathematics. I > believe that trying to replicate them would be difficult. I agree, it is extremely difficult to make a system that is better than those systems. > I am a very big fan of open source, but the main objection > raised in your piece does not seem to apply to Maple. I am not convinced because: 1. Though one can read much of the Maple source code, you can't read all of it -- there is much that is still closed. As long as *anything* is closed, full inspection is not possible. 2. One cannot share Maple. To use Maple, once must pay license fees, and for professors and non-students these can be prohibitive. E.g., I contacted Maple 4 years ago because I wanted to use Maple to write a chapter for a book about using Maple for number theory. They told me it would cost me $495 for the "professor discount". When I said that was too much given what I was going to do with Maple, they said, "If you can get 4 of your colleagues to also buy copies, we'll sell them at $250/each." They absolutely would not budge on price. 3. One cannot legally take source code from Maple, modify it, and apply it to new research problems, since this is a direct violation of the license agreement. - I hope you will write a letter to the AMS though arguing your point of view. -- William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Projects
On Nov 19, 2007 9:38 AM, David Joyner <[EMAIL PROTECTED]> wrote: > > On Nov 19, 2007 12:21 PM, Martin Albrecht <[EMAIL PROTECTED]> wrote: > > > > Hi there, > > > > at Sage Days 6 Stefan Müller-Stach > > > >http://hodge.mathematik.uni-mainz.de/~stefan/index.html > > > > babelfish translation: > > > > http://babelfish.altavista.com/babelfish/tr?lp=de_en&url=http%3A//hodge.mathematik.uni-mainz.de/%7Estefan/index.html > > > > asked me whether the Sage project would like to name some projects suitable > > for a Diplomarbeit for some of his students. > > > > If you don't know the German system: it is safe to assume a "Diplomarbeit" > > is > > like a Master's thesis (except that you usually do a Diplom before pursuing > > a > > PhD). The idea is that we/you/the Sage developers name a project (in number > > theory) which is suitable for a Diplomarbeit (i.e. challenging enough but > > not > > overwhelming, timeframe: roughly a year) and Stefan tries to pass this > > project on to one of his students. > > > > To me this seems like a nice way to get stuff implemented that one hardly > > gets > > around to implement. > > > > Also, he is thinking about setting up a Sage seminar which could provide a > > similar 'service' for Sage: i.e. Students get credits for working on Sage. > > This would be suitable for more short term projects. > > > > Thoughts For starters, one thing for any student wanting to help to do is open up the Magma reference manual and browse through it until they see something they personally find interesting. If Sage doesn't do it, or Magma does it way faster than Sage, then there's a project. Same comments for Maple/Mathematica, though I don't know if Maple/Mathematica do anything at all in number theory / arithmetic geometry that Sage doesn't already do better, except maybe Faugere's F4... Once Sage can do everything Magma can do and more, then we have to start being much more creative about student projects. William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Projects
On Nov 19, 2007 9:49 AM, John Cremona <[EMAIL PROTECTED]> wrote: > > My suggestion for such a project is: compute all the S-integral > points on an elliptic curve (which is a finite set, for any given > finie set of primes S). First, over Q (assume that you are given a > Mordell-Weil basis), which is also implemented in Magma. Then, over > number fields -- not implemented anywhere which is available. > > Sources: a psper of Stephens and Smart, and the Saarbruecken thesisof > E Herrmann (in German). He is the one responsible for the Magma > implementation over Q, and he also has his own implementation over > number fields written in Simath. John, Is there any chance you could give a 2-3 paragraph summary of what is involved, at the level of our dinner conversation recently? It sounds extremely interesting and exciting the way you described the project in Bristol. William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Sage math app
On Nov 19, 2007 10:44 AM, <> wrote: > I wanted to commend you for leading Sage. I think it is a great idea > to combine all the open source math apps out there into a unified whole. Thanks! > I'm curious about your integration component. I believe I read you > were using Maxima but were interested in improving the interface?? Under the hood Maxima is indeed used to provide the low-level integration capabilities in Sage right now. > How are you planning to change the interface? We haven't exactly decided yet. For starters we at least want to make sure Sage can compute many integrals that Maxima can't (but say Maple and/or Mathematica can compute).I've cc'd this email to sage-devel, so maybe people there (e.g., Ondrej Certik) will say more about what they're interested in doing. > Perhaps making a syntax compatible with Mathematica's?? No, that's definitely not planned. William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Maple?
On Nov 19, 2007 10:52 AM, Stephen Forrest <[EMAIL PROTECTED]> wrote: > > So you have to pay extra for the comments! Wow. That's truly bizarre. > > Hmm, I am a former Maplesoft employee, and I have never, ever heard of > the source code being available for reading for an extra price. I am > not inclined to believe this remark. I definitely trust you over those bizarre comments. By the way, as a former Maple employee, do you have any ideas about how to better improve the quality control process for Sage. Quality control is one place where commercial software is often much more refined than open source software, and I'd love to hear more ideas for Sage about it. > The fact that comments aren't available in the first place is not > especially surprising: Maple is an interpreted language language like > any other, and comments are the first thing to be stripped out whole > parsing. Java bytecode doesn't have comments either :). > > Furthermore, with regard to the comment by Jason Grout that the use of > the introspection tools was "encouraged by the Maple people in the > above posts.", you should understand that the Maple Primes posts to > which those links refer were made by various Maple enthusiasts > unaffiliated with Maplesoft (albeit on a site run by Maplesoft). You > shouldn't read anything about Maplesoft's position from them. Very good point. Thanks for your comments. William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Sage math app
On Nov 19, 2007 11:02 AM, <[EMAIL PROTECTED]> wrote: > On Mon, Nov 19, 2007 at 10:49:52AM -0800, William Stein wrote: > > > Perhaps making a syntax compatible with Mathematica's?? > > > > No, that's definitely not planned. > > > > William > > I've been thinking about this myself for a while. Sage could definitely > make up their own syntax. We already did make up our own syntax, which fits most naturally with how Python works. In many cases it turns out to be exactly the same as Mupad and very similar to Maple. > As a long time Mathematica user I wonder if > the Mathematica syntax is well known enough that it would be valuable > to just mimic that syntax. I believe Bateman of Maxima had even completed > a prototype of this. I'd be curious to hear what others in Sage think. Having some sort of compatibility layer, e.g., a function that takes an almost arbitrary mathematica expression and converts it to a sage expression *is* on our todo list, so at least one could do, e.g., from_mathematica('Sin[x^2]') and get Sage's sin(x^2). We can already do this with almost arbitrary Maxima expressions. If we could also do it for Mathematica, then we could actually use Mathematica as a backend for sage's symbolic simplication, integration, etc., as an option. This has been on the todo list for a while, but nobody has tackled implementing it. Are you interested in trying? -- 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://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: sage 2.8.13.alpha1 is out!
Hi, On OSX ppc the sage alpha1 build fails with this. Unfortunately, I can't work on fixing this since I have committee work to do right now. If we can't fix this, a reasonable option is to just comment out building the cremona code in setup.py for now, and put some nodoctests in the top of the pyx files in devel/sage/sage/libs/cremona/*.pyx. This would be OK for now. sage/plot/plot3d/shapes.pyx --> /Users/was/sage-2.8.13.alpha1/local//lib/python/site-packages//sage/plot/plot3d/shapes.pyx running install running build running build_py running build_ext building 'sage.libs.cremona.homspace' extension g++ -bundle -undefined dynamic_lookup build/temp.macosx-10.3-ppc-2.5/sage/libs/cremona/homspace.o -L/Users/was/sage-2.8.13.alpha1/local//lib -lcsage -lg0nntl -ljcntl -lgmpxx -lntl -lgmp -lm -lstdc++ -lstdc++ -lntl -o build/lib.macosx-10.3-ppc-2.5/sage/libs/cremona/homspace.so /usr/bin/ld: warning can't open dynamic library: libpari-gmp.dylib referenced from: /Users/was/sage-2.8.13.alpha1/local//lib/libcsage.dylib (checking for undefined symbols may be affected) (No such file or directory, errno = 2) /usr/bin/ld: warning can't open dynamic library: libcurvesntl.dylib referenced from: /Users/was/sage-2.8.13.alpha1/local//lib/libg0nntl.dylib (checking for undefine d symbols may be affected) (No such file or directory, errno = 2) /usr/bin/ld: Undefined symbols: _GENtostr referenced from libjcntl expected to be defined in libpari-gmp.dylib _Z_factor referenced from libjcntl expected to be defined in libpari-gmp.dylib _avma referenced from libjcntl expected to be defined in libpari-gmp.dylib _bot referenced from libjcntl expected to be defined in libpari-gmp.dylib _isprime referenced from libjcntl expected to be defined in libpari-gmp.dylib _pari_init referenced from libjcntl expected to be defined in libpari-gmp.dylib _strtoi referenced from libjcntl expected to be defined in libpari-gmp.dylib collect2: ld returned 1 exit status error: command 'g++' failed with exit status 1 sage: There was an error installing modified sage library code. real0m21.464s user0m9.699s sys 0m11.626s ERROR installing SAGE real21m33.408s user19m45.068s sys 1m44.815s sage: An error occurred while installing sage-2.8.13.alpha1 Please email sage-devel http://groups.google.com/group/sage-devel explaining the problem and send the relevant part of of /Users/was/sage-2.8.13.alpha1/install.log. Describe your computer, operating system, etc. If you want to try to fix the problem, yourself *don't* just cd to /Users/was/sage-2.8.13.alpha1/spkg/build/sage-2.8.13.alpha1 and type 'make'. --~--~-~--~~~---~--~~ 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://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: sage 2.8.13.alpha1 is out!
am looking into this later, but I might need to catch some sleep > > > > first. > > > > > I fixed the doctest: > > > > > diff -r 4cc57dcfd20b sage/libs/flint/fmpz_poly.pyx > > > --- a/sage/libs/flint/fmpz_poly.pyx Mon Nov 19 14:35:11 2007 -0800 > > > +++ b/sage/libs/flint/fmpz_poly.pyx Mon Nov 19 15:48:05 2007 -0800 > > > @@ -268,7 +268,7 @@ cdef class Fmpz_poly(SageObject): > > > sage: f = Fmpz_poly([3,4,5]) > > > sage: g = f^5; g > > > 11 243 1620 6345 16560 32190 47224 53650 46000 29375 > > > 12500 3125 > > > -sage: g / f > > > + sage: g // f > > > 9 81 432 1404 2928 4486 4880 3900 2000 625 > > > sage: f^4 > > > 9 81 432 1404 2928 4486 4880 3900 2000 625 > > > > > So, any idea why we need "//" in this case? > > > > And probably also correct the description to "//" instead of "/". > > > > On OSX 10.5 we should also make gfortran mandatory - see #1212. At the > > moment the only issue left it reverting sqlite and fixing the compile > > of flint-0.9 on 10.5 > > > > I am catching some sleep, cu all in about 8 hours. > > > > 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://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: sage 2.8.13.alpha1 is out!
On Nov 19, 2007 6:56 PM, Bill Hart <[EMAIL PROTECTED]> wrote: > It built fine on Robert's laptop the other night. Have I got the > architecture of Robert's laptop wrong? It is Core 2 Duo right? The build failure below is on a Xeon quad-core Mac Pro running OS X 10.5, i.e., bsd.math.washington.edu. If you want to try building and testing FLINT on it, let me know off list and I'll create an account for you. > > Bill. > > On 20 Nov, 02:38, "William Stein" <[EMAIL PROTECTED]> wrote: > > > On Nov 19, 2007 5:13 PM, Bill Hart <[EMAIL PROTECTED]> wrote: > > > > > By the way, FLINT 0.9 breaks on Core 2 Duo (this is not a build issue, > > > but a real live corner case bug in the FLINT C code). I've added a new > > > > In the current alpha 1 the *build* of flint fails: > > > > ops -fexpensive-optimizations -fPIC -funroll-loops -O3 > > ZmodF_poly-test.o test-support.o -o ZmodF_poly-test mpn_extras.o > > mpz_extras.o memory-manager.o ZmodF.o Zmo > > dF_mul.o ZmodF_mul-tuning.o fmpz.o fmpz_poly.o mpz_poly-tuning.o > > mpz_poly.o ZmodF_poly.o long_extras.o > > -L/Users/was/sage-2.8.13.alpha1/local/lib/ -L/Users/was/sage > > -2.8.13.alpha1/local/lib/ > > -L/Users/was/sage-2.8.13.alpha1/local/include -lgmp -lpthread -lm > > -lntl > > gcc -std=c99 -I/Users/was/sage-2.8.13.alpha1/local/include/ > > -I/Users/was/sage-2.8.13.alpha1/local/include > > -I/Users/was/sage-2.8.13.alpha1/local/include -funroll-lo > > ops -fexpensive-optimizations -fPIC -funroll-loops -O3 -c > > ZmodF_mul-test.c -o ZmodF_mul-test.o > > ZmodF_mul.h:169: warning: inline function > > [EMAIL PROTECTED]@~Y declared but never defined > > ZmodF_mul.h:166: warning: inline function > > [EMAIL PROTECTED]@~Y declared but never defined > > ZmodF_mul.h:169: warning: inline function > > [EMAIL PROTECTED]@~Y declared but never defined > > ZmodF_mul.h:166: warning: inline function > > [EMAIL PROTECTED]@~Y declared but never defined > > gcc -std=c99 -I/Users/was/sage-2.8.13.alpha1/local/include/ > > -I/Users/was/sage-2.8.13.alpha1/local/include > > -I/Users/was/sage-2.8.13.alpha1/local/include -funroll-lo > > ops -fexpensive-optimizations -fPIC -funroll-loops -O3 > > ZmodF_mul-test.o test-support.o -o ZmodF_mul-test mpn_extras.o > > mpz_extras.o memory-manager.o ZmodF.o ZmodF > > _mul.o ZmodF_mul-tuning.o fmpz.o fmpz_poly.o mpz_poly-tuning.o > > mpz_poly.o ZmodF_poly.o long_extras.o > > -L/Users/was/sage-2.8.13.alpha1/local/lib/ -L/Users/was/sage-2 > > .8.13.alpha1/local/lib/ -L/Users/was/sage-2.8.13.alpha1/local/include > > -lgmp -lpthread -lm -lntl > > Undefined symbols: > > "__ZmodF_mul_threeway_reduce1", referenced from: > > _test__ZmodF_mul_threeway_reduce in ZmodF_mul-test.o > > "__ZmodF_mul_threeway_reduce2", referenced from: > > _test__ZmodF_mul_threeway_reduce in ZmodF_mul-test.o > > ld: symbol(s) not found > > collect2: ld returned 1 exit status > > make[2]: *** [ZmodF_mul-test] Error 1 > > Failed to build FLINT dylib. > > > > real0m28.796s > > user0m16.183s > > sys 0m1.335s > > sage: An error occurred while installing flint-0.9.p0 > > > > - > > > > > > > > > revision 1071 to the FLINT SVN repository at > > >https://flint.svn.sourceforge.net/svnroot/flint/trunk/but I'm still > > > waiting to find out if this fixed the fmpz_poly-test failure on the > > > Core 2 Duo. Can one of the SAGE developers with a Core 2 check out > > > FLINT rev 1071 and report on whether fmpz_poly-test passes and then > > > let me know about it. > > > > > I spent a couple of days completely rewriting a couple of thousand > > > lines of code to try and fix this problem, so I'm really quite keen to > > > find out whether it now works. When it does I will make another > > > revision which reverts the test code to short tests and then FLINT 0.9 > > > will be OK to go. > > > > > After that happens it would also be great if SAGE developers with > > > other platforms and OS's could run the test code in FLINT. In > > > particular the following tests should be run: > > > > > ZmodF-test > > > ZmodF_poly-test > > > fmpz_poly-test > > > fmpz-test > > > mpn_extras-test > > > ZmodF_mul-test > > > > > Perhaps we should think about whether these tests should be made part > > > of SAGE's make test. > > > > > Optionally I'd like to hear about an
[sage-devel] Re: sage 2.8.13.alpha1 is out!
On Nov 19, 2007 6:47 PM, Bill Hart <[EMAIL PROTECTED]> wrote: > > sage: f = Fmpz_poly([3,4,5]) > > sage: g = f^5; g > > 11 243 1620 6345 16560 32190 47224 53650 46000 29375 > > 12500 3125 > > -sage: g / f > > +sage: g // f > > 9 81 432 1404 2928 4486 4880 3900 2000 625 > > sage: f^4 > > 9 81 432 1404 2928 4486 4880 3900 2000 625 > > > > So, any idea why we need "//" in this case? In python // means "floor divisions". It's the same semantics as \ in PARI. It means divide and forget the remainder. E.g., 5 // 3 == 1 > Typing: > > ??f.__div__ // is not "__div__". You should just look at the relevant source file anyways, which is in SAGE_ROOT/devel/sage/sage/libs/flint/ > When I found a function which did return source code, much of it was > black text on black background, so it just looked like gibberish. For > the longest time I thought this was actually python, so I had vowed > never to learn the language. Didn't anybody mention to you that Python is a language where only whitespace is significant? For example, here is a Python program to factor integers in polynomial time: > Working over ZZ['x'] if I accidentally type: > > mul(f,f) > > it amusingly multiplies f by 6. Which is completely correct if you read the docs for mul, which multiplies together the elements of a list or list-like object. What it is doing is multiplying together the entries of f, but starting the product with f itself: sage: R. = ZZ[] sage: f = R([3,4,5]) sage: mul(f,f) 300*x^2 + 240*x + 180 sage: 3*4*5 * f 300*x^2 + 240*x + 180 You can't just type random things you make up into a computer algebra system and expect them to behave like you want at the moment. > If I use FLINT polynomials and type the same thing, it sits there > forever and there is no way to stop it. Of course the semantically > correct f.__mul__(f) works fine. That's because it is trying to turn your FLINT poly into a list, and getting an infinite list (since the default implementation for making a list for something hasn't been overridden yet for FLINT polys). If you want to use functional notation for arithmetic use the operator module: sage: operator.[tab] sage: operator.mul(f, f) 25*x^4 + 40*x^3 + 46*x^2 + 24*x + 9 sage: operator.floordiv(f,f) 1 > > In answer to your question, I think // is divrem, which FLINT > implements. No, it's floor division. sage: operator.floordiv? floordiv(a, b) -- Same as a // b. > FLINT also implements div in ZZ['x'], which is not the same thing as > div in SAGE. For example 3/4 returns 3/4, but 6/3 returns 2. At > present there is no function in FLINT which returns the quotient if > division is exact and nothing at all if it is not (in which case SAGE > seems to return a symbolic expression f/g). Sage doesn't return a symbolic expression from elements of ZZ['x']. It returns an element of the fraction field, Frac(ZZ['x']). Maybe I'm being confused though, since there is a SymbolicExpression class in the calculus module, and that's probably not what you're thinking of. > NTL has such a function, > but it isn't implemented in FLINT yet. > > Instead polynomial division always returns something in ZZ['x'] in > FLINT. Basically it returns the same thing as what Magma returns when > you type f div g. It's a kind of normalised division, which just > happens to be the quotient when the division is exact. That's like integer division in python, where: >>> 2/3 0 This is definitely the *wrong* semantics for Sage, since it is not mathematically correct. That I think completely answers Michael Abshoff's question that started this thread. William > > Bill. > > > > > > -- 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://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: sage 2.8.13.alpha1 is out!
On Nov 19, 2007 7:46 PM, Bill Hart <[EMAIL PROTECTED]> wrote: > Some kind of compiler bug. I've made changes in rev 1072 of FLINT > which should fix the problem. If not, we'll have to wait for Mabshoff > to awaken. I've no other ideas, so there's no point in setting me up > with an account on the machine at this point. Whatever you did in rev 1072, it *DOES* fix the problem (I just tested it). Great work! William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: sage 2.8.13.alpha1 is out! -- g95 and OSX Leopard
Hi, I just did a test and using the new version of g95 here: http://ftp.g95.org/g95-x86-osx.tgz works fine for building Sage on Leopard OS X 10.5 intel. So, we can just update that and stop worrying about require gfortran on that platform. Very nice, and this means we'll be able to easily close trac #1005!! NOTE - I also tested cvxopt building, and it works fine too. -- Wiliam On Nov 19, 2007 7:56 PM, William Stein <[EMAIL PROTECTED]> wrote: > On Nov 19, 2007 7:46 PM, Bill Hart <[EMAIL PROTECTED]> wrote: > > Some kind of compiler bug. I've made changes in rev 1072 of FLINT > > which should fix the problem. If not, we'll have to wait for Mabshoff > > to awaken. I've no other ideas, so there's no point in setting me up > > with an account on the machine at this point. > > Whatever you did in rev 1072, it *DOES* fix the problem (I just tested it). > Great work! > > 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://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: ModularSymbols(GammaH)
e): > --> 336 rels = modS_relations(syms) > 337 if sign != 0: > 338 # Let rels = rels union I relations. > > /home/was/s/local/lib/python2.5/site-packages/sage/modular/modsym/relation_matrix.py > in modS_relations(syms) > 99 for i in xrange(len(syms)): > 100 j, s = syms.apply_S(i) > --> 101 assert j != -1 > 102 if i < j: > 103 rels.add( ((i,1),(j,s)) ) > > : > > > > > > -- 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://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Sage math app
On Nov 20, 2007 11:10 AM, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: > > As to syntax, I think in Python we could use: > > >>> integrate(cos(x), (x, -pi/2, pi/2)) > > Because then you can > > use the syntax: > > > > integrate(cos(x*y), (x, -pi/2, pi/2), (y, 0, pi)) > > > > for multiple integrals. But anyway, it's just a cosmetic issue. > > When I commended Sage's syntax I was assuming you were using this > Mathematica like syntax already. I agree with Ondrej and think his > suggestion above is the way to go. So do I. I think we should change that functions as suggested. Anybody want to submit a patch? Ondrej, could you create a trac ticket making precise what you want, etc.? > Well Mathematica is proprietary software so I'm not sure why this would be > interesting. More important it seems to me is to make a rock solid wrapper > for > Maxima's engine. Fortunately, that's already done :-) -- William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Pairing
On Nov 21, 2007 8:17 AM, Steffen <[EMAIL PROTECTED]> wrote: > > Hi, I needed some calculation period benchmark for pairings. I could > not find anything build in, but the following implementation solved my > problem: > > http://maths.straylight.co.uk/archives/104 Thanks! I've made adding this to Sage proper ticket http://trac.sagemath.org/sage_trac/ticket/1236 Can you make some sort of GPL-compatible license statement about your code, if you haven't already? William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: ArithmeticError
On Nov 20, 2007 1:40 PM, Paul Zimmermann <[EMAIL PROTECTED]> wrote: >William, > > sage told me to report you, thus I do: [... see below] For the particular curve you're considering mwrank (via sage's rank command) can compute the rank -- which is what you want -- in 0.5 seconds, so maybe you can use .rank() instead? {{{id=24| e = EllipticCurve([0, 33076156654533652066609946884, 0, 347897536144342179642120321790729023127716119338758604800, 114112815436927429551902303280680424778815462104985764887003237028585178\ 135281664]) }}} {{{id=27| time e.rank() /// 1 CPU time: 0.00 s, Wall time: 0.46 s }}} That said, the fact that e.torsion_order() fails is certainly a bug: {{{id=29| e.torsion_order() /// Traceback (most recent call last): File "", line 1, in File "/Users/was/sage_notebook/worksheets/admin/23/code/91.py", line 4, in ... self.__torsion_subgroup = rational_torsion.EllipticCurveTorsionSubgroup(self, flag) File "/Users/was/s/local/lib/python2.5/site-packages/sage/schemes/elliptic_curves/rational_torsion.py", line 56, in __init__ self.__E.__pari_double_prec() AttributeError: 'EllipticCurve_rational_field' object has no attribute '_EllipticCurveTorsionSubgroup__pari_double_prec' }}} This is now trac #1237 http://trac.sagemath.org/sage_trac/ticket/1237 and it probably won't be too hard to fix. I suspect it was caused perhaps by David Roe's recent refactoring of the code for elliptic curve over QQ, but I couldn't be completely wrong. > sage: d = 919681/88529281 > sage: _ = magma.eval('K := Rationals()') > sage: _ = magma.eval('P:=ProjectiveSpace(K,2)') > sage: def rank(d): > :s='f := (x^2+y^2)*z^2-z^4-(' > :s=''.join([s, repr(d), ')*x^2*y^2;']) > :magma.eval(s) > :magma.eval('C:=Curve(P,f);') > :E = magma('EllipticCurve(C,C![0,1,1])') > :l = E.aInvariants() > :EE = EllipticCurve(map(Integer,l)) > :return EE.simon_two_descent()[0] > : > sage: rank(d) > --- > Traceback (most recent call last) > > /home/zimmerma/ in () > > /home/zimmerma/ in rank(d) > > /usr/local/sage-2.8.12/sage/local/lib/python2.5/site-packages/sage/schemes/elliptic_curves/ell_rational_field.py > in simon_two_descent(self, verbose, lim1, lim3, limtriv, maxprob, > limbigprime) > 858 (8, 8) > 859 """ > --> 860 if self.torsion_order() % 2 == 0: > 861 raise ArithmeticError, "curve must not have rational > 2-torsion\nThe *only* reason for this is that I haven't finished implementing > the wrapper\nin this case. It wouldn't be too difficult.\nPerhaps you could > do it?! Email me ([EMAIL PROTECTED])." > 862 F = self.integral_weierstrass_model() > > /usr/local/sage-2.8.12/sage/local/lib/python2.5/site-packages/sage/schemes/elliptic_curves/ell_rational_field.py > in torsion_order(self) >1743 return self.__torsion_order >1744 except AttributeError: > -> 1745 self.__torsion_order = self.torsion_subgroup().order() >1746 return self.__torsion_order >1747 > > /usr/local/sage-2.8.12/sage/local/lib/python2.5/site-packages/sage/schemes/elliptic_curves/ell_rational_field.py > in torsion_subgroup(self, flag) >1781 return self.__torsion_subgroup >1782 except AttributeError: > -> 1783 self.__torsion_subgroup = > rational_torsion.EllipticCurveTorsionSubgroup(self, flag) >1784 return self.__torsion_subgroup >1785 > > /usr/local/sage-2.8.12/sage/local/lib/python2.5/site-packages/sage/schemes/elliptic_curves/rational_torsion.py > in __init__(self, E, flag) > 54 G = self.__E.pari_curve().elltors(flag) > 55 except RuntimeError: > ---> 56 self.__E.__pari_double_prec() > 57 if G is None: > 58 raise RuntimeError, "Could not compute torsion subgroup" > > : 'EllipticCurve_rational_field' object has > no attribute '_EllipticCurveTorsionSubgroup__pari_double_prec' > > Paul > -- 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://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: sage 2.8.13.alpha1 is out! -- g95 and OSX Leopard
On Nov 19, 2007 11:49 PM, mabshoff <[EMAIL PROTECTED]> wrote: > On Nov 20, 6:12 am, "William Stein" <[EMAIL PROTECTED]> wrote: > > Hi, > > > > I just did a test and using the new version of g95 here: > > > >http://ftp.g95.org/g95-x86-osx.tgz > > > > works fine for building Sage on Leopard OS X 10.5 intel. > > So, we can just update that and stop worrying about require > > gfortran on that platform. Very nice, and this means we'll be > > able to easily close trac #1005!! > > > > NOTE - I also tested cvxopt building, and it works fine too. > > > > -- Wiliam > > Hello, > > I have update the fortran.spkg with that g95 and I am testbuilding on > bsd. Do we also need to update the g95 for 10.5 on PPC or is this an > x86 issue only? It probably couldn't hurt to do so, but I really have no idea since I don't have access to any 10.5 PPC machines. If the updated g95 works on ppc 10.4 also then it would be worth updating on general principle. -- William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Projects
On Nov 21, 2007 8:11 AM, sms <[EMAIL PROTECTED]> wrote: > thanks for inviting me to become a member here! Welcome to sage-devel! > > David: I am working in Algebraic Geometry (algebraic cycles and K- > theory) mainly but teach almost entirely number theory and hence > essentially only give away thesis topics in number theory. By the way > I got into all this after writing > a little python package for symbian series 60 phones (google for > python math lab) which two of my students help > developing meanwhile. That's pretty cool. Could you change the title of the link to Sage on the "python math lab" webpage from " SAGE: System for Arithmetic Geometry Experimentation, a CAS developed by William Stein et.al." to " SAGE: Open Source Mathematical Software, a Python-based CAS developed by William Stein et al." Thanks. > To involve them into developing parts SAGE > is an experiment though, hence it would be good to let them work on > less time-critical things and be patient. It might even be better to > give away such task in seminars where they usually work only for a few > weeks on a subject. I like that idea. > John's suggestion (S-integral points) seems very interesting and if I > may I would like to suggest it to a student. Also Edwards coordinates > seem to be a nice option. Otherwise I will follow William and suggest > that they choose their own topic and go ahead and compare with MAGMA. > At the end we can see whether there is a contribution. Sounds good. Regarding S-integral points, it would be best to break the project up into several subtasks (I'm not sure what the subtasks are). -- William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] is anybody interesting lie groups, etc.
Hi Sage Devel, If you noticed the publicity a few months ago about E8, "the Sage supercomputer", etc., then you might be interested in this project.The software here, which is a mostly well documented (but sometimes not) not unpleasant C++ program http://www.liegroups.org/software/download/ was the code used (run on sage.math.washington.edu) to do "the E8 calculation". It is actually much more general code, capable I think of doing many interesting things related to lie groups, and do them very very quickly (that's the key point). It's completely unique, interesting, and powerful code. A few minutes ago I got word from the ATLAS of Lie Groups group that "William, Well, I think everybody has had their say and the conclusion is unanimous: Atlas is GPL. (There still is some discussion about which version of GPL and where to put the notification. This will be straightened out soon.)" So is anybody interested in thinking through how this could perhaps be made a standard and useful part of Sage? Let me know. -- 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://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Projects
On Nov 21, 2007 11:16 AM, mhampton <[EMAIL PROTECTED]> wrote: > > I have a project that I have meant to tackle myself, but I doubt I > will have time to do it for at least a year, so someone can beat me to > it (just let me know!): > > Write a parallellized (DSage!) algorithm/implementation to compute > convex hulls of rational points in n-dimensional space, using exact > arithmetic. My own interest is for polytopes that are highly > degenerate in the sense that the faces are ususally complicated, far > from being simplices. For such polytopes the LRS algorithm doesn't do > too well, although it is fairly easy to parallellize (there is at > least one paper on that topic, but I couldn't find an > implementation). It would be nice to try to parallellize the cdd > program of Fukuda et al - the serial program is already included in > Sage in cddlib (and via polymake). > > I would be interested in corresponding and helping anyone interested. Could you maybe say a little more about how existing software (e.g., polymake) fails to meet your needs? Is there commercial software that does what you want? Etc., or is this development of something that is in some sense entirely new. Are algorithms for what you want well known and written down in papers or would they have to be invented (thesis!)? William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] SAGE-2.8.13 released!
Hello folks, Sage 2.8.13 has been released. Sources are and binaries should soon be available at http://sagemath.org/download.html This is the first release after the excellent Sage Days 6 in Bristol. We are a couple days late, mostly due to a rocky initial alpha0 that took some time to sort out and also the new policy that all patches have to be reviewed before they can get merged. The usual suspects contributed major pieces to this release: - Bill Hart - John Cremona - Josh Kantor - Martin Albrecht - Michael Abshoff - Mike Hansen - Ondrej Certik - Ralf-Philip Weinmann - Robert Bradshaw - William Stein - Willem Jan Palenstijn Sorry if I forgot anybody, it has been quite a turbulent release cycle. Thanks to all the reviewers, all the testers, especially Jaap Spies, and please send me patches for the doctest failures. Cheers, Michael Abshoff (release chair), William Stein * Major Features, New Spkgs and Bugfixes Major new features are John Cremona's g0n, updates to flint, scipy & numpy, cvxopt and sympy as well as major bug fixes to libfplll and memory leak fixes in linbox. This is also the first release that compiles on OSX 10.5 "out of the box", i.e. without the need to have gfortran installed. Updates spkgs in detail: #563: linbox-20070915.p2.spkg (Michael Abshoff) #1029: flint-0.9-r1072.spkg (Robert Bradshaw, Michael Abshoff) #1188: libfplll-2.1.3-20071117.spkg (Martin Albrecht, Michael Abshoff, Willem Jan Palenstijn, also #1126) #1177: mpfr-2.3.0.p0.spkg (Michael Abshoff) #1189: sympy-0.5.7.spkg (Ondrej Certik) #1197: cremona-20071116.p0.spkg (John Cremona, William Stein, Ralf-Philip Weinmann) #1198: scipy-20071020-0.6.spkg (Josh Kantor) #1198: numpy-20071020-1.0.3.1.spkg (Josh Kantor) #1199: cvxopt-0.9.p1.spkg (Josh Kantor, Michael Abshoff, also #1121, #1161) We closed a total of 49 tickets, see http://www.sagetrac.org/sage_trac/query?status=closed&milestone=sage-2.8.13 for details. * Known Issues with 2.8.13 - cvxopt fails to import on OSX PPC (ticket #1222) - g0n, i.e. cremona.spkg fails to compile on Linux/Itanium with older gcc and also Solaris. * Upcoming Releases 2.8.14 is planned for next week, depending on how close the release will be to Sage Bug Day 6 on November 2nd, 2007 we might do another 2.8.15 release the day before. Major spkg candidates for 2.8.14 are - Singular 3-0-4 - PolyBoRi - ATLAS BLAS/Lapack It looks unlikely that we will achieve the major goals for 2.9, namely Solaris 32 bit support and OSX 10.5 64 bit support, in the next two weeks, so we might do a couple more 2.8.x releases. * Coverage 2.8.13: Overall weighted coverage score: 34.4% Total number of functions: 17472 Compared to 2.8.12: Overall weighted coverage score: 34.3% Total number of functions: 17418 * About Sage (http://www.sagemath.org) Sage is developed by volunteers and combines 71 open source packages. It is available for free download from sagemath.org and its mirrors in source or binary form. If you have any questions and/or problems please report them to the google groups sage-devel, sage-support, sage- forum or sage-newbie. You can also drop by in #sage-devel in freenode. -- 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://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: abelian groups
ists, and is exactly what the coercion code depends on (not ParentWithGens). -- William > It seems to me you want to copy > > cdef class Group(sage.structure.parent_gens.ParentWithGens): > > but with a bigger parent, calling it maybe AbstractGroup or > GroupWithoutGens or something. > If/when you know the generators, you coerce it into Group. Probably > it's much more > complicated to implement but the essence of what you want seems simple enough > conceptually. Instead of creating the ParentWithOutGens, maybe just go back > into > sage.structure.parent.Parent? > > In your example of an elliptic curve, it is possible that you do have > generators > known, so maybe you want to have the option of specifying them > and coercing immediately? > > > > > > > I'm really unsure of how to proceed with this. Especially since there > > are difficult coercion issues lurking in the background. Any thoughts > > would be most appreciated. > > > > david > > > > > > > > > > > > > -- 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://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: abelian groups
On Nov 22, 2007 7:31 AM, David Harvey <[EMAIL PROTECTED]> wrote: > > You should make an AbstractAbelianGroup class that derives from > > ParentWithBase. > > Hmmm but wouldn't it make more sense for AbelianGroup (i.e. the > currently implemented one) to derive from AbstractAbelianGroup? Yes, it would make more sense. > i.e. an AbelianGroup is an AbstractAbelianGroup where we happen to > know the structure, and so can implement things like order, exponent > etc more efficiently? > > I guess then you have problems with multiple inheritance, since you > want AbelianGroup to inherit from both AbstractAbelianGroup and > ParentWithGens, both of which originally come from ParentWithBase. > That's most unfortunate. Logically it would make more sense to derive from both ParentWithGens and AbstractAbelianGroup, but as you point out that is multiple inheritence which is not supported in Cython.So just make the AbelianGroup class be a Python class (in fact -- if you look in abelian_group.py you'll see it already is a Pure Python class!) {{{id=0| class AbstractAbelianGroup(ParentWithBase): def __repr__(self): return "An abstract abelian group" }}} {{{id=1| class AbelianGroup(AbstractAbelianGroup, ParentWithGens): def __repr__(self): return "an abelian group" }}} William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: please wait less than a minute -> please wait around 6 minutes
On Nov 22, 2007 7:42 AM, Ondrej Certik <[EMAIL PROTECTED]> wrote: > > On Nov 22, 2007 1:37 PM, Ondrej Certik <[EMAIL PROTECTED]> wrote: > > > so startup + relocation takes 12 seconds. So there are maybe some > > > problems on your end :( > > > > I downloaded the binary version: sage-2.8.13-i686-Linux-debian32.tar.gz > > > > I tried that on my laptop and it indeed took only 57s, which is less > > than a minute. So there are probably some problems on my end. > > Just for a reference, I just tried that on Intel Core Quad: The time has everything to do with filesystem speed (and sytem load), and very little to do with CPU speed. It literally takes only a few seconds on most unloaded modern systems with a good hard drive, since all it is doing is looking at a bunch of files and in some cases making some changes to them (mainly in Python's site-package). Maybe your machine has a really slow filesystem driver or was doing something else at the same time or something. In any case, it would likely be easy to rewrite this functionality to give some sort of progress meter. If that sounds like a good idea to you, feel free to open a trac ticket and it will eventually happen. > $ time ./sage > -- > | SAGE Version 2.8.13, Release Date: 2007-11-21 | > | Type notebook() for the GUI, and license() for information.| > -- > The SAGE install tree may have moved. > Regenerating Python.pyo and .pyc files that hardcode the install PATH > (please wait less than a minute)... > Please do not interrupt this. > /home/ondra/ext/sage-2.8.13-i686-Linux/local/bin/sage-sage: line 149: > 6136 Alarm clock "$SAGE_ROOT/local/bin/"sage-location > > Automatically updating the cached Gap workspace: > /home/ondra/.sage//gap/workspace-468476148 > sage: > Exiting SAGE (CPU time 0m0.01s, Wall time 0m52.95s). > Exiting spawned Gap process. > > real7m7.078s > user0m3.428s > sys 0m1.164s > > > > > -- 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://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: sage on sagemath
On Nov 22, 2007 5:20 AM, mabshoff <[EMAIL PROTECTED]> wrote: > > : libcsage.so: cannot open shared > > object file: No such file or directory > > > > > > So I think it's better to build it from source, right? > > libcsage.so is missing in the binary, "sage -b" fixes that. That's very weird. In fact, there's libcsage.dylib instead included in that tarball! There was probably a problem with the script that determines whether to build a dylib or so file. Anyway, I'm rebuilding the sage for sage_dot_math binary tarball right now and will post it later. William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Banner not updated
On Nov 22, 2007 7:17 AM, Nathan Dunfield <[EMAIL PROTECTED]> wrote: > I encountered the following minor bug while upgrading to 2.8.13, > namely the file > > $SAGEROOT/local/bin/sage-banner > > was not updated. So when I started sage after doing "sage -upgrade" > it claimed that I was still on 2.8.8.1: Try doing sage: hg_scripts.merge() sage: hg_scripts.commit() and answer any interactive questions. We recently switched to "sage -upgrade" *merging* in the scripts and several other hg repo's included in sage, instead of just overwriting them -- this is great, because it means people won't accidently loose work when upgrading; however, it requires some slight manual intervention when upgrading older installs. William > PBook ~ (12) sage > -- > | SAGE Version 2.8.8.1, Release Date: 2007-10-21 | > | Type notebook() for the GUI, and license() for information.| > -- > > even though within the interpreter the function "version()" correctly > returns 2.8.13. > > sage: version() > 'SAGE Version 2.8.13, Release Date: 2007-11-21' > > Details: OS X, version 10.4.10/Core Duo 2/original version of sage > 2.7.1, upgraded several times. > > Best, > > Nathan > > > > > > -- 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://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: [Sage-announce] SAGE-2.8.13 released!
On Nov 23, 2007 8:18 PM, Justin C. Walker <[EMAIL PROTECTED]> wrote: > > This is all really weird since I fully tested building Sage-2.8.13 on > > OSX 10.4 intel and OSX 10.5 intel (both core duo and Xeon), > > and didn't have any problems at all. So the problem could > > be with... ... > I reported this during one of the "alpha/rc" cycles (2.8.10.alpha?, I > think), and tried the "move /usr/local out of the way" trick. That I see! The problem was definitely in 2.8.13.rc0 I think, because I found it then, and then somebody subsequently fixed it as a result, i.e., the problem is fixed in 2.8.13 (but not before). > > Something I've wondered about for a while -- is there a bulletproof > > way to ignore /usr/local/ during build of Sage? > > I think 'gcc' has flags that let you force the lookup paths for > "system-supplied" includes and libs. I'll see if I can track that down. That would be very very interesting indeed. -- William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Maple?
On Nov 22, 2007 11:16 AM, a concerned Maple user and AMS reader wrote: > William, > > Most Maple source code is open for inspection, as well as modification and > extension. Hence the code is "open source". Maplesoft sometimes uses that > term, I and believe they are correct in doing so. Having OSI attempt to > redefine the common English usage of words does not mean that they have done > so. In the Notices article I make it clear I'm using the definition on the OSI web page. It is irrelevant whether OSI is attempting to redefine a word -- I made the definitions of the words I was using in the article clear. > There are two types of Maple code that are not open source (AFAIK): kernel > code and external code written by others. The kernel code is mostly > low-level stuff, such as for loops and garbage collection; the amount of > this code is tiny, and the code usually does things that are obvious (just > written in C, for speed), and reliability does not seem to be much of an > issue. The external code is stuff like NAG routines. ... And Faugere's F4 and the Maple GUI (?), which is so far the only code that comes with Maple that I've ever really want to look at. And I'm scared to look at other Maple code anyways due to the license statement, as discussed before in this thread. > Many of the things done by NAG routines are also done by GSL [GNU Scientific > Library], and it would be easy to extend Maple to call GSL. So suppose that > Maplesoft supplied two versions of some routines: an open-source GSL-based > routine and a NAG-based routine. If Maple provided anythig GSL-based, then all of Maple would have to be GPL'd because GSL is GPL'd, and that would make Maple a derived work of a GPL'd program (note that GSL is not LGPL'd like GMP). This would mean that people could freely share Maple, which would destroy Maplesoft's entire business model. Thus building Maple's numerical libraries on GSL is not an option for Maple. > I suspect that almost everyone would use > the NAG-based routines, because NAG's reputation is much higher. In other > words, although users would prefer open source, given the choice here, most > would choose the approach that Maplesoft took. What constructive > recommendation would you give Maplesoft (or are you adopting with Sage)? > Duplicating NAG quality is extremely difficult. So I don't agree that it is > valid to criticize Maple for relying on NAG, if a better approach cannot be > recommended. Maplesoft made the only choice they can given their traditional software development model. I can suggest no alternatives. > What constructive > recommendation would you give Maplesoft (or are you adopting with Sage)? Sage includes Scipy and GSL for numerical computation. Scipy (http://www.scipy.org/) is about 450,000 lines of Python, C, and Fortran, which has been under development for nearly a decade, and aims to provide functionality similar to Matlab but for Python scientific computing users. Much Scipy development is generously supported by a successful private scientific computing company called Enthought. The approach we have taken in Sage is to ship Scipy with Sage, improve integration between Sage and Scipy, and also use GSL to support some numerical functionality in Sage (since GSL is very well documented and easy to use from Cython=Compiled Python). > Your opinion piece states "If the program is proprietary, [the open > inspection and ability to use all the computer code on which the result > depends] is not possible". That may be technically true, because of the > word "all", but it is misleading in the case of Maple. Yet that statement > was the main point of your piece! > > Maple code is not free, though; e.g. copying code from Maple would be > illegal and unethical. My statement is right on target in the case of Maple, and you just explained why above. > I think that it would be great if there were a > completely free system that could replace Maple/Mathematica, though I > suspect that is a multi-decade project. I also think it would be great, and agree that it is a multi-decade project. Fortunately that project started in the 1960s, and five millions lines of code and 4 decades later we have finally started to get somewhere. > Even so, the route of the Sage > project confuses me. There are GNU projects that are working in similar > directions: GMP, JACAL, and perhaps others (as well as GSL). * GMP is part of Sage. Every copy of Sage includes GMP, often built with patches that make it much faster than "official" versions of GMP. * JACAL -- never heard of it before, but looking at http://www-swiss.ai.mit.edu/~jaffer/jacal_toc.html for a few seconds it appears to be a reinventing-the-wheel sort of project... * GSL, like GMP, is part of Sage. > Shouldn't Sage be part of GNU? Technically I view "being part of GNU" as meaning (1) renaming the project to GNU Sage, (2) signing over copyright of everything we do to the Free Software Foundat
[sage-devel] Re: singular factorize *slow*
On Nov 23, 2007 2:41 PM, Ondrej Certik <[EMAIL PROTECTED]> wrote: > > Wall time: 0.02 > > sage: time w = tt.Factorization() > > CPU times: user 0.00 s, sys: 0.00 s, total: 0.00 s > > Wall time: 0.01 > > sage: time w = tt.Factorization() > > CPU times: user 0.00 s, sys: 0.00 s, total: 0.00 s > > Wall time: 0.05 > > > > By the way, trac #1250 has a patch so at least control-c works when > > factoring. > > > > Anyway, this really really really bugs me. > > It's funny - this doesn't bug me at all. But that Mathematica can do > limits and integrals and differential equations that maxima+sympy > together cannot, that really bugs me. Good. That's why it's so important that we're both heavily involved! Stay very annoyed. -- William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: singular factorize *slow*
On Nov 23, 2007 7:15 AM, Joel B. Mohler <[EMAIL PROTECTED]> wrote: > > On Fri, Nov 23, 2007 at 07:08:02AM -0800, mabshoff wrote: > > Hello Joel, > > > > > I'm also posting this > > > athttp://www.singular.uni-kl.de/forum/viewforum.php?f=10 > > > as soon as I get registered on the forum. > > > > > > > You don't need to be registered at the Singular forum in order to be > > able to post. The 3-0-4 tarball is already up on the Singular website, > > so you might want to try your luck with that version first. I think it > > is unlikely that the new release will fix the issue, but it is worth a > > try. > > Oops, I failed to mention that it was the vanilla 3-0-4 that I actually tested > it with (I installed it outside of sage). And, yes, they allow anonymous > posts, but there's generally conveniences to being registered (like > notification of replies and what-not). > > http://singular.mathematik.uni-kl.de/forum/viewtopic.php?t=1652 > > Singular errors or not, Singular is really pitiful at this problem compared to Magma -- which is what we should have as a baseline for solid robust behavior in this case: In SAGE (via libsingular) on a 2.33Ghz laptop: sage: R. = QQ[]; t = -p10^170*X1^10*X2^10+p10^130*X1^10*X2^5+p10^130*X1^5*X2^10-p10^90*X1^5*X2^5+p10^80*X1^5*X2^5-p10^40*X1^5-> sage: time a = t.factor() CPU times: user 10.80 s, sys: 8.91 s, total: 19.71 s sage: time a = t.factor() CPU times: user 3.34 s, sys: 2.39 s, total: 5.73 s sage: time a = t.factor() CPU times: user 21.52 s, sys: 15.10 s, total: 36.62 s Now compare with Magma, which is the sort of performance we want: sage: tt = magma(t) sage: time w = tt.Factorization() CPU times: user 0.00 s, sys: 0.00 s, total: 0.00 s Wall time: 0.02 sage: time w = tt.Factorization() CPU times: user 0.00 s, sys: 0.00 s, total: 0.00 s Wall time: 0.02 sage: time w = tt.Factorization() CPU times: user 0.00 s, sys: 0.00 s, total: 0.00 s Wall time: 0.01 sage: time w = tt.Factorization() CPU times: user 0.00 s, sys: 0.00 s, total: 0.00 s Wall time: 0.05 By the way, trac #1250 has a patch so at least control-c works when factoring. Anyway, this really really really bugs me. William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Banner not updated
On Nov 22, 2007 7:59 PM, Nathan Dunfield <[EMAIL PROTECTED]> wrote: > > Try doing > > > > sage: hg_scripts.merge() > > sage: hg_scripts.commit() > > > > and answer any interactive questions. ... > If I follow the suggestion of .merge() I get > > sage: hg_scripts.update() > cd "/pkgs/sage-2.7.1/local/bin" && hg update > abort: untracked local file 'sage-wiki' differs from remote version See where it says "abort: ". It's aborting at that point. If you do rm SAGE_ROOT/local/bin/sage-wiki then do hg_scripts.update() again, it won't abort for that reason and you'll get the new hg repo for scripts merged in. -- William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: [Sage-announce] SAGE-2.8.13 released!
On Nov 23, 2007 3:58 PM, Justin C. Walker <[EMAIL PROTECTED]> wrote: > > Hello folks, > > > > Sage 2.8.13 has been released. Sources are and binaries should soon be > > available at > > > > http://sagemath.org/download.html > > I did a full build of 2.8.13 on two systems: > > Mac OS X/10.4.11: Dual Quad-Core Xeon > Mac OS X/10.5.1: Core Duo > > Problems on both: > 10.5.1: blow-up in Flint >ld: duplicate symbol ___gmpz_abs in test-support.o and fmpz_poly- > test.o > > 10.4.11: blow-up in cddlib ("/usr/local" contamination) >/usr/libexec/gcc/i686-apple-darwin8/4.0.1/ld: Undefined symbols: >___gmpq_init >... This is all really weird since I fully tested building Sage-2.8.13 on OSX 10.4 intel and OSX 10.5 intel (both core duo and Xeon), and didn't have any problems at all. So the problem could be with (1) 10.5.1 versus 10.5 -- unlikely, since this wouldn't even touch the compilers (but I'll try upgrading right now and see if I can replicate the problem there), (2) Us having different versions of Xcode: I'm using gcc version 4.0.1 (Apple Inc. build 5465) on my machines, or (3) you having something funny in your /usr/local/. Please report your "gcc -v" version. Also maybe you have all kinds of stuff in /usr/local? Could you try temporarily renaming it, redoing the build, just to see if that's the problem? Something I've wondered about for a while -- is there a bulletproof way to ignore /usr/local/ during build of Sage? William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: request for testing of new flint.spkg
On Nov 24, 2007 8:36 AM, Joel B. Mohler <[EMAIL PROTECTED]> wrote: > > On Friday 23 November 2007 22:46, mabshoff wrote: > > Bill has fixed a couple of bugs in flint since r1072 that were corner > > cases that only happened on Core Duos, so I have updated the spkg to > > r1075. It is available at > > > > http://sage.math.washington.edu/home/mabshoff/flint-0.9-r1075.spkg > This is all with the version with a memory leak, i.e. posted above: * On OSX 10.4 Intel (a mac mini I think): Darwin leibniz.math.harvard.edu 8.10.1 Darwin Kernel Version 8.10.1: Wed May 23 16:33:00 PDT 2007; root:xnu-792.22.5~1/RELEASE_I386 i386 i386 gcc version 4.0.1 (Apple Computer, Inc. build 5367) All tests passed real11m10.282s user8m1.407s sys 0m33.591s * On a Xeon 32-bit Ubuntu Linux machine: All tests passed real12m3.832s user5m45.310s sys 0m23.857s Linux debian32 2.6.18-4-686 #1 SMP Mon Mar 26 17:17:36 UTC 2007 i686 GNU/Linux gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21) * Sparc Solaris 10 -- flint doesn't build, since maybe u_int16_t doesn't exist or isn't properly included: SunOS abel 5.10 Generic_125100-10 sun4u sparc SUNW,Sun-Fire-V440 gcc version 4.1.1 gcc -std=c99 -I/hearsthome/home/math1/was/solaris10/sage-2.8.13.rc2/local/include/ -I/hearsthome/home/math1/was/solaris10/sage-2.8.13.rc2/local/include -I/hearsthome/home/math1/was/solaris10/sage-2.8.13.rc2/local/include -funroll-loops -fexpensive-optimizations -fPIC -funroll-loops -O3 -c fmpz_poly.c -o fmpz_poly.o fmpz_poly.c: In function [EMAIL PROTECTED]@~Y: fmpz_poly.c:169: error: [EMAIL PROTECTED]@~Y undeclared (first use in this function) fmpz_poly.c:169: error: (Each undeclared identifier is reported only once fmpz_poly.c:169: error: for each function it appears in.) fmpz_poly.c:169: error: expected [EMAIL PROTECTED];[EMAIL PROTECTED] before [EMAIL PROTECTED]@~Y fmpz_poly.c:222: error: [EMAIL PROTECTED]@~Y undeclared (first use in this function) fmpz_poly.c:222: error: expected [EMAIL PROTECTED];[EMAIL PROTECTED] before [EMAIL PROTECTED]@~Y make: *** [fmpz_poly.o] Error 1 gcc -std=c99 -I/hearsthome/home/math1/was/solaris10/sage-2.8.13.rc2/local/include/ -I/hearsthome/home/math1/was/solaris10/sage-2.8.13.rc2/local/include -I/hearsthome/home/math1/was/solaris10/sage-2.8.13.rc2/local/include -funroll-loops -fexpensive-optimizations -fPIC -funroll-loops -O3 -c mpn_extras-test.c -o mpn_extras-test.o gcc -std=c99 -I/hearsthome/home/math1/was/solaris10/sage-2.8.13.rc2/local/include/ -I/hearsthome/home/math1/was/solaris10/sage-2.8.13.rc2/local/include -I/hearsthome/home/math1/was/solaris10/sage-2.8.13.rc2/local/include -funroll-loops -fexpensive-optimizations -fPIC -funroll-loops -O3 -c fmpz_poly.c -o fmpz_poly.o fmpz_poly.c: In function [EMAIL PROTECTED]@~Y: fmpz_poly.c:169: error: [EMAIL PROTECTED]@~Y undeclared (first use in this function) fmpz_poly.c:169: error: (Each undeclared identifier is reported only once fmpz_poly.c:169: error: for each function it appears in.) fmpz_poly.c:169: error: expected [EMAIL PROTECTED];[EMAIL PROTECTED] before [EMAIL PROTECTED]@~Y fmpz_poly.c:222: error: [EMAIL PROTECTED]@~Y undeclared (first use in this function) fmpz_poly.c:222: error: expected [EMAIL PROTECTED];[EMAIL PROTECTED] before [EMAIL PROTECTED]@~Y make: *** [fmpz_poly.o] Error 1 Error building flint shared library. * OSX 10.4 PPC -- works fine, all tests pass. --~--~-~--~~~---~--~~ 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://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: request for testing of new flint.spkg
On Nov 24, 2007 10:18 AM, mabshoff <[EMAIL PROTECTED]> wrote: > > Hello Bill, > > > * Sparc Solaris 10 -- flint doesn't build, since maybe u_int16_t > > doesn't exist or > > isn't properly included: > > this is because Solaris 9 isn't C99 conform. I have a fix for this (a > couple defines) that we also use for Sage in general. > On Solaris 10 > flint should build, but I haven't checked. There already is a ticket > about this, see #1178. I was building on Solaris 10 not solaris 9 (see below): > > SunOS abel 5.10 Generic_125100-10 sun4u sparc SUNW,Sun-Fire-V440 > > gcc version 4.1.1 > > > > gcc -std=c99 > > -I/hearsthome/home/math1/was/solaris10/sage-2.8.13.rc2/local/include/ > > -I/hearsthome/home/math1/was/solaris10/sage-2.8.13.rc2/local/include > > -I/hearsthome/home/math1/was/solaris10/sage-2.8.13.rc2/local/include > > -funroll-loops -fexpensive-optimizations -fPIC -funroll-loops -O3 > > -c fmpz_poly.c -o fmpz_poly.o > > fmpz_poly.c: In function [EMAIL PROTECTED]@~Y: > > fmpz_poly.c:169: error: [EMAIL PROTECTED]@~Y undeclared (first use in > > this function) > > fmpz_poly.c:169: error: (Each undeclared identifier is reported only once > > fmpz_poly.c:169: error: for each function it appears in.) > > fmpz_poly.c:169: error: expected [EMAIL PROTECTED];[EMAIL PROTECTED] before > > [EMAIL PROTECTED]@~Y > > fmpz_poly.c:222: error: [EMAIL PROTECTED]@~Y undeclared (first use in this > > function) > > fmpz_poly.c:222: error: expected [EMAIL PROTECTED];[EMAIL PROTECTED] before > > [EMAIL PROTECTED]@~Y > > make: *** [fmpz_poly.o] Error 1 > > gcc -std=c99 > > -I/hearsthome/home/math1/was/solaris10/sage-2.8.13.rc2/local/include/ > > -I/hearsthome/home/math1/was/solaris10/sage-2.8.13.rc2/local/include > > -I/hearsthome/home/math1/was/solaris10/sage-2.8.13.rc2/local/include > > -funroll-loops -fexpensive-optimizations -fPIC -funroll-loops -O3 > > -c mpn_extras-test.c -o mpn_extras-test.o > > gcc -std=c99 > > -I/hearsthome/home/math1/was/solaris10/sage-2.8.13.rc2/local/include/ > > -I/hearsthome/home/math1/was/solaris10/sage-2.8.13.rc2/local/include > > -I/hearsthome/home/math1/was/solaris10/sage-2.8.13.rc2/local/include > > -funroll-loops -fexpensive-optimizations -fPIC -funroll-loops -O3 > > -c fmpz_poly.c -o fmpz_poly.o > > fmpz_poly.c: In function [EMAIL PROTECTED]@~Y: > > fmpz_poly.c:169: error: [EMAIL PROTECTED]@~Y undeclared (first use in > > this function) > > fmpz_poly.c:169: error: (Each undeclared identifier is reported only once > > fmpz_poly.c:169: error: for each function it appears in.) > > fmpz_poly.c:169: error: expected [EMAIL PROTECTED];[EMAIL PROTECTED] before > > [EMAIL PROTECTED]@~Y > > fmpz_poly.c:222: error: [EMAIL PROTECTED]@~Y undeclared (first use in this > > function) > > fmpz_poly.c:222: error: expected [EMAIL PROTECTED];[EMAIL PROTECTED] before > > [EMAIL PROTECTED]@~Y > > make: *** [fmpz_poly.o] Error 1 > > Error building flint shared library. > > > > * OSX 10.4 PPC -- works fine, all tests pass. > > > > -- 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://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: request for testing of new flint.spkg
On Nov 24, 2007 4:24 PM, Paul Hsieh <[EMAIL PROTECTED]> wrote: > > Fortunately, it's close enough to the MIT license, that if you pointed > > these flaws out to him, he might change. > > Yeah, I did fly by night thing. What I wanted was to put companies > like SCO into legal trouble if they attempted to claim they "owned" > pstdint.h just because they happened to be using it and claiming > someone else did and therefore was engaging in copyright > infringement. (Like they did with the system V malloc implementation > and Linux.) > > I am considering just dual licensing everything just GPL v2.1 and BSD > though I guess I should look at the MIT license. Basically I would > just like the file to be widely enough used that I should be able to Many thanks for being so helpful! I don't personally see a reason to dual-license under both GPL and BSD, since anything BSD licensed can be used in any GPL project. Technically, the GPL license is just "BSD + extra restrictions". I would chose BSD over MIT, since BSD is more popular and widely known. (Just make sure to use the modified BSD rather than the original version.) > take credit for it just enough that people would generally know that I > did it (and get a few kudos for it), without that itself being too > much of a restriction, and for people not to use it in an abusive way. I'm not sure what to say about this, except that unless you are the copyright holder no matter which of the above licenses you use. -- William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: sage - good stuff
On Nov 24, 2007 3:22 AM, Hans Fangohr <> wrote: > I have just come across your SAGE project, and just wanted to > congratulate on it (don't waste time to reply). I, too, believe that > Python is the right interface for this kind of thing. (So we have > developed a big numerical simulation (mostly OCaml code) with a front > end in Python (nmag.soton.ac.uk) and I also use Python (numpy, scipy, > visual) for teaching numeric computation.) I will certainly consider > switching my teaching materials to Sage after having studied it in > more detail. Please let me know what you find that you don't like when you consider Sage more carefully. We very much want Sage to be an excellent friendly piece of software for students, but of course much work remains to be done. > Once more: the project looks very good, is needed by many people, and > I do know it is _a lot_ of work to push something like this through; > well done! Thanks! By the way, your Python library http://www.soton.ac.uk/~juzi/software_povraython.html looks very interesting, and might make sense for inclusion in Sage. How does it work? Does it write a scene description file and call povray? -- William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: sage - good stuff
Ondrej: > > Povray is not open source (so it has to be in Debian non-free), so I > > don't think SAGE should depend on or use povray. Ondrej, thanks for sharing your opinion. Boothby: > Sage doesn't need to distribute / depend upon non-free software. > However, it does have interfaces to lots of non-free software, like Magma, > Mathematica, etc. +1 A major goal of Sage has always been to: unify existing mathematical-related software, both free and commercial. Though it is annoying that the license for povray is not GPL-compatible, povray is still very interesting software, and making it easy for people to combine the functionality of Povray with Sage just makes sense. The Goals for SAGE: (1) Provide a cross-platform distribution of free open source mathematical software that is easy for anybody to build, modify, etc. (2) Provide a new library of functionality that ties (1) together, and functionality-wise provides a viable free alternative to Maple, Mathematica, Matlab, and Magma. (3) Provide interfaces to a huge range of existing mathematical software. -- William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] pyx
Hello, Some of the Sage developers are considering including Pyx (http://pyx.sourceforge.net/) in Sage (http://sagemath.org).One issue is that I think Pyx is currently licensed GPL v2 only. Unfortunately Sage will soon have to start including several new versions of GNU programs such as GMP, GNUTLs, GSL, etc., and these are all licensed under "GPL v3 or greater". Also PolyBoRi (http://polybori.sourceforge.net/) will soon be in Sage, and it is also "GPL v3" licensed. Unfortunately, it is a copyright violation to combine GPL v2 and GPL v3 software together and redistribute it, since the FSF decided to make GPL v3 be GPL v2 incompatible. So, I'm curious whether the Pyx team has any plans to change their license to "GPL v2 or v3" or to "GPL v2 or greater"? This will help us in deciding whether including Pyx in Sage is an option for us. Thanks! And thanks again for a great Python library. -- 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://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: [IPython-dev] Fwd: [sage-support] Re: install problem with pickleshare
On Nov 24, 2007 8:29 PM, Fernando Perez <[EMAIL PROTECTED]> wrote: > On Oct 17, 2007 11:47 PM, Ville M. Vainio <[EMAIL PROTECTED]> wrote: > > Perhaps this is due to sys.path not containing Extensions yet for some > > reason (I'm not aware why this is not a problem on my box). > > > > To get over it quickly, change line: > > > > > python2.5/site-packages/IPython/iplib.py", line 58, in > > > import pickleshare > > > > > > to: > > > > from IPython.Extensions import pickleshare. > > Mmh, I hadn't realized this bug hadn't been fixed in trunk. I've just > committed the fix as r2871. I tried updating Sage to this version of Ipython, and when I start sage it just immediately exits: rank4:~ was$ sage -- | SAGE Version 2.8.13, Release Date: 2007-11-21 | | Type notebook() for the GUI, and license() for information.| -- rank4:~ was$ I.e., I get immediately dumped to the prompt. Do you have any idea why? (I haven't tried at all to figure out why.) If anybody wants to try this, just do wget http://sage.math.washington.edu/home/was/tmp/ipython-0.8.1.r2871.spkg sage -f ipython-0.8.1.r2871.spkg then run sage. To restore the previous version of Ipython, just do sage -f ipython-0.8.1.p1.spkg -- William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: [IPython-dev] Fwd: [sage-support] Re: install problem with pickleshare
On Nov 24, 2007 11:22 PM, William Stein <[EMAIL PROTECTED]> wrote: > > On Nov 24, 2007 8:29 PM, Fernando Perez <[EMAIL PROTECTED]> wrote: > > On Oct 17, 2007 11:47 PM, Ville M. Vainio <[EMAIL PROTECTED]> wrote: > > > Perhaps this is due to sys.path not containing Extensions yet for some > > > reason (I'm not aware why this is not a problem on my box). > > > > > > To get over it quickly, change line: > > > > > > > python2.5/site-packages/IPython/iplib.py", line 58, in > > > > import pickleshare > > > > > > > > > to: > > > > > > from IPython.Extensions import pickleshare. > > > > Mmh, I hadn't realized this bug hadn't been fixed in trunk. I've just > > committed the fix as r2871. > > I tried updating Sage to this version of Ipython, and > when I start sage it just immediately exits: I should add that sage -ipython which runs Ipython directly (without sage preparsing, etc.), works fine, as does import sage.all: rank4:standard was$ sage -ipython Python 2.5.1 (r251:54863, Nov 2 2007, 12:50:27) Type "copyright", "credits" or "license" for more information. IPython 0.8.2.svn.r2848 -- An enhanced Interactive Python. ? -> Introduction and overview of IPython's features. %quickref -> Quick reference. help -> Python's own help system. object? -> Details about 'object'. ?object also works, ?? prints more. In [1]: from sage.all import * In [2]: 2/3 Out[2]: 0 In [3]: ZZ(2) / ZZ(3) Out[3]: 2/3 > > rank4:~ was$ sage > -- > | SAGE Version 2.8.13, Release Date: 2007-11-21 | > | Type notebook() for the GUI, and license() for information.| > -- > rank4:~ was$ > > > I.e., I get immediately dumped to the prompt. Do you > have any idea why? (I haven't tried at all to figure out why.) > > If anybody wants to try this, just do > > wget http://sage.math.washington.edu/home/was/tmp/ipython-0.8.1.r2871.spkg > sage -f ipython-0.8.1.r2871.spkg > > then run sage. > > To restore the previous version of Ipython, just do > > sage -f ipython-0.8.1.p1.spkg > > -- 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://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: pyx
On Nov 25, 2007 4:06 AM, Ondrej Certik <[EMAIL PROTECTED]> wrote: > > On Nov 25, 2007 5:19 AM, William Stein <[EMAIL PROTECTED]> wrote: > > > > Hello, > > > > Some of the Sage developers are considering including Pyx > > (http://pyx.sourceforge.net/) > > in Sage (http://sagemath.org).One issue is that I think Pyx is > > currently licensed GPL v2 only. > > Unfortunately Sage will soon have to start including several new > > versions of GNU programs > > such as GMP, GNUTLs, GSL, etc., and these are all licensed under "GPL > > v3 or greater". > > Also PolyBoRi (http://polybori.sourceforge.net/) will soon be in Sage, > > and it is also "GPL v3" > > licensed. Unfortunately, it is a copyright violation to combine GPL > > v2 and GPL v3 software > > together and redistribute it, since the FSF decided to make GPL v3 be > > If it is true that SAGE is legaly unable to include GPL v2 only and > GPL v3 only programs, not modifying them, not relicensing them, but > just > calling them from Python, We're not talking about just calling them from Python. If you take a substantial GPL v2 only Python library, take another substantial GPL v3 Python library, say, then install them into Python, and redistribute the result, you're creating a derived work which according to GPL v2 must be GPL v2, but according to GPL v3 must also be GPL v3. Since v2 and v3 are mutually incompatible, this is a license violation. > then FSF did a terrible move, against the > free software and against the end users, which GPL is supposed to > protect. Yes, FSF did indeed make a terrible move. It seriously pisses me off. Note that SAGE has *not* yet included any GPL v3 software yet -- if we wanted to "take a stand against FSF though", it would require somebody forking GSL, GMP, GNUtls, etc., etc..; I don't think anybody is seriously interested in doing that. -- William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Talk about SAGE at Les Trophees du Libre 2007 competition
On Nov 25, 2007 11:52 AM, David Roe <[EMAIL PROTECTED]> wrote: > I have to agree. The slide where you list p-adic numbers, p-adic > L-functions and p-adic height pairings kinda jumped out at me. While I'm > obviously interested in that kind of stuff, it won't appeal as much to a > non-specialist audience. Definitely completely delete that stuff. I also recently gave a talk (at an AMS meeting in Albuqueque), and it is critical to *not* emphasize these sorts of things too much, as I learned the hard way. > One might argue that as things implemented natively in Sage, these will > count toward the innovation category. Perhaps, but then you should > emphasize that aspect, and tone down the words that the judges will have > never heard before (ie p-adics). And I think Philippe does have a point > that Sage does a lot in the innovation category that is more widely > applicable. Yes. Like the notebook, interfaces to other programs such as Fortran, Lisp, PARI, etc., using Python but making it usable for mathematics via preparsing, very nice 2d graphics, etc. william --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Sage: preparsing R. and ticket 1135
On Nov 25, 2007 12:13 PM, Nick Alexander <[EMAIL PROTECTED]> wrote: > Hi William, > > I've been thinking about > > http://sagetrac.org/sage_trac/ticket/1135 > > for about 2 days now. I can think of no obvious way to handle the > following three cases: > > R. = PolynomialRing(ZZ) # names should be added > R. = PolynomialRing(ZZ, 'x, y') # names should not be added > R. = PolynomialRing(ZZ, 'a, b') # names should not be added > > smoothly. In general, deciding whether the caller has included names > is equivalent to the halting problem. Due to Python's line-as-block > syntax, preprocessing *cannot add newlines*, making it essentially > impossible to add try/except blocks. (I've tried -- if it works at > the prompt, it fails in doctests.) > > What I think we should do is process "R. = PolynomialRing(ZZ)" to > > with __default_var_context('x, y'): R = PolynomialRing(ZZ); (x, y, ) > = R._first_ngens(2); > > And then have normalize_names in parent_gens.pyx check to see if > there is a default var context in place when creating a ring with no > names specified. This would let "R. = PolynomialRing(ZZ, 'a, > b')" be handled uniformly. > > The only reason to use with: rather than just assignment is that it > is possible to guarantee default variable names do not remain in > scope too long. > > Thoughts? > Nick > > PS. I'll try a quick implementation soon, but I don't want to waste > time if there is some reason this is a bad idea. If this works I think it would be an extremely good idea. I can't see a problem with it yet. Though implementing it could suggest problems. It also relates to some people's desire to have a mechanism for having a default variable name, e.g., always use "x" or "x0,x1,x2,..." if nothing is specified. -- William -- William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: [Axiom-developer] Re: AMS Notices: Open Source Mathematical Software
On Nov 25, 2007 2:14 PM, C Y <[EMAIL PROTECTED]> wrote: > >> Third, even if the NSF funded SAGE, how would those funds benefit the > >> various subprojects like Axiom? Open source is mostly volunteer work > >> done in "spare time". While it is amusing to daydream of being paid to > >> develop open source computational mathematics on a full time basis, it > >> seems unlikely that this could lead to more than just small > >> grants. The expertise and continuity needed to do research work > >> requires longer term funding. > > > > Great questions and comments. There aren't easy answers. > > One possibility is selling "support"... which could bring in > > money to support people who are out of country. > > One possibility I've wondered about for a while would be getting a > number of colleges to simultaneously agree to pool small amounts of > money into an effort to support a couple of developers working on these > programs - i.e. spreading the cost over many institutions rather than > just having one or two carry all of the cost. Start up a small > nonprofit or some such to serve as the organization in question. Surely > if grant money can sometimes pay for commercial software it could go to > pay for such an arrangement, particularly if the software was all > guaranteed to be open. > > Is this something someone could set up with any hope of success? I think something like this could be successful. Actually, Magma has been a very successful example of almost exactly this during the last 10 years. They are a nonprofit, they get a pool of small amounts of money from a few hundred (?) sites, and as a result hire about 5-10 fulltime people per year to work on Magma. The only difference is that Magma is not open. But it is a useful successful real-life example, which should not be ignored: http://magma.maths.usyd.edu.au/magma/ William -- William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: [Axiom-developer] Re: AMS Notices: Open Source Mathematical Software
On Nov 25, 2007 7:54 PM, root <[EMAIL PROTECTED]> wrote: > >> >> Third, even if the NSF funded SAGE, how would those funds benefit the > >> >> various subprojects like Axiom? Open source is mostly volunteer work > >> >> done in "spare time". While it is amusing to daydream of being paid to > >> >> develop open source computational mathematics on a full time basis, it > >> >> seems unlikely that this could lead to more than just small > >> >> grants. The expertise and continuity needed to do research work > >> >> requires longer term funding. > >> > > >> > Great questions and comments. There aren't easy answers. > >> > One possibility is selling "support"... which could bring in > >> > money to support people who are out of country. > >> > >> One possibility I've wondered about for a while would be getting a > >> number of colleges to simultaneously agree to pool small amounts of > >> money into an effort to support a couple of developers working on these > >> programs - i.e. spreading the cost over many institutions rather than > >> just having one or two carry all of the cost. Start up a small > >> nonprofit or some such to serve as the organization in question. Surely > >> if grant money can sometimes pay for commercial software it could go to > >> pay for such an arrangement, particularly if the software was all > >> guaranteed to be open. > >> > >> Is this something someone could set up with any hope of success? > > > >I think something like this could be successful. Actually, Magma has > >been a very successful example of almost exactly this during the last > >10 years. They are a nonprofit, they get a pool of small amounts > >of money from a few hundred (?) sites, and as a result hire about > >5-10 fulltime people per year to work on Magma. The only difference > >is that Magma is not open. But it is a useful successful real-life > >example, which > >should not be ignored: > > http://magma.maths.usyd.edu.au/magma/ > > > My experience at schools has been that money is a scarce and very > closely guarded resource. Yep. But schools do buy software... (they really don't like to so much but they do it). > At one school, over 50% of the grant money > disappeared into the "overhead" at the provost office before the > money ever appeared. At every university I have taught at (UCSD, Harvard, Washington), the overhead that the university gets on any grant money I have is about 55%. That is, if I would like to receive $1000 from the NSF, then the NSF has to give me $1550. This additional $550 is used by the university to pay support staff, build buildings, roads, whatever. The overhead rate varies from university to university, since it is negotiated with the NSF. > Either the initial grant had principal investigators at different > schools (or one of the PIs moved), or a visiting scientist arrangement > allowed someone on leave to join the project for a while, otherwise > I don't recall other arrangements. However, my experience is quite > limited. I'm not sure what you're saying here, but at least with NSF funds a researcher can pay any US citizen (or person with a soc security number) working anywhere in the US some money to work on a project with me. They don't have to be officially listed on a grant application or at my university. That said, the grant budget would have to list that somebody somewhere would be getting paid by the grant to do the specified work (one can't spend NSF money they've received on anything they want -- it has to be explicitly budgeted first). > On the federal front, I believe the funding organizations are only > capable of making grants to other organizations that have departments > that handle funds, requiring the overhead. I think that's correct. > But giving money to open > source is like giving money to the homeless. Even though 100% of it > will go to support direct needs, it appears to disappear. I'm not sure I follow. In any case, here is a very concrete example of the NSF funding open source: http://www.nsf.gov/awardsearch/showAward.do?AwardNumber=0713225 The money will go to pay for a postdoc for three years at UW (Clement Pernet for the first 2 years), whose main work will be on open source software. (I can't emphasize how much work it was to get the above grant...) > Corporate funding has mostly (except TI?) shifted to more dedicated > businesses (eg. Wolfram, Maplesoft, etc.) and I've already mentioned > that I believe these will end. The question is, what will replace > them and how will computational mathematics be impacted? I have no idea. I look forward to any thoughts you might have on this. I have basically had no successful experience getting any funding for open source math software from corporate sources. That's where you've done much better than me -- getting Scratchpad opened is in itself getting a lot of "funding" in some sense. > I am of two minds about the whole funding issue. > > On the one hand, funding would make i
[sage-devel] Re: patch for SymPy <--> SAGE conversion, please review
On Nov 25, 2007 6:33 PM, David Roe <[EMAIL PROTECTED]> wrote: > Addition not commuting there bothers me. I can see why it's happening: a > SymPy object doesn't call into the coercion system. One possible solution > is to have coercion map sage objects into sympy, so both s+o and o+s (in > line 134 and 135 of test_sympy.py) would be SymPy objects. Is SymPy and the > SymbolicRing canonically isomorphic? Can every SymbolicRing element be cast > into SymPy? I don't think so, since probably sage/maxima have special functions sympy doesn't. And even if it could be, the functions provided by SymPy are different than the ones provided by SymbolicRing. If sympy('x') + x and x + sympy('x') are totally different in Sage I will be unhappy about that.Either the result has to always be in SymPy or always in Sage or we have to get an error and request that the user explicitly do a coercion. We have to decide on a canonical map in exactly one direction, and I prefer SymPy ---> SymbolicRing, just because SymbolicRing is more native in Sage, and probably could be improved so it would support any SymPy expression (yes -- I know this isn't true now, unfortunately). Now that I read through #1189 patch, I'm uncomfortable with return _verify_canonical_coercion_c(x,y) The function _verify_canonical_coercion_c is supposed to be like assert(parent(x) is parent(y)) it's *never* supposed to be called when the parents are different -- if it is, that means there is a bug. However, you're using it to test whether the parents are different, and if so do some other behavior (i.e., eventually raise a TypeError). So that makes me nervous. It would be better to just directly do a call to the have_same_parent function, like in the implementation of _verify_canonical_coercion_c in coerce.pxi. In summary, the way the code is written now will work fine now, but seems a little abusive. --~--~-~--~~~---~--~~ 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://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] doctest timing
Hi, Willem Jan Palenstijn created a clever system for timing each and every doctest. This is now trac #1276: http://sagetrac.org/sage_trac/ticket/1276 I hope somebody will try it out and perhaps make it so adding it to sage is as simple as me or Michael applying a patch :-). -- 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://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] flint build failure on itanium linux w/ gcc-4.2.1
C -O3 -c mpn_extras-test.c -o mpn_extras-test.o gcc -std=c99 -I/users/wstein/scratch/sage-2.8.14.rc1/local/include/ -I/users/wstein/scratch/sage-2.8.14.rc1/local/include -I/users/wstein/scratch/sage-2.8 .14.rc1/local/include -funroll-loops -fexpensive-optimizations -fPIC -O3 -c ZmodF_mul.c -o ZmodF_mul.o ZmodF_mul.c:91: warning: C99 inline functions are not supported; using GNU89 ZmodF_mul.c:91: warning: to disable this warning use -fgnu89-inline or the gnu_inline function attribute ZmodF_mul.c:616: warning: C99 inline functions are not supported; using GNU89 ZmodF_mul.c:695: warning: C99 inline functions are not supported; using GNU89 ZmodF_mul.c:857: warning: C99 inline functions are not supported; using GNU89 ZmodF_mul.c: In function '_ZmodF_mul_fft_convolve_modB2': ZmodF_mul.c:656: error: unrecognizable insn: (insn:TI 1048 1533 1038 39 (parallel [ (set (reg:DI 136 f8) (asm_operands:DI ("xma.hu %0 = %2, %3, f0 xma.l %1 = %2, %3, f0") ("=&f") 0 [ (reg:DI 236 f108 [orig:529 in1_lo ] [529]) (reg:DI 235 f107 [orig:543 in2_lo ] [543]) ] [ (asm_input:DI ("f")) (asm_input:DI ("f")) ] ("ZmodF_mul.c") 617)) (set (reg:DI 137 f9) (asm_operands:DI ("xma.hu %0 = %2, %3, f0 xma.l %1 = %2, %3, f0") ("=f") 1 [ (reg:DI 236 f108 [orig:529 in1_lo ] [529]) (reg:DI 235 f107 [orig:543 in2_lo ] [543]) ] [ (asm_input:DI ("f")) (asm_input:DI ("f")) ] ("ZmodF_mul.c") 617)) ]) -1 (nil) (nil)) ZmodF_mul.c:656: internal compiler error: in get_attr_first_insn, at config/ia64/itanium2.md:1839 Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html> for instructions. make: *** [ZmodF_mul.o] Error 1 -- 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://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: flint build failure on itanium linux w/ gcc-4.2.1
On Nov 25, 2007 9:52 PM, Bill Hart <[EMAIL PROTECTED]> wrote: > > This is a compiler bug which we've seen before. On Itanium the build > should not be using the -funroll-loops flag. > > I guess we need to check for ia64 when setting the compiler flags? The culprit is this line, which is now in patches/makefile: CFLAGS = $(INCS) -funroll-loops -fexpensive-optimizations $(FLINT_TUNE) -O3^M On ia64 FLINT_TUNE is properly set to not include funroll-loops, but for some dumb reason -funroll-loops is put in the CFLAGS explicitly in the patches/makefile included in Sage. Changing the above line to CFLAGS = $(INCS) -fexpensive-optimizations $(FLINT_TUNE) -O3^M completely fixes the problem. As an aside, I don't think the .svn subdirectories should be included with with flint-*.spkg. A new flint spkg is at http://sage.math.washington.edu/home/was/tmp/flint-0.9-r1075.p2.spkg And this is trac #1277 William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] R Statistics Package into Sage !?
Hi, Mike Hansen and I have put some work into making it possible to very easily use R from Sage, and are even maybe considering including R in Sage.This is very likely definitely not ready yet, but we have an experimental package that might work. It would be very useful if some people could test building it and report back whether or not it works, and how long it takes to build. All you have to do is: (1) install R: $ time ./sage -f -m r-2.6.1rc.p1 NOTE: If the package name changes, type $ ./sage -experimental |grep r- to see what the new name is. Note that we put "-f -m" above so that the R build directory gets left laying around in spkg/build/. This is because there are still some issues with "make install" and R.Also, R hardcodes install paths in the R command, which is something we'll have to deal with before releasing R as an official optional package. (2) Then to test it out see if this works: sage: import rpy sage: rpy.r.t_test(range(100)) {'alternative': 'two.sided', 'conf.int': [43.743490583064158, 55.256509416935835], 'data.name': '0:99', 'estimate': {'mean of x': 49.5}, 'method': 'One Sample t-test', 'null.value': {'mean': 0.0}, 'p.value': 3.0537578007169442e-31, 'parameter': {'df': 99.0}, 'statistic': {'t': 17.062204191756354}} sage: time rpy.r.t_test(range(100)) CPU times: user 1.97 s, sys: 0.12 s, total: 2.08 s Wall time: 2.09 {'alternative': 'two.sided', 'conf.int': [499433.7061652476, 500565.2938347524], 'data.name': '0:99', 'estimate': {'mean of x': 49.5}, 'method': 'One Sample t-test', 'null.value': {'mean': 0.0}, 'p.value': 0.0, 'parameter': {'df': 99.0}, 'statistic': {'t': 1732.0482094941815}} -- 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://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: flint build failure on itanium linux w/ gcc-4.2.1
On Nov 25, 2007 10:01 PM, Bill Hart <[EMAIL PROTECTED]> wrote: > > Does uname -m yield ia64? If so I'll add this to the latest revision > of FLINT. I think currently it only checks for AIX. Yes, uname -m yields ia64. But the problem is entirely in sloppiness with sage's packaging for itanium (i.e., not at all in your code). -- William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: R Statistics Package into Sage !?
On Nov 25, 2007 10:07 PM, William Stein <[EMAIL PROTECTED]> wrote: > Mike Hansen and I have put some work into making it possible to very > easily use R from Sage, and are > even maybe considering including R in Sage.This is very likely > definitely not ready yet, but we > have an experimental package that might work. It would be very > useful if some people could test > building it and report back whether or not it works, and how long it > takes to build. Responding to myself. R builds on ppc osx10.4 but rpy doesn't yet: gcc -bundle -undefined dynamic_lookup build/temp.macosx-10.3-ppc-2.5/src/rpymodule2061.o build/temp.macosx-10.3-ppc-2.5/src/R_eval2061.o build/temp.macos x-10.3-ppc-2.5/src/io2061.o -L/Users/was/sage-2.8.14.rc1/spkg/build/r-2.6.1rc.p1/src/bin -L/Users/was/sage-2.8.14.rc1/spkg/build/r-2.6.1rc.p1/src/lib -L/ Users/was/sage-2.8.14.rc1/local/lib/gcc-lib/powerpc-apple-darwin6.8/4.0.3/ -L/Users/was/sage-2.8.14.rc1/spkg/build/r-2.6.1rc.p1/src/bin -L/Users/was/sage -2.8.14.rc1/spkg/build/r-2.6.1rc.p1/src/lib -L/Users/was/sage-2.8.14.rc1/local/lib/gcc-lib/powerpc-apple-darwin6.8/4.0.3/ -lR -lf95 -o build/lib.macosx-1 0.3-ppc-2.5/_rpy2061.so /usr/bin/ld: warning can't open dynamic library: libRblas.dylib referenced from: /Users/was/sage-2.8.14.rc1/spkg/build/r-2.6.1rc.p1/src/lib/libR.dylib (c hecking for undefined symbols may be affected) (No such file or directory, errno = 2) /usr/bin/ld: Undefined symbols: _dgemm_ referenced from libR expected to be defined in libRblas.dylib _dsyrk_ referenced from libR expected to be defined in libRblas.dylib _zgemm_ referenced from libR expected to be defined in libRblas.dylib _dcopy_ referenced from libR expected to be defined in libRblas.dylib _dtrsm_ referenced from libR expected to be defined in libRblas.dylib _daxpy_ referenced from libR expected to be defined in libRblas.dylib _dswap_ referenced from libR expected to be defined in libRblas.dylib _ddot_ referenced from libR expected to be defined in libRblas.dylib __g95_sign_r8 referenced from libR expected to be defined in libRblas.dylib _dasum_ referenced from libR expected to be defined in libRblas.dylib _dscal_ referenced from libR expected to be defined in libRblas.dylib _dnrm2_ referenced from libR expected to be defined in libRblas.dylib _drot_ referenced from libR expected to be defined in libRblas.dylib _drotg_ referenced from libR expected to be defined in libRblas.dylib collect2: ld returned 1 exit status error: command 'gcc' failed with exit status 1 real0m3.647s user0m1.476s sys 0m0.957s sage: An error occurred while installing rpy-1.0-rc3-p1 Please email sage-devel http://groups.google.com/group/sage-devel explaining the problem and send the relevant part of of /Users/was/sage-2.8.14.rc1/install.log. Describe your computer, operating system, etc. If you want to try to fix the problem, yourself *don't* just cd to /Users/was/sage-2.8.14.rc1/spkg/build/rpy-1.0-rc3-p1 and type 'make'. Instead type "/Users/was/sage-2.8.14.rc1/sage -sh" in order to set all environment variables correctly, then cd to /Users/was/sage-2.8.14.rc1/spkg/build/rpy-1.0-rc3-p1 (When you are done debugging, you can type "exit" to leave the subshell.) > > All you have to do is: > > (1) install R: > >$ time ./sage -f -m r-2.6.1rc.p1 > > NOTE: If the package name changes, type > >$ ./sage -experimental |grep r- > > to see what the new name is. Note that we put "-f -m" above so that the R > build > directory gets left laying around in spkg/build/. This is because > there are still some > issues with "make install" and R.Also, R hardcodes install paths > in the R command, > which is something we'll have to deal with before releasing R as an > official optional > package. > > (2) > Then to test it out see if this works: > > sage: import rpy > sage: rpy.r.t_test(range(100)) > {'alternative': 'two.sided', > 'conf.int': [43.743490583064158, 55.256509416935835], > 'data.name': '0:99', > 'estimate': {'mean of x': 49.5}, > 'method': 'One Sample t-test', > 'null.value': {'mean': 0.0}, > 'p.value': 3.0537578007169442e-31, > 'parameter': {'df': 99.0}, > 'statistic': {'t': 17.062204191756354}} > > > sage: time rpy.r.t_test(range(100)) > CPU times: user 1.97 s, sys: 0.12 s, total: 2.08 s > Wall time: 2.09 > {'alternative': 'two.sided', > 'conf.int': [499433.7061652476, 500565.2938347524], > 'data.name': '0:99', > 'estimate': {'mean of x': 49.5}, > 'method': 'One Sample t-test', >
[sage-devel] Fwd: Compiling sage-2.8.14 on Opensuse-10.2
Hi, This is another report of a flint-related build issue. Though this isn't a problem with a compiler bug as far as I can tell. It's on opensuse. Any ideas? -- Forwarded message -- From: Jose G Pierre <[EMAIL PROTECTED]> Date: Nov 25, 2007 10:49 PM Subject: Compiling sage-2.8.14 on Opensuse-10.2 To: William Stein <[EMAIL PROTECTED]> This is just to let you know that compilation of sage fails on OpenSuse-10.2 since version 2.8.13( version 2.8.12 compiles ok). Here is the relevant part of install.log: gcc -std=c99 -I/windows/C/apps/sage-2.8.14/local/include/ -I/windows/C/apps/sage-2.8.14/local/include -I/windows/C/apps/sage-2.8.14/local/include -funroll-loops -fexpensive-optimizations -fPIC -funroll-loops -O3 mpz_poly-tune.o test-support.o profiler.o -o mpz_poly-tune mpn_extras.o mpz_extras.o memory-manager.o ZmodF.o ZmodF_mul.o ZmodF_mul-tuning.o fmpz.o fmpz_poly.o mpz_poly-tuning.o mpz_poly.o ZmodF_poly.o long_extras.o -L/windows/C/apps/sage-2.8.14/local/lib/ -L/windows/C/apps/sage-2.8.14/local/lib/ -L/windows/C/apps/sage-2.8.14/local/include -lgmp -lpthread -lm -lntl gcc -std=c99 -I/windows/C/apps/sage-2.8.14/local/include/ -I/windows/C/apps/sage-2.8.14/local/include -I/windows/C/apps/sage-2.8.14/local/include -funroll-loops -fexpensive-optimizations -fPIC -funroll-loops -O3 -c fmpz_poly-profile.c -o fmpz_poly-profile.o python make-profile-tables.py fmpz_poly File "make-profile-tables.py", line 23 raise ValueError, "no file specified" ^ SyntaxError: invalid syntax make[2]: *** [fmpz_poly-profile-tables.o] Error 1 make[2]: Leaving directory `/windows/C/apps/sage-2.8.14/spkg/build/flint-0.9-r1075.p1/src' Error building flint shared library. real0m29.529s user0m27.498s sys0m0.824s sage: An error occurred while installing flint-0.9-r1075.p1 Please email sage-devel http://groups.google.com/group/sage-devel explaining the problem and send the relevant part of of /windows/C/apps/sage-2.8.14/install.log. Describe your computer, operating system, etc. If you want to try to fix the problem, yourself *don't* just cd to /windows/C/apps/sage-2.8.14/spkg/build/flint-0.9-r1075.p1 and type 'make'. Instead type "/windows/C/apps/sage-2.8.14/sage -sh" in order to set all environment variables correctly, then cd to /windows/C/apps/sage-2.8.14/spkg/build/flint-0.9-r1075.p1 (When you are done debugging, you can type "exit" to leave the subshell.) make[1]: *** [installed/flint-0.9-r1075.p1] Error 1 make[1]: Leaving directory `/windows/C/apps/sage-2.8.14/spkg' real20m36.858s user16m45.975s sys1m24.669s Regards jgp -- 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://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: [Axiom-developer] Re: AMS Notices: Open Source Mathematical Software
On Nov 26, 2007 12:20 AM, root <[EMAIL PROTECTED]> wrote: > > >> >> Third, even if the NSF funded SAGE, how would those funds benefit the > ...[snip]... > >> Either the initial grant had principal investigators at different > >> schools (or one of the PIs moved), or a visiting scientist arrangement > >> allowed someone on leave to join the project for a while, otherwise > >> I don't recall other arrangements. However, my experience is quite > >> limited. > > > >I'm not sure what you're saying here, but at least with NSF funds > >a researcher can pay any US citizen (or person with a soc security > >number) working anywhere in the US > >some money to work on a project with me. They don't have to be > >officially listed on a grant application or at my university. That said, > >the grant budget would have to list that somebody somewhere would > >be getting paid by the grant to do the specified work (one can't > >spend NSF money they've received on anything they want -- it has > >to be explicitly budgeted first). > > I know that we hired students to do work. At CCNY there was an open > source lab and we hired two people to work on Doyen. But student > labor is not "any U.S. citizen". It really falls partially under the > mandate of the University and was not hard to justify. Yes, I could hire students as long as they are students at the university. I was just pointing out that it's also possible to pay non-students. > At IBM we had a specific contract with William Schelter to develop > a version of AKCL that supported Axiom. I'm not sure that it would > have been possible to do that under an NSF contract, although you > know more about that than I do. I don't know either. > >> But giving money to open > >> source is like giving money to the homeless. Even though 100% of it > >> will go to support direct needs, it appears to disappear. > > > >I'm not sure I follow. > > > >In any case, here is a very concrete example of the NSF funding open source: > > > >http://www.nsf.gov/awardsearch/showAward.do?AwardNumber=0713225 > > > >The money will go to pay for a postdoc for three years at UW (Clement Pernet > >for the first 2 years), whose main work will be on open source software. > >(I can't emphasize how much work it was to get the above grant...) > > Again, this tends to fall into the NSF-University tangle. If Clement > were hired to sit at home and develop open source software without > the association to UW I'm not sure the grant would have passed muster. > I admit I don't know the details. This is solidly in the "NSF-University tangle". In fact, a critical component is that Clement will be a research postdoc at the university, contribute to the research environment there, write papers, etc. The NSF really cared about all that. > The fact that he is working on open source is incidental, in my view. > NSF work is government work and is supposed to be freely available > since it is paid for by tax money. Unfortunately, that's not at all how things actually work though. Researchers funded by *NSF grants* are usually under no obligation to make their work freely available. I probably wish something more like this were the case, but it isn't in general. That's just the current reality of how things work. > The distinction I'm trying to draw here is that there is a difference > between doing NSF work that is open sourced and doing open source work > that is NSF funded. The former is simply a side-effect of the proposal. > The latter is fundamental. I view the Sage postdoc, i.e., what I linked to above, as the latter. It was NSF funding a proposal specifically to support some open source software development. I'm very appreciate to them for being open minded and funding it. The abstract for the award says: "This project involves creating open source mathematical software that plays a key roll in research in cryptography, number theory, geometry, and other area. It promotes the progress of science by making many highly optimized research-oriented algorithms widely available, and making it easy to simultaneously create and work with objects defined in almost any mathematical software package. This project also stimulates new forms of collaboration between researchers in diverse areas of mathematics, and between undegraduates, graduate students, and professors. " > So getting an NSF grant to develop software for a project and then > opening the source (see Magnus, one of my sourceforge projects) is > perfectly reasonable. It happens often. Indeed Macsyma was started > that way, as near as I understand it. I can see where Sage could > be funded under this model. > > But doing open source (that is, non-university, non-commercial, > privately-supported) prior to the grant and getting continued work > funded is unknown to me. I see that Axiom falls under this model. > (Curiously, (D)ARPA and NSF funded Axiom when it was at IBM, which > presumably had slightly more financial resources than me.) I don't
[sage-devel] Re: An error occurred while installing cremona-20071116.p0
On Nov 25, 2007 11:51 PM, Zhang Long <[EMAIL PROTECTED]> wrote: > An error occurred while installing cremona-20071116.p0, see install.log > > Computer: > > Cpu: Intel Pentium 4 3.00GHZ > > Ram 1G > > OS: linux 2.6.22-2-686 , debian testing You're using gcc-4.2.3, which sage-2.8.13 doesn't support. *Fortunately* we just released sage-2.8.14, which does support gcc-4.2.x: http://sagemath.org/dist/src > > > > -- 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://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: pyx
On Nov 26, 2007 3:04 AM, Joerg Lehmann <[EMAIL PROTECTED]> wrote: > Hello, > > On 24.11.07, William Stein wrote: > > Some of the Sage developers are considering including Pyx > > (http://pyx.sourceforge.net/) > > in Sage (http://sagemath.org).One issue is that I think Pyx is > > currently licensed GPL v2 only. > > A bit embarrassingly, the license information on our web page is not > entirely correct. If you look into the PyX sources, you will find > out that PyX is licensed under GPL v2 and later. We also do not intend > to change this. So, license wise there should be no problem for you to > include PyX in Sage. > > We will correct the license information on the web page, as soon as > possible. > Excellent. This is exactly what I had hoped for. Thanks! By the way, if you have any thoughts about how / if / in what way Pyx should or could be used from sage please let me know. -- William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: patch for SymPy <--> SAGE conversion, please review
On Nov 26, 2007 6:34 AM, Joel B. Mohler <[EMAIL PROTECTED]> wrote: > Well, if I had to pick a nasty point to sage I would agree that it's huge-ness > is seriously annoying. The slow import of "sage.all" really kills the > pleasure for writing python programs which you want to use from bash, but I > realize that I'm a bit unusual to actually use it that way. I would love Ondrej says: > And I think SAGE will eventually get there. The speed of import can be > cured, by importing things on the fly, etc. etc. Ondrej is 100% right. This slow import is not necessarily a function of sage being huge, but of nobody lately going through and auditing what happens when one does $ sage -ipython >>> import sage.all I've done this in the past several times and each time greatly sped things up. Doing this can be helpful: $ echo "%prun import sage.all" |sage -ipython Then commenting things out, etc., etc. For example, importing numpy takes (or at least used to take) a surprisingly long time, so I have to be careful to make sure Sage doesn't import that by default on startup. Same goes for matplotlib -- never ever import that at the module level -- make the import lazy, and things are much faster. I think the sage startup time could be greatly reduced with some work. > more modularity, but I'm not convinced it's possible. I mean, this huge-ness > is a wart in many ways, but quite frankly I've not seen any other mathematics > package which I would look forward to using for a lifetime of mathematics (at When I'm actually doing real work, research, teaching, etc. this hugeness is not a wart to me at least in any way at all. It means that the resources are there to do what I want. Instead of hunting around for, installing, building, learning new programs, I get work done.To quote Michael Stoll when he switched from lots of little tools to Magma 10 years ago: "it is very nice to have everything under one roof". He cares about getting research done. Period. And could care less about "unix philosophy". At the end of the day, I tend to agree. > I am wondering though what kind of support for matrices and polynomials (for > examples) you might envision with sympy. I see that you currently have > support listed for these things, but if it's pure python the sage equivalents > are going to be much faster. It seems that you could gain so much by sharing > these goals with sage. The sage equivalents only work when all coefficients of the polynomial lie in a specific ring.Sympy does polynomial multiplication generically, which requires generic files. > and we really need a symbolic alternative -- sympy seems just the thing. I > think sage's symbolic side should be strong enough that we really shouldn't > have to break out the special polynomial declarations unless you are doing > something very special purpose. This might require a very very smart > symbolic engine to detect when it is working with polynomials and use > polynomial algorithms behind the scenes instead of more generic symbolic > ones. I think if we could pull that off, then even the number theorists > might find themselves working with the symbolic expressions. This would be a > huge step towards mathematica level friendliness imo. You're right. In fact I already work with symbolic expressions frequently, when it makes sense to do so. :-) But personally my first priority is creating a viable alternative to the big systems, before trying to do some sort of open ended research system that's really hard to write. Ondrej: > which goes into my patch, with x==Spec(QQ) and y==5, it pass all my > ifs, and then it segfaults. The workaround is to check that they have > the same parent, or just call _verify_canonical_coercion_c, that does > exactly that for me. It is wrong / abusive to call _verify_canonical_coercion_c because that function is never supposed to fail. You should check that the parents are the same explicitly and if not pass through to the next case. William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: [Axiom-developer] Re: AMS Notices: Open Source Mathematical Software
On Nov 26, 2007 10:01 AM, root <[EMAIL PROTECTED]> wrote: > ==> Ed Borasky writes: > >> There is nothing particularly special about mathematics software that > >> makes it winning in a similar sense impossible, as much as Wolfram > >> would argue that (as he often used to do in interviews I've read online). > > > >I disagree. Mathematics software is the most difficult software to > >write, and it's market is very limited. And *symbolic* mathematics > >software / theorem proving are more difficult to write than numeric > >software. I've never used Mathematica, and only briefly used Maple, so I > >can't really compare either of them with Axiom in the same sense as I > >compared OpenOffice with Microsoft Office, Firefox with Internet > >Explorer, or the Linux desktop with the Windows desktop in the context > >of a corporate workstation. But again, I'm guessing that people who can > >cost-justify Mathematica or Maple will keep them in business and "winning." Mathematical software is indeed difficult to write. You're right -- what I hope to accomplish with the Sage project is impossible. I don't care; I'm going to do it anyways. > Clearly you've not studied your "Art of War" by Sun Tsu. :-) Actually I have. Evidently my interpretation of it is much different than yours. > A frontal attack against a strongly held point never wins. You are > trying a direct head-to-head competition against a well financed, > heavily backed position. As Ed points out, even if you *could* match > the 3Ms point for point in the usual checklist feature game there are > still forces which make it difficult, if not impossible, for people to > use your software. You plan to march onto the field of battle, > confront the enemy strength-to-strengh, and win by force of arms. > That's not strategic thinking, and clearly not a successful strategy. > > You let the enemy define your tactics. That is, if MMA develops a new > parallel matrix multiply (opening a new wing of the battle), you must > turn to confront this and apply effort to develop a similar checklist > point. Since they are larger, faster, and better financed it is > unlikely that you can match them continuously on every point. Linux > plays this game, and loses, on the desktop. That's not strategic > thinking, and clearly not a successful strategy. > > You train recruits for your enemy. Because you fight the same battle > on the same turf with the same tactics, the people you lose to industry > are perfectly trained to compete against you. Thus the person who > writes the great new prototype harmonic analysis software for his > thesis (giving you a new checklist point nobody competes with), then > this same person is perfect for the 3Ms to hire. In fact, the best use > of his talent would be to develop a better version of his thesis work > and add it as a new, better checklist feature point. Thus, you trained > and financed your enemy. That's not strategic thinking, and clearly > not a successful strategy. > > You give away your material freely to your enemy. Because you work in > open source and you encourage publication of your work the enemy can > see everything. But the publications are tiny (5 pages) and the thesis > work is obscure so it will take much time to convert this into a > useful "product". The 3Ms have the idea, the time, and the money. You > gave it all to them because you published the idea, trained the > people, and bought 3M's software "for the department". That's not > strategic thinking, and clearly not a successful strategy. > > You let the enemy use your own strength against you. What's to stop > the 3Ms from becoming useable with the Sage front end? Nothing. In fact, one of the main features of the Sage front end already is that it can be used with the 4Ms (don't dismiss Magma, which belongs in there -- it's very good quality commercial software). > How hard would > it be for them to define "plug-ins" that either use the MMA workbook > browser or the full Maple engine? Trivial, since we already do that. > If mathml allows one to transfer > (content-free) equations from one system to another, cannot one of > those systems be one of the 3Ms? Yes. > Thus they gut your whole system. No they don't. Sage is GPL'd. Any improvements or changes they make to Sage must be given back. > They can make the claim that they "work with Sage" which allows them > to sell licenses to locations where you've "won". That's not strategic > thinking, and clearly not a successful strategy. > I don't know why you've chosen to benefit the enemy > but I can't prevent it. True, you can't.But honestly I really don't see the 4M's as the enemy. They are four high quality valuable tools for mathematical computation. I love mathematics and doing computation in the context of mathematics, and at some level I really like using any mathematical software. With Sage I want to provide a viable free open source alternative, not put the 4M's out of business. Softw
[sage-devel] Re: patch for SymPy <--> SAGE conversion, please review
On Nov 26, 2007 1:11 PM, Ondrej Certik <[EMAIL PROTECTED]> wrote: > exactly what I need, but fortnuately, this will improve, > when SAGE becomes more famous, and more people like Michael Abshoff > are going to join. I am looking forward to a time, > when I do in Debian: > > $ apt-get install sage > $ python > Python 2.5.1 (r251:54863, Aug 17 2007, 00:51:07) > [GCC 4.1.3 20070812 (prerelease) (Debian 4.1.2-15)] on linux2 > Type "help", "copyright", "credits" or "license" for more information. > >>> from sage.all import * > >>> print x**2 > > And I could use anything that SAGE wraps. Everything under one hood. Period. Indeed! This will be even better in the direction I like. The key thing you (=Ondrej) want really is that it is all under *your* existing roof (i.e., Debian) too. > > > and we really need a symbolic alternative -- sympy seems just the thing. > > > I > > > think sage's symbolic side should be strong enough that we really > > > shouldn't > > > have to break out the special polynomial declarations unless you are doing > > > something very special purpose. This might require a very very smart > > > symbolic engine to detect when it is working with polynomials and use > > > polynomial algorithms behind the scenes instead of more generic symbolic > > > ones. I think if we could pull that off, then even the number theorists > > > might find themselves working with the symbolic expressions. This would > > > be a > > > huge step towards mathematica level friendliness imo. > > > > You're right. In fact I already work with symbolic expressions > > frequently, when it makes sense to do so. :-) > > > > But personally my first priority is creating a viable alternative to > > the big systems, before > > trying to do some sort of open ended research system that's really > > hard to write. > > Agree. > > > > > It is wrong / abusive to call _verify_canonical_coercion_c because that > > function is never supposed to fail. You should check that the parents > > are the same explicitly and if not pass through to the next case. > > Agree. That's why I am proposing the fix here (at the end of the message): > > http://groups.google.com/group/sage-devel/msg/752742fd202f6868 > > as opposed to Robert's proposal here: > > http://groups.google.com/group/sage-devel/msg/d0aab9c309a3aa29 > > So if there are no more objections (Robert?) I'll implement my > proposal and the patch will be ready. Good. William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: An error occurred while installing cremona-20071116.p0
On Nov 26, 2007 1:11 PM, fwc <[EMAIL PROTECTED]> wrote: > dortmund.de> wrote: > > this bothered me enough to finally investiagte. So far I found out: > > > > * this is an issue only on OSX 10.4, OSX 10.5 is not effected > > * It isn't the gmp's fault, but libntl.dynlib hardcodes the path to > > gmp somehow - I don't know why and how yet. > > * a solution is to force a rebuild of NTL if one moved the location > > of the Sage installation > > > > Francis, could you verify that this fixes the issue for you? > > I can't check it I'm afraid because (1) having installed Sage 2.8.14 > from scratch, I've deleted Sage 2.8.12 which was refusing to upgrade; > (2) I don't think I have the expertise to implement what you suggest. > > Sorry No problem. We just want to make sure you're up and running without problems! William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: patch for SymPy <--> SAGE conversion, please review
On Nov 26, 2007 7:51 PM, Robert Bradshaw <[EMAIL PROTECTED]> wrote: > > On Nov 26, 2007, at 2:04 PM, Ondrej Certik wrote: > > >> > >> I still think _verify_canonical_coercion_c is the wrong thing to use > >> here, there is no reason that x._sage_() and y._sage_() should have > >> the same parent (e.g. one could be an element of SR, the other a sage > >> Integer), and at this point we should be able to succeed even if they > >> don't have the same parent by (re-)calling the Sage coercion model on > >> the Sage elements. > > > > Yes, I also think it's a bug somewhere else in SAGE. If you are able > > to figure it out, > > I am curious about it. Try my first patch, that will segfault. My > > second patch passes fine. > > See > > http://sagetrac.org/sage_trac/attachment/ticket/1189/sympy-coerce.patch > > This on top of 2.8.14 + sympy.patch works great. (I wasn't able to > cleanly apply sympy2.patch which looks like it had some useful non- > coercion stuff in there as well.) I'm curious about your infinite > recursion bug for looking up the _sage_ attribute... This is getting discussed to death but wouldn't it make more sense to replace: if not PY_TYPE_CHECK(x, SageObject) or not PY_TYPE_CHECK(y, SageObject): x = x._sage_() y = y._sage_() return self.canonical_coercion_c(x, y) by cdef bint tx = PY_TYPE_CHECK(x, SageObject) cdef bint ty = PY_TYPE_CHECK(y, SageObject) if not tx or not ty: x = x if tx else x._sage_() y = y if ty else x._sage_() return self.canonical_coercion_c(x, y) Since otherwise you're very likely calling _sage_() on a sage object (in your version of the code). --~--~-~--~~~---~--~~ 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://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: [Axiom-developer] Re: AMS Notices: Open Source Mathematical Software
On Nov 26, 2007 8:06 PM, M. Edward (Ed) Borasky <[EMAIL PROTECTED]> wrote: > root wrote: > > The NSF, INRIA, and others cover it. > > These are the same people who won't fund Axiom because "it competes > > with commercial software". Which shows that they don't understand > > that Axiom is NOT trying to compete; and that funding competition > > to commercial software implies funding BOTH sides of the effort. > > Ah, but given the difficulty of writing said software with any licensing > scheme, whether it be closed-source commercial, "academic free but > industrial users pay", GPL, BSD, MIT, etc., why would a non-profit > organization like the NSF want to get dragged into licensing disputes, > questions about tax exemptions, intellectual property battles, and other > things that a society full of attorneys "features"? The world is > littered with the corpses of organizations that sued other organizations > bigger than they were. I don't know about INRIA, but I really doubt the > NSF could withstand a lawsuit from Wolfram or Maplesoft. (1) The NSF does fund research that directly results in open source mathematical software development.They've funded Macaulay2, they've funded me, and they've funded other scientists. NIH also funds software development: http://grants.nih.gov/grants/guide/pa-files/par-05-057.html (2) Regarding NSF withstanding a lawsuit -- I don't know. NSF is a very powerful and impressive foundation. They have a 6 billion dollar annual budget: http://nsf.gov/about/congress/110/highlights/cu07_0308.jsp#final compared to Mathematica which probably has maybe $150 million per year in revenue. (3) People at the NSF do think about issues such as "licensing disputes, questions about tax exemptions, intellectual property battles, and other things", and take them seriously. > > In the long term (think next century) does it benefit computational > > mathematics if the fundamental algorithms are "black box"? > > Mathematics has a long history of independent discoveries by researchers > working on different problems. Think of Gauss and Legendre, for example, > and least squares. In other words, fundamental algorithms will get > re-invented. The FFT is another example -- radio engineers were doing > 24-point DFTs using essentially the FFT algorithm long before Cooley and > Tukey, and both Runge and Lanczos published equivalents. I think has a point; though there are examples like yours, there are also many interesting powerful algorithms that do exist only in closed proprietary software, and it could be a long time until they are rediscovered and published. > > Suppose someone creates a > > closed, commercial, really fast Groebner basis algorithm, does not > > publish the details, and then the code dies. It can happen. Macsyma > > had some of the best algorithms and they are lost. > > 1. What do you think the real chances are of a "really fast Groebner > basis algorithm" are? I'm by no means an expert, but I thought the > computational complexity odds were heavily stacked against one. Since "really fast" isn't well defined, I'll just give you a practical example of exactly this. For the last 5 years there have been exactly two implementations of a "really fast Groebner basis algorithm", namely F4 (and its variant F5). One implementation is closed source and is only available via purchasing Magma. The other is closed source and is only available via purchasing Maple. The one in Magma took Allan Steel (who is in my mind easily one of the top 5 mathematical software coders in the world today) about 5 years to implement, even with full access to all the papers that Faugere wrote on his algorithm. The one in Maple was implemented by Faugere, and is of course also closed source. There have been numerous (maybe a dozen?) attempts by open source authors to implement a really usable F4, but nobody has yet come close so far as I can tell. (Ralf Phillip Weinmann is working on a promising open source one right now, maybe...) The F4 in Magma is really incredibly fast at many standard benchmark problems. See the timings here: http://magma.maths.usyd.edu.au/users/allan/gb/ William --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] cherrypy
Hi, Timothy Clemans pointed out a very interesting powerful and *simple* Python web application server today to me called cherrypy: http://www.cherrypy.org/ It's actually very easy to install (just grab their tarball and do "sage -python setup.py install"). To try it out with some nontrivial sage code, after installing it put this in a notebook cell (no {{{'s, of course): {{{ import cherrypy class HelloWorld(object): def index(self): return str(sage0('factor(293840923840823)')) index.exposed = True cherrypy.quickstart(HelloWorld()) }}} The sage0 business is needed because cherrypy is multithreaded, so can't run sage code directly, so the sage code runs in another process. Anyway, if you shift enter the above then surf to http://localhost:8080 you'll see something. Timothy, if you make several interesting mathematical examples which can be pasted into a notebook cell like above, you might want to post some to this thread. -- 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://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: implementation of Rencontres numbers
On Nov 26, 2007 11:05 PM, Dan Drake <[EMAIL PROTECTED]> wrote: > Hello, > > I don't know if this is the appropriate place to submit code, but... > > The combinat.py file lists Rencontres numbers in the TODO section. > Here's a function that implements Rencontres numbers. I tried to copy > the documentation style, but feel free to edit as necessary. Hi, I've cleaned up your code and posted it as a patch here: http://trac.sagemath.org/sage_trac/ticket/1290 I also noticed a subtle issue (=bug with sage) with the way you wrote the code below to use the symbolic sage code, which would lead to a bug when the input is very large!I've posted a trac ticket about that here: http://trac.sagemath.org/sage_trac/ticket/1289 This #1289 will be good cannon fodder for bug day. William > > > def rencontres(n, k): > r""" > Returns the Rencontres number D(n,k), the number of permutations of > {1, 2,..., n} with k fixed points. > > EXAMPLES: > Because 312 and 231 are the two permutations of {1, 2, 3} with 0 fixed > points, we have: > > sage: rencontres(3,0) > 2 > > Also: > > sage: rencontres(6,1) > 264 > > REFERENCES: > > http://en.wikipedia.org/wiki/Rencontres_number > > Sequence A008290 in the OEIS. > """ > if (n - k) % 2 == 0: > return binomial(n, k) * ceil(factorial(n - k)/e) > else: > return binomial(n, k) * floor(factorial(n - k)/e) > > > -- > --- Dan Drake <[EMAIL PROTECTED]> > - KAIST Department of Mathematical Sciences > --- http://math.kaist.ac.kr/~drake > > -BEGIN PGP SIGNATURE- > Version: GnuPG v1.4.6 (GNU/Linux) > > iD8DBQFHS8G+r4V8SljC5LoRAiIyAKCU+DfZU/2NA2qUBrrjz/ohyHxWFACfTiEJ > zwvYBTCUp0x/4nVpcfFViR4= > =Q2Ew > -END PGP SIGNATURE- > > -- 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://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: implementation of Rencontres numbers
On Nov 27, 2007 10:47 AM, Jaap Spies <[EMAIL PROTECTED]> wrote: > > Jaap Spies wrote: > > > > > Maybe it is interesting to know that you can do this with integer arithmetic > > (and permanents!): > > > > Let J_n be the n x n matrix with all 1's and I_n the identity matrix, > > then the number of recontres or derangements with no fixed points is > > > > D_{n,0} = per(J_n - I_n) (per being the permanent of the matrix) > > > > Applying Ryser's algorithm one gets the formula: > > > > D_{n,0} = sum_r=0^n-1 (-1)^r * binomial(n,r) * (n-r)^r * (n-r-1)^{n-r} > > > > and than > > > > D_{n,k} = binomial(n,k) * D_{n-k, 0} > > > > > > This is my favorite application of permanents: counting the number of > permutations with restricted positions! That is indeed very beautiful.It's not so good from an efficiency point of view though: sage: time a=derangements(1,0) CPU time: 45.73 s, Wall time: 47.70 s sage: time b=rencontres_number(1,0) CPU time: 1.11 s, Wall time: 1.21 s at least not practically. This might be because factorial and multiprecision arithmetic are both so fast in sage. > > See: > > encontres > system:sage > > {{{id=0| > def derangements(n, k): > if n == 0 and k == 0: > return 1 > if n == 1 and k == 0: > return 0 > > if k == 0: > lst = [(-1)^r * binomial(n, r) * (n-r)^r * (n-r-1)^(n-r) for r in > range(n)] > return sum(lst) > else: > return binomial(n, k) * derangements(n-k, 0) > }}} > > {{{id=1| > derangements(3,0) > /// > 2 > }}} > > {{{id=2| > derangements(6,1) > /// > 264 > }}} > > {{{id=3| > for i in range(12): > for j in range(i+1): > print derangements(i,j), > print > /// > 1 > 0 1 > 1 0 1 > 2 3 0 1 > 9 8 6 0 1 > 44 45 20 10 0 1 > 265 264 135 40 15 0 1 > 1854 1855 924 315 70 21 0 1 > 14833 14832 7420 2464 630 112 28 0 1 > 133496 133497 66744 22260 5544 1134 168 36 0 1 > 1334961 1334960 667485 222480 55650 11088 1890 240 45 0 1 > 14684570 14684571 7342280 2447445 611820 122430 20328 2970 330 55 0 1 > }}} > > {{{id=4| > derangements(0,0) > /// > 1 > }}} > > {{{id=5| > derangements(1,0) > /// > > 0 > }}} > > > Jaap > > > > > > -- 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://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---
[sage-devel] Re: Sage Ticket #799 (alleged Tachyon bug)
On Nov 27, 2007 9:13 AM, Leif Hille <> wrote: > William - > > REF: http://sagetrac.org/sage_trac/ticket/799 > > I dunno if this is the right way to comment on bugs however, I ran into the > same problem as the ticket's author. This "bug" ticket is part bug, part > user error (or poor documentation). Hi, I've added your comments below to the above trac ticket. They will be very very helpful when we fix #799 (perhaps on bug day this Saturday...?) Thanks! > > (1) The user error part: In order to create a texture using a number other > than zero, you have to pass in a .texfunc() object. > > (2) The bug part: There is a problem with the plot/tachyon.py function that > prevents additional key parameters from being passed in. > > Explanation: > t.texture('grey', color=(.5,.5,.5), texfunc=0) --> this works > t.texture('dk_grey', color=(0.8,0.8,0.8),textfunc=1) --> this causes > subsequent t.show() command to fail. > > Solution: > (1) While the t.texture(...) function allows for 'texfunc=0' as an argument, > for any number greater than 0, it expects a texfunc object. > > ie: > r=t.texfunc(2) > t.texture('grey', color=(.5,.5,.5), texfunc=r) > > This is not evident from the inline help & the interface doesn't complain > when it's passed bad input - it just fails when t.show() is called (verbose > mode reveals the tachyon parser's complaints). > > (2) The bug is that some of the predefined numbered textures require > additional string input (eg. a file name for a texture map image/data) > immediately after the texture number. The texture number is passed in as a > number. I've made a workaround, making the "type" parameter into a > string(see changes below), allowing for filenames to be specified when the > texture number calls for it. This is still a little troublesome in that > because it's not obvious to me how to reference filenames of graphics > created within Sage (maybe there should there be a toplevel "fileref" method > to get a filesystem path reference to existing graphic image or dataset). > The same filereference problem presents if the user wants to use another > graphic or datafile as a texture map. > > ##from : .../plot/tachyon.py... > class Texfunc: > def __init__(self, type=0,center=(0,0,0), rotate=(0,0,0), scale=(1,1,1)): > self._type = type > self._center = center > self._rotate = rotate > self._scale = scale > > def str(self): > if type == 0: > return "0" > # Old Code > # return """%d center %s rotate %s scale %s"""%(self._type, # > <-- number > # >tostr(self._center), > # >tostr(self._rotate), > #tostr(self._scale)) > # new code: > return """%s center %s rotate %s scale %s"""%(tostr(self._type), > # <-- string >>tostr(self._center), >>tostr(self._rotate), > tostr(self._scale)) > > > -- 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://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~--~~~~--~~--~--~---