[sage-devel] Re: Bizarre behaviour: rational numbers: very slow, number fields: very fast.

2007-05-17 Thread Michel
Yes om my (obviously much slower) machine the improvement is even more spectactular. I now get 8ms per loop which is almost a hundred fold speed up. Michel On May 17, 10:04 pm, Martin Albrecht <[EMAIL PROTECTED]> wrote: > > sage: x,y,z=QQ['x','y','z'].gens() > > sage: %timeit ((x+y+z)**3)(1/y,y

[sage-devel] Re: Magma, Maple, Mathematica, MATLAB, and SAGE

2007-05-17 Thread Timothy Clemans
I do not see much about the cultural aspect of these systems and I think that the cultural aspects seem very interesting. I would like to know why MATLAB is so popular in engineering and not Mathematica. Also could you tell us about how SAGE is so much better than Mathematica for teaching your ele

[sage-devel] Re: Magma, Maple, Mathematica, MATLAB, and SAGE

2007-05-17 Thread David Harvey
On May 17, 2007, at 10:13 PM, William Stein wrote: > > Hi, > > I wrote slides just now for a culturally and historically > oriented introduction to Magma, Maple, Mathematica, > MATLAB, and SAGE. If you want, please take a look at > them and give me any feedback you might have: > > http://sage

[sage-devel] Magma, Maple, Mathematica, MATLAB, and SAGE

2007-05-17 Thread William Stein
Hi, I wrote slides just now for a culturally and historically oriented introduction to Magma, Maple, Mathematica, MATLAB, and SAGE. If you want, please take a look at them and give me any feedback you might have: http://sage.math.washington.edu/tmp/survey.pdf -- William Stein Associate Prof

[sage-devel] Re: RFC: the subresultant algorithm

2007-05-17 Thread Michel
Hi, I would like to implement it (or see it implemented) in the most generic case. I.e. assume R is a domain with a gcd algorithm and an algorithm for computing a/b if b divides a. Then we get gcd and division for R[x]. By iterating you get it for multivariate polynomials. Knuths seems to be fa

[sage-devel] RFC: the subresultant algorithm

2007-05-17 Thread David Roe
I may be implementing something like this for p-adics soon. It's one of the options for doing gcds meaningfully. If anyone else is interested in working on this, get in touch with me. David On 5/17/07, Michel <[EMAIL PROTECTED]> wrote: > > > It is rather frustrating that sage does not a have a g

[sage-devel] Re: MPolynomial_libsingular

2007-05-17 Thread Martin Albrecht
The updated patch: * index bugfix for the bug reported by Nick * faster __floordiv__ / quo_rem http://sage.math.washington.edu/home/malb/pkgs/libsingular2.hg Martin -- name: Martin Albrecht _pgp: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x8EF0DC99 _www: http://www.informatik.uni-bre

[sage-devel] Re: Bizarre behaviour: rational numbers: very slow, number fields: very fast.

2007-05-17 Thread Martin Albrecht
> sage: x,y,z=QQ['x','y','z'].gens() > sage: %timeit ((x+y+z)**3)(1/y,y,y**100) > 10 loops, best of 3: 18.1 ms per loop > > More than fourty times faster then before!!! Only fourty times? We can do better. On my machine it took 121 ms with the PolyDict implementation 3.1 ms with the libSINGUL

[sage-devel] Re: Issue with slicing mpolynomial etuples (fixed by new libsingular)

2007-05-17 Thread Martin Albrecht
On Thursday 17 May 2007 21:50, Michel wrote: > It seems the libsingular patch fixes this issue. It is indeed present > on my unpatched build. It works because I don't return ETuples, which is wrong. I will fix both. Martin -- name: Martin Albrecht _pgp: http://pgp.mit.edu:11371/pks/lookup?op=

[sage-devel] Re: Issue with slicing mpolynomial etuples (fixed by new libsingular)

2007-05-17 Thread Michel
It seems the libsingular patch fixes this issue. It is indeed present on my unpatched build. Michel On May 17, 9:46 pm, Michel <[EMAIL PROTECTED]> wrote: > This seems to work for me > > sage: R. = QQ['x', 'y'] > sage: etuple = (x + y).exponents()[1]; etuple > (0, 1) > sage: etuple[-1] > 1 >

[sage-devel] Re: Issue with slicing mpolynomial etuples

2007-05-17 Thread Michel
This seems to work for me sage: R. = QQ['x', 'y'] sage: etuple = (x + y).exponents()[1]; etuple (0, 1) sage: etuple[-1] 1 sage: On May 17, 8:05 pm, Nick Alexander <[EMAIL PROTECTED]> wrote: > Interpreting slices should be passed off to the python builtin list > slice if at all possible, it'

[sage-devel] Re: MPolynomial_libsingular

2007-05-17 Thread Michel
Hi Martin, I can only confirm that things are spectacularly faster now (see the other ongoing thread on fraction fields of multivariate polynomials). Congratulations! Michel On May 17, 8:40 pm, Martin Albrecht <[EMAIL PROTECTED]> wrote: > On Thursday 17 May 2007 20:29, Michel wrote: > > > When

[sage-devel] Issue with slicing mpolynomial etuples

2007-05-17 Thread Nick Alexander
Interpreting slices should be passed off to the python builtin list slice if at all possible, it's just too hard to implement consistently by hand. See the patch I just posted for matrices for an example. sage: R. = QQ['x', 'y'] sage: etuple = (x + y).exponents()[1]; etuple (0, 1) sage: etupl

[sage-devel] Re: Bizarre behaviour: rational numbers: very slow, number fields: very fast.

2007-05-17 Thread Michel
> > I imagine things will change greatly with Martin's new lib-singular > patch. Right now multi-variate gcd and quo_rem are converting back > and forth between the dictionary and singular representations. > Yes!!! I just did the test. sage: x,y,z=QQ['x','y','z'].gens() sage: %timeit ((x+y+z)**3

[sage-devel] Re: Bizarre behaviour: rational numbers: very slow, number fields: very fast.

2007-05-17 Thread Joel B. Mohler
On Thursday 17 May 2007 14:00, Michel wrote: > What do you mean by "working on reduce". Reduce is just a call > to gcd which then calls singular (over appropriate fields). Hmm, I didn't look at the particular code in question. Perhaps I'm speaking non-sense. My comments stemmed from my experie

[sage-devel] Re: MPolynomial_libsingular

2007-05-17 Thread Martin Albrecht
On Thursday 17 May 2007 20:29, Michel wrote: > When I do > > sage: hg_sage.import_patch("libsingular.hg") Try: hg_sage.unbundle("libsingular.hg") Sorry for the confusion I didn't mean patch I meant "patch bundle" Martin PS: I am on #SAGE-dev right now if more questions come up -- name:

[sage-devel] Re: MPolynomial_libsingular

2007-05-17 Thread Michel
Ok unbundle. Sorry for the noise. On May 17, 8:29 pm, Michel <[EMAIL PROTECTED]> wrote: > When I do > > sage: hg_sage.import_patch("libsingular.hg") > > I get > > cd "/home/vdbergh/sage-2.5/devel/sage" && hg status > cd "/home/vdbergh/sage-2.5/devel/sage" && hg import "/home/vdbergh/ > sage-2.5

[sage-devel] Re: MPolynomial_libsingular

2007-05-17 Thread Michel
When I do sage: hg_sage.import_patch("libsingular.hg") I get cd "/home/vdbergh/sage-2.5/devel/sage" && hg status cd "/home/vdbergh/sage-2.5/devel/sage" && hg import "/home/vdbergh/ sage-2.5/libsingular.hg" applying /home/vdbergh/sage-2.5/libsingular.hg abort: no diffs found What does this me

[sage-devel] Re: Bizarre behaviour: rational numbers: very slow, number fields: very fast.

2007-05-17 Thread Robert Bradshaw
One can do a/b = c/d via ad = bc (no reduction necessary). Same for compare. - Robert On May 17, 2007, at 11:00 AM, Michel wrote: > By "comparison" do you mean testing for equality? I don't think > you need reduce for that (just did a test in a polynomial ring over a > number field > where th

[sage-devel] Re: Bizarre behaviour: rational numbers: very slow, number fields: very fast.

2007-05-17 Thread Robert Bradshaw
On May 17, 2007, at 10:39 AM, Joel B. Mohler wrote: > On Thursday 17 May 2007 13:00, Nick Alexander wrote: >>> It's not at all clear to me without further discussion and >>> benchmarking >>> what the right optimization is so that rational functions over >>> fields are >>> sufficiently fast.

[sage-devel] Re: sagemath down?

2007-05-17 Thread William Stein
On 5/17/07, Nick Alexander <[EMAIL PROTECTED]> wrote > > Martin Albrecht <[EMAIL PROTECTED]> writes: > > > Hi there, > > > > http://www.sagemath.org seems to be down. http://sage.math.washington.edu is > > not affected. > > Same for me. > I just investigated and there must be some sort of huge me

[sage-devel] Re: Bizarre behaviour: rational numbers: very slow, number fields: very fast.

2007-05-17 Thread Michel
What do you mean by "working on reduce". Reduce is just a call to gcd which then calls singular (over appropriate fields). By "comparison" do you mean testing for equality? I don't think you need reduce for that (just did a test in a polynomial ring over a number field where there is no reduce).

[sage-devel] MPolynomial_libsingular

2007-05-17 Thread Martin Albrecht
Hi there, I have a release candidate of my libSINGULAR code available. The HG patch is at http://sage.math.washington.edu/home/malb/pkgs/libsingular.hg and the required (!) updated SPKG is at: http://sage.math.washington.edu/home/malb/pkgs/singular-3-0-2-20070517.spkg . This spkg also

[sage-devel] Re: Bizarre behaviour: rational numbers: very slow, number fields: very fast.

2007-05-17 Thread Joel B. Mohler
On Thursday 17 May 2007 13:00, Nick Alexander wrote: > > It's not at all clear to me without further discussion and benchmarking > > what the right optimization is so that rational functions over fields are > > sufficiently fast.  I definitely wouldn't make any changes > > to this without some dis

[sage-devel] Re: Bizarre behaviour: rational numbers: very slow, number fields: very fast.

2007-05-17 Thread Michel
> You can't let things pile up indefinitely; this was a problem with > quotient fields that was fixed a while back. The intermediate values > get large, especially when powering, so that the final reduce is > ridiculously expensive. I'm not certain what the right behaviour is, > but I don't lik

[sage-devel] Re: Patch for matrix slicing

2007-05-17 Thread William Stein
On 5/17/07, Nick Alexander <[EMAIL PROTECTED]> wrote: > While I'm here, what's the good way to get a column slice? Say the > moral equivalent of matrix(...)[,:4], which gets the first four > columns? sage: m = random_matrix(QQ,4, 7); m [ -2 -2 -1 -1 -1 1/2 -1] [ 0 -200

[sage-devel] Re: sagemath down?

2007-05-17 Thread Nick Alexander
Martin Albrecht <[EMAIL PROTECTED]> writes: > Hi there, > > http://www.sagemath.org seems to be down. http://sage.math.washington.edu is > not affected. Same for me. Nick PS. Martin, congrats on getting libsingular passing make test! Very impressive! --~--~-~--~~~-

[sage-devel] sagemath down?

2007-05-17 Thread Martin Albrecht
Hi there, http://www.sagemath.org seems to be down. http://sage.math.washington.edu is not affected. Martin -- name: Martin Albrecht _pgp: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x8EF0DC99 _www: http://www.informatik.uni-bremen.de/~malb _jab: [EMAIL PROTECTED] --~--~-~--~-

[sage-devel] Patch for matrix slicing

2007-05-17 Thread Nick Alexander
While I'm here, what's the good way to get a column slice? Say the moral equivalent of matrix(...)[,:4], which gets the first four columns? Nick --~--~-~--~~~---~--~~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group,

[sage-devel] Re: [sage-forum] SAGE polynomail algebra problems

2007-05-17 Thread Nick Alexander
"William Stein" <[EMAIL PROTECTED]> writes: > On 5/17/07, Prof. J. E. Cremona <[EMAIL PROTECTED]> wrote: >> >> Problem: when executing the following, the last line takes forever and >> had to be killed: >> >> R = PolynomialRing(QQ, ['a','b','c','d','e'], 5) >> K = R.fraction_field() >> a,b,c,d,e

[sage-devel] Re: Bizarre behaviour: rational numbers: very slow, number fields: very fast.

2007-05-17 Thread Nick Alexander
"William Stein" <[EMAIL PROTECTED]> writes: > On 5/16/07, Michel <[EMAIL PROTECTED]> wrote: >> >> Consider >> >> sage: x,y,z=QQ['x','y','z'].gens() >> sage: u,v,w=W['u','v','w'].gens() > > Syntax error -- W is not defined. What is W? > >> sage: %timeit ((x+y+z)**3)(1/y,y,y**100) >> 10 loops, bes

[sage-devel] Re: [sage-forum] SAGE polynomail algebra problems

2007-05-17 Thread William Stein
On 5/17/07, Prof. J. E. Cremona <[EMAIL PROTECTED]> wrote: > > Problem: when executing the following, the last line takes forever and > had to be killed: > > R = PolynomialRing(QQ, ['a','b','c','d','e'], 5) > K = R.fraction_field() > a,b,c,d,e = K.gens() > > ig = 12*a*e-3*b*d+c^2 > jg = 72*a*c*e+

[sage-devel] RFC: the subresultant algorithm

2007-05-17 Thread Michel
It is rather frustrating that sage does not a have a gcd algorithm for multivariate polynomials over generic fields. There is such an algorithm. It is called the "subresultant" algorithm. It is for example described in Knuth's book "Semi-numerical algorithms" in section 4.6.1. Does anybody have

[sage-devel] Re: Bizarre behaviour: rational numbers: very slow, number fields: very fast.

2007-05-17 Thread Michel
> > I don't know that that would make your code any faster. I'm just saying that > the reduce call probably has a few very easy optimizations before heading for > a design change. What William is proposing is not a big design change. I doubt that gcd could be optimized enough to compensate for

[sage-devel] Re: generic subs/substitute

2007-05-17 Thread Michel
> > Another way to think of this: subs is basically just mapping through > some kind of homomorphism. Yes. It is (a partially defined) homomorfism from a (categorically) free object to something else. Freeness is the key here. So the following is somewhat confusing in my current implementation.

[sage-devel] Re: generic subs/substitute

2007-05-17 Thread David Harvey
On May 17, 2007, at 6:37 AM, Martin Albrecht wrote: > > OI agree. Also, if you think about it there are a huge number of >> different elements that do support some sort of notion of >> substitution. >> I think Michel's suggestion is pretty good. > > Okay then, I will incorporate this patch in

[sage-devel] Re: Bizarre behaviour: rational numbers: very slow, number fields: very fast.

2007-05-17 Thread Joel B. Mohler
On Thursday 17 May 2007 03:02, Michel wrote: > > > sage: %timeit ((x+y+z)**3)(1/y,y,y**100) > > > 10 loops, best of 3: 752 ms per loop    <=== look here! > > > sage: %timeit ((u+v+w)**3)(1/v,v,v**100) > > > 10 loops, best of 3: 48.2 ms per loop  <=== look here! > > > > It's not at all clear to me

[sage-devel] Re: generic subs/substitute

2007-05-17 Thread Martin Albrecht
On Thursday 17 May 2007 12:34, William Stein wrote: > On 5/17/07, Michel <[EMAIL PROTECTED]> wrote: > > > I am not so sure. Moving it up to Element means that it shows up in > > > tab-completion (polluting the method list) even though it is not > > > supported for most Elements. > > > > > > Martin

[sage-devel] Re: generic subs/substitute

2007-05-17 Thread William Stein
On 5/17/07, Michel <[EMAIL PROTECTED]> wrote: > > I am not so sure. Moving it up to Element means that it shows up in > > tab-completion (polluting the method list) even though it is not supported > > for most Elements. > > > > Martin > > > You could say it is supported on all elements. It just re

[sage-devel] Re: generic subs/substitute

2007-05-17 Thread Michel
> I am not so sure. Moving it up to Element means that it shows up in > tab-completion (polluting the method list) even though it is not supported > for most Elements. > > Martin > You could say it is supported on all elements. It just returns self if there is no substitution to be done: sage: 5.

[sage-devel] Re: generic subs/substitute

2007-05-17 Thread Martin Albrecht
On Thursday 17 May 2007 07:49, William Stein wrote: > On 5/16/07, Michel <[EMAIL PROTECTED]> wrote: > > Rather than implementing subs/substitute in every class where it makes > > sense > > (polynomials/rational functions/non-commutative polynomials) I thought > > it makes > > more sense to move it

[sage-devel] Re: Kudos on a fabulous system!

2007-05-17 Thread Alec Mihailovs
William, Thank you! > Fortunately this problem is very very easy to solve. Go to > > http://groups.google.com/group/sage-support/subscribe > > where you see that one option is to receive all messages as one > batch per day That is what I should have been done from the very beginning. Alec

[sage-devel] Re: Kudos on a fabulous system!

2007-05-17 Thread William Stein
On 5/17/07, Alec Mihailovs <[EMAIL PROTECTED]> wrote: > > > Great! Make sure and subscribe to sage-support > > http://www.sagemath.org/lists.html > > The only problem is that both sage-devel and sage-support seem to be having > too much of flooding - I am checking my mailbox right now and the a

[sage-devel] Re: Kudos on a fabulous system!

2007-05-17 Thread Alec Mihailovs
> Great! Make sure and subscribe to sage-support > http://www.sagemath.org/lists.html The only problem is that both sage-devel and sage-support seem to be having too much of flooding - I am checking my mailbox right now and the amount of postings there is comparable with the amount of spam t

[sage-devel] Re: Bizarre behaviour: rational numbers: very slow, number fields: very fast.

2007-05-17 Thread William Stein
On 5/17/07, Michel <[EMAIL PROTECTED]> wrote: > > Syntax error -- W is not defined. What is W? > > > Sorry. As Justin pointed out W is an arbitrary number field not equal > to the rational numbers. > > > > > > > sage: %timeit ((x+y+z)**3)(1/y,y,y**100) > > > 10 loops, best of 3: 752 ms per loop

[sage-devel] Re: Bizarre behaviour: rational numbers: very slow, number fields: very fast.

2007-05-17 Thread Michel
> Syntax error -- W is not defined. What is W? > Sorry. As Justin pointed out W is an arbitrary number field not equal to the rational numbers. > > > > sage: %timeit ((x+y+z)**3)(1/y,y,y**100) > > 10 loops, best of 3: 752 ms per loop<=== look here! > > sage: %timeit ((u+v+w)**3)(1/v,v,v**100