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 fromsympy.combinatorics.partitions importPartition fromsympy.combinatorics.permutations importPermutation  # 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 fromsympy.combinatorics.partitions importPartition fromsympy.combinatorics.permutations importPermutation  # 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]])
 
				 
					

