Open In App

SymPy | Permutation.unrank_nonlex() in Python

Improve
Improve
Like Article
Like
Save
Share
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




# 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)



Last Updated : 27 Aug, 2019
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads