%I #23 Jan 31 2022 19:25:27
%S 0,1,2,4,3,5,6,7,12,18,13,19,8,10,14,20,16,22,9,11,15,21,17,23,24,25,
%T 26,28,27,29,48,49,72,96,73,97,50,52,74,98,76,100,51,53,75,99,77,101,
%U 30,31,36,42,37,43,54,55,78,102,79,103,60,66,84,108,90,114,61,67,85
%N Self-inverse infinite permutation which shows the position of each finite permutation's inverse permutation in A055089.
%C PermRevLexRank and PermRevLexUnrank have been modified from the algorithms PermLexRank and PermLexUnrank presented in the book "Combinatorial Algorithms, Generation, Enumeration and Search", by Donald L. Kreher and Douglas R. Stinson.
%H Tilman Piesk, <a href="/A056019/b056019.txt">Table of n, a(n) for n = 0..5039</a>
%H <a href="/index/Per#IntegerPermutation">Index entries for sequences that are permutations of the natural numbers</a>
%e E.g. the permutation [2,3,1] is the 4th permutation (counting from 0th, the identity permutation) of A055089, its inverse permutation is [3,1,2] which is 3rd, thus a(4)=3 and a(3)=4.
%p PermRevLexRank := proc(pp) local p,n,i,j,r; p := pp; n := nops(p); r := 0; for j from n by -1 to 1 do r := r + (((j-p[j])*((j-1)!))); for i from 1 to (j-1) do if(p[i] > p[j]) then p[i] := p[i]-1; fi; od; od; RETURN(r); end;
%p [seq(PermRevLexRank(convert(invperm(convert(PermRevLexUnrank(j), 'disjcyc')), 'permlist', nops(PermRevLexUnrank(j)))), j=0..200)];
%t A056019 = Position[Ordering /@ #, #[[#2]]][[1, 1]] - 1 &[Reverse@SortBy[Permutations@Range@Ceiling@InverseFunction[Factorial][# + 1], Reverse], # + 1] &; Array[A056019, 69, 0] (* _JungHwan Min_, Oct 10 2016 *)
%t A056019L = Ordering[Ordering /@ Permutations@Range@Ceiling@InverseFunction[Factorial][# + 1]] - 1 &; A056019L[24] (* _JungHwan Min_, Oct 10 2016 *)
%K nonn,look
%O 0,3
%A _Antti Karttunen_, Jun 08 2000