วันจันทร์ที่ 10 กรกฎาคม พ.ศ. 2560

Re: [sage-devel] Re: [ODK participants] Blog post on fast multivariate arithmetic

This is now #23395

El lunes, 10 de julio de 2017, 13:43:46 (UTC+2), mmarco escribió:
If you used quo_rem, beware that Sage only uses Singular if the coefficient ring is a field. So if you define your polynomials over QQ instead of ZZ you will get timings similar to those of Singular. In the case of ZZ, it will do so with some generic python implementation of division.

I guess we could rely on Singular also for the case of Integers.

El lunes, 10 de julio de 2017, 12:48:55 (UTC+2), mmarco escribió:
It is surprising the difference between singular and Sage, considering that Sage mostly relies on Singular for multivariate polynomial arithmetic. In the case of divisions, I suspect that it has to do with the fact that Sage treats division of polynomials as an operation in the fraction field, so it would construct the fraction, look for common factors in the numerator and denominator, and cancel them. That is probably not what other systems do.

Which commands/instructions did you use in your benchmarks?

El lunes, 10 de julio de 2017, 12:13:00 (UTC+2), Bill Hart escribió:
The reason that I required the quotient as well in the divisibility benchmark was that Magma does the n = 20 dense case in 0.15s otherwise, and I don't believe it is possible to do it that fast if you aren't doing it heuristically, as I explained in the blog post. Therefore, all the systems timed must return the quotient if the division is exact (which it is in the benchmark examples, since that is the hard case), so that Magma can't possibly "cheat".

As mentioned, if the various systems don't provide such a function, I substituted divrem, since it is possible to look at the remainder to see if it was divisible, and then take the quotient as required by the benchmark.

It is really hard to benchmark a bunch of systems against one another. When I first timed Giac, I wasn't aware of a bunch of special parameters you can pass to the Giac functions which make them run much faster. And basically, there aren't many functions that all the systems happen to implement with the same semantics, so I have to simulate what a user would do if that is the semantics they want. I didn't do it to make Sage look bad, honest!

On Monday, 10 July 2017 12:05:28 UTC+2, Bill Hart wrote:
7.6

On Monday, 10 July 2017 11:56:32 UTC+2, vdelecroix wrote:
On 10/07/2017 09:34, Ralf Stephan wrote:
> On Monday, July 10, 2017 at 8:55:23 AM UTC+2, vdelecroix wrote:
>>
>> He was certainly not using the awfully slow symbolic ring
>>
>
> Then his slow timings for e.g. "Divisibility test with quotient (sparse)"
> needs a different explanation.

Sage version?

--
You received this message because you are subscribed to the Google Groups "sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscribe@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

ไม่มีความคิดเห็น:

แสดงความคิดเห็น