📅  最后修改于: 2023-12-03 15:04:22.862000             🧑  作者: Mango
Permutation是SymPy中的一个类,代表置换,即序列的重新排列。get_precedence_matrix()方法用于创建一个先行矩阵(precedence matrix),表示置换中每个元素的位置信息。
Permutation.get_precedence_matrix(n)
from sympy.combinatorics.permutations import Permutation
p = Permutation([0, 2, 1]) # 创建置换
print(p.get_precedence_matrix(3)) # 输出先行矩阵
Matrix([[0, 0, 0], [1, 0, 1], [1, 1, 0]])
由于置换p的元素数量为3,故n为3。根据先行矩阵的定义,p.get_precedence_matrix(3)的返回值是以下3 * 3矩阵:
| | 0 | 1 | 2 | |---|---|---|---| | 0 | 0 | 0 | 0 | | 1 | 1 | 0 | 1 | | 2 | 1 | 1 | 0 |
因为置换p可表示为[0, 2, 1],所以第1列和第3列的值都为1,表示1和2都在0的前面出现了1次,2在1的前面出现了1次,0在2的前面出现了1次。其余的元素都为0,表示它们之间没有顺序关系。