SymPy | Permutation.unrank_nonlex() in Python

Permutation.unrank_nonlex() : unrank_nonlex() is a sympy Python library function which is a linear time unranking algorithm that does not respect lexicographic order.
Syntax : sympy.combinatorics.permutations.Permutation.unrank_nonlex()
Return : linear time unranking.
Code #1 : unrank_nonlex() Example
# Python code explaining # SymPy.Permutation.unrank_nonlex() # importing SymPy libraries from sympy.combinatorics.partitions import Partition from sympy.combinatorics.permutations import Permutation # Using from # sympy.combinatorics.permutations.Permutation.unrank_nonlex() method # creating Permutation a = Permutation([[2, 0], [3, 1]]) b = Permutation([1, 3, 5, 4, 2, 0]) print ("Permutation a - unrank_nonlex form : ", a.unrank_nonlex(2, 5)) print ("Permutation b - unrank_nonlex form : ", b.unrank_nonlex(1, 6)) |
Output :
Permutation a – unrank_nonlex form : (1)
Permutation b – unrank_nonlex form : (0)
Code #2 : unrank_nonlex() Example
# Python code explaining # SymPy.Permutation.unrank_nonlex() # importing SymPy libraries from sympy.combinatorics.partitions import Partition from sympy.combinatorics.permutations import Permutation # Using from # sympy.combinatorics.permutations.Permutation.unrank_nonlex() method # creating Permutation a = Permutation([[2, 4, 0], [3, 1, 2], [1, 5, 6]]) print ("Permutation a - unrank_nonlex form : ", a.unrank_nonlex(2, 8)) |
Output :
Permutation a – unrank_nonlex form : (0 1)



