Open In App

Python | SymPy Permutation.get_precedence_matrix() method

Improve
Improve
Like Article
Like
Save
Share
Report

Permutation.get_precedence_matrix() : get_precedence_matrix() is a sympy Python library function that calculates the precedence matrix for the permutation in argument by calculating the precedence distance between the two.

p and q represent n jobs. The precedence metric counts the no. of times a job n is preceded by job m in both p and q. This is a commutative matrix.

Syntax :
sympy.combinatorics.permutations.Permutation.get_precedence_matrix()

Return :
calculates the precedence matrix for the permutation

Code #1 : get_precedence_matrix() Example




# Python code explaining
# SymPy.Permutation.get_precedence_matrix()
  
# importing SymPy libraries
from sympy.combinatorics.partitions import Partition
from sympy.combinatorics.permutations import Permutation
  
# Using from 
# sympy.combinatorics.permutations.Permutation.get_precedence_matrix() method 
  
# creating Permutation
a = Permutation([2, 0, 3, 1, 5, 4])
  
b = Permutation([3, 1, 2, 5, 4, 0])
  
print ("a - get_precedence_matrix : \n", a.get_precedence_matrix())
print ("b - get_precedence_matrix : \n", b.get_precedence_matrix())


Output :

a – get_precedence_matrix :
Matrix([[0, 1, 0, 1, 1, 1],
[0, 0, 0, 0, 1, 1],
[1, 1, 0, 1, 1, 1],
[0, 1, 0, 0, 1, 1],
[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 1, 0]])

b – get_precedence_matrix :
Matrix([[0, 0, 0, 0, 0, 0],
[1, 0, 1, 0, 1, 1],
[1, 0, 0, 0, 1, 1],
[1, 1, 1, 0, 1, 1],
[1, 0, 0, 0, 0, 0],
[1, 0, 0, 0, 1, 0]])

Code #2 : get_precedence_matrix() Example – 2D Permutation




# Python code explaining
# SymPy.Permutation.get_precedence_matrix()
  
# importing SymPy libraries
from sympy.combinatorics.partitions import Partition
from sympy.combinatorics.permutations import Permutation
  
# Using from 
# sympy.combinatorics.permutations.Permutation.get_precedence_matrix() method 
  
# creating Permutation
a = Permutation([[2, 4, 0], 
                 [7, 1, 3],
                 [8, 5, 6]])
  
b = Permutation([[8, 4, 0], 
                 [2, 7, 0],
                 [1, 6, 7]])
      
print ("a get_precedence_matrix : \n", a.get_precedence_matrix())
  
print ("\nb get_precedence_matrix : \n", b.get_precedence_matrix())


Output :

a get_precedence_matrix :
Matrix([[0, 1, 0, 0, 0, 1, 1, 0, 1],
[0, 0, 0, 0, 0, 1, 0, 0, 0],
[1, 1, 0, 1, 1, 1, 1, 1, 1],
[1, 1, 0, 0, 1, 1, 1, 1, 1],
[1, 1, 0, 0, 0, 1, 1, 1, 1],
[0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 1, 0, 0, 0, 1, 0, 0, 1],
[1, 1, 0, 0, 0, 1, 1, 0, 1],
[0, 1, 0, 0, 0, 1, 0, 0, 0]])

b get_precedence_matrix :
Matrix([[0, 0, 0, 0, 1, 0, 0, 0, 0],
[1, 0, 1, 1, 1, 1, 0, 1, 0],
[1, 0, 0, 0, 1, 1, 0, 1, 0],
[1, 0, 1, 0, 1, 1, 0, 1, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0],
[1, 0, 0, 0, 1, 0, 0, 1, 0],
[1, 1, 1, 1, 1, 1, 0, 1, 0],
[1, 0, 0, 0, 1, 0, 0, 0, 0],
[1, 1, 1, 1, 1, 1, 1, 1, 0]])



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