Max Alekseyev on Mon, 08 Oct 2012 21:24:00 +0200


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: numtoperm and Factorial Number System


I'll send the code this week.
As of the current 'default' -- there is no reason to keep it as its
behavior is not documented.
Max

On Mon, Oct 8, 2012 at 9:52 AM, Charles Greathouse
<charles.greathouse@case.edu> wrote:
> Probably it would be best to allow choosing permutation type with a
> flag, e.g. 0 = default, 1 = lexicographic, 2 = Zakharevich. None of my
> code at present depends on the type but perhaps some does. In any case
> there could be speed implications, especially if the existing code is
> faster (but some applications require lexicographic order).
>
> Charles Greathouse
> Analyst/Programmer
> Case Western Reserve University
>
> On Sun, Oct 7, 2012 at 12:21 PM, Joerg Arndt <arndt@jjj.de> wrote:
>> Please ask Max Alekseyev!
>> IIRC he such code, even for multiset-permutations.
>>
>> While we are at combinatorial generation,
>> are there plans for other types of objects
>> (e.g. partitions, and set partitions)?
>>
>> Best regards,  jj
>>
>>
>> * Karim Belabas <Karim.Belabas@math.u-bordeaux1.fr> [Oct 07. 2012 18:03]:
>>> * Mathieu Carbou [2012-10-07 01:56]:
>>> [...]
>>> > I was wondering why in PARI the numtoperm does not match the Nth
>>> > permutation in the factorial number system ?
>>>
>>> No particular reason. The code was submitted (by Ilya Zakharevich) and
>>> included essentially "as is".
>>>
>>> > Is there a way to use numtoperm to get the good result or I have to code
>>> > a function which decompose the number in the factorial number system by
>>> > myself ?
>>>
>>> Not currently. There's a long-standing wishlist item in the Bug Tracking System
>>>
>>>   http://pari.math.u-bordeaux1.fr/cgi-bin/bugreport.cgi?bug=899
>>>
>>> asking for a lexicographic ordering (aka Lehmer code). If someone has a
>>> GP or C implementation for this, I have no objection to replacing the
>>> current code.
>>>
>>> [ The current numtoperm / permtonum code should be modified anyway to
>>> return / accomodate t_VECSMALLs: it's more efficient and permutations are
>>> now represented by t_VECSMALLs anyway. This way they can be inverted,
>>> multiplied, etc. ]
>>>
>>> Cheers,
>>>
>>>     K.B.
>>> --
>>> Karim Belabas, IMB (UMR 5251)  Tel: (+33) (0)5 40 00 26 17
>>> Universite Bordeaux 1          Fax: (+33) (0)5 40 00 69 50
>>> 351, cours de la Liberation    http://www.math.u-bordeaux1.fr/~belabas/
>>> F-33405 Talence (France)       http://pari.math.u-bordeaux1.fr/  [PARI/GP]
>>> `
>>
>