On Thu, Sep 20, 2012 at 07:25:42PM -0700, Andrew Mathas wrote:
> Please let me know which of the following options you prefer:
> 1. deprecate the options to number_of_partitions and have the function in
> the global namespace point directly to
> sage.combinat.partitions.number_of_partitions so as to create a
> genuinely fast function.
> (This is what is currently done in #13072)
> 2. deprecate the options from number_of_partitions but still have the
> number_of_partitions function in the global namespace point to
> sage.combinat.partition.number_of_partitions which then calls whatever
> the current fastest implementation is.
>
> ...
>
> My preference is option #1. Note that all of the current options to
> number_of_partitions are still available through
> Partitions(*).cardinality() so no functionality is being lost
>
> One issue in favour of option #2 is that the fastest algorithm available
> changes frequently (hence the choice of algorithm in the
> number_of_partitions function). Currently it is Bober's algorithm but trac
> #13199 implements a significantly faster algorithm which lives natively in
> FLINT. This patch depends on #12173 which updates FLINT to version 2.3.
> There seem to be some issues with the upgrade to FLINT 2.3 but as soon as
> they are resolved it should be possible to merge #13199 quickly into sage
> (I'm happy to review it).
In the long run I definitely vote for option 1, with
sage.combinat.partitions.number_of_partitions pointing at any time to
whatever implementation is fastest. I am also all fine with option 1
in the short run if the user gets a useful error message when passing
extra options; something like:
sage: number_of_partitions(4, <some options>)
Error ... options ... not supported anymore ...
Please use Partitions(n, <options>)
Otherwise I vote for option 2 as a first round, and option 1 later.
But that's just my 2 cents!
Cheers,
Nicolas
--
Nicolas M. ThiƩry "Isil" <[email protected]>
http://Nicolas.Thiery.name/
--
You received this message because you are subscribed to the Google Groups
"sage-combinat-devel" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-combinat-devel?hl=en.