Open In App

SymPy | Permutation.unrank_nonlex() in Python

Last Updated : 27 Aug, 2019
Comments
Improve
Suggest changes
Like Article
Like
Report
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 Python3 1=1
# 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 Python3 1=1
# 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)

Next Article
Article Tags :
Practice Tags :

Similar Reads