📜  Python| SymPy Permutation.get_precedence_matrix() 方法(1)

📅  最后修改于: 2023-12-03 15:04:22.862000             🧑  作者: Mango

Python | SymPy Permutation.get_precedence_matrix() 方法
介绍

Permutation是SymPy中的一个类,代表置换,即序列的重新排列。get_precedence_matrix()方法用于创建一个先行矩阵(precedence matrix),表示置换中每个元素的位置信息。

语法
Permutation.get_precedence_matrix(n)
参数
  • n:int类型,置换中元素的数量。
返回值
  • 先行矩阵,即一个n * n的矩阵,其中第(i, j)个元素表示排列中第i个元素在第j个元素之前出现的次数。
示例代码
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,表示它们之间没有顺序关系。