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] >>> ` >> >