Python SymPy Permutation.get_precedence_matrix()方法
Permutation.get_precedence_matrix() : get_precedence_matrix()是一个sympy Python库函数,通过计算参数中的permutation的优先级距离来计算优先级矩阵。
p和q代表n个工作。优先度指标计算工作n在p和q中都被工作m排在前面的次数。
语法 : sympy.combinatorics.permutations.Permutation.get_precedence_matrix()
返回 :
计算排列组合的优先权矩阵
代码 #1 : get_precedence_matrix() 示例
# 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())
输出 :
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]])
代码#2:get_precedence_matrix()示例–二维排列组合
# 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())
输出 :
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]])