Skip to content
Related Articles
Python | SymPy Permutation.get_precedence_matrix() method
• Last Updated : 27 Aug, 2019

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

Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning – Basic Level Course

My Personal Notes arrow_drop_up