Possible memory leak? (was: update on fast mult benchmark (fwd))

Richard Fateman fateman at cs.berkeley.edu
Sun Mar 24 21:18:04 CET 2002



Richard B. Kreckel wrote:


>>
> 
> Sure Maple bothers to sort!  The order may not be apparent, but they do
> sort their expressions.  Hasn't that been the consensus when the
> discussion last came up on sci.math.symbolic?


I don't call what they do sorting, since they do not impose an external
order on expressions: it is merely collecting of terms.  This can
be done by a hash table in (probably) O(n) time.  An answer which
does not allow you to tell the degree of a polynomial without looking
through all the terms is less useful.  A test which requires division
would probably show this.


> 
> By the way: This observation of yours that Maple gets slower on the
> 2nd trial, isn't this exactly the problem Carl DeVore was describing in
> sci.math.symbolic recently?  It seems to get even slower after more
> trials.  Is this a new "feature" or do older releases of Maple also suffer
> from this?


I have no old copies "alive".


> 
> [...]
> 
>>There are not too many ways of multiplying sparse polynomials without
>>using u*v multiplies and  about  u*v -size(answer) adds.
>>
> 
> I was referring more to implementation details than to fundamental
> algorithmic things.  Hence the gazillions.   :-)
> 
> 
>>                                                           For dense
>>polynomials in a finite field, FFT can be used.  My guess is that
>>an FFT approach would not be faster on such a small ( :) ) problem
>>as this one.  But a careful implementation might win.  In order
>>to represent the inputs and the outputs, the FFT would probably
>>have to be done quite a few times since the bignum coefficients
>>would need to be built up by Chinese Remainder.
>>
> 
> This is exactly what I was thinking when Dan Bernstein recommended
> the FFT-based method for univariate polynomials when I last met him.
> I don't know if anything came out of his Zmult project, though...


It would be possible to encode the question and the answer as a
huge multiplication of 2 integers.  The loss in encoding and decoding
would be either very wasteful or very tricky.


<snip>


RJF




More information about the GiNaC-devel mailing list