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
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
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
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
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
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
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: 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
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=
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
>
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'
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
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
>
> 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
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
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:
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
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
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
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.
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
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).
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
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
> 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
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
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!
--~--~-~--~~~-
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]
--~--~-~--~-
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,
"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
"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
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+
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
>
> 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
>
> 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.
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
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
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
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
> 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.
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
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
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
> 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
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
> 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
46 matches
Mail list logo