Python | SymPy Permutation.get_precedence_matrix() method
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]])
Contact Us