📜  SymPy | Python中的 Permutation.support()(1)

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

SymPy | Python 中的 Permutation.support()

SymPy 是 Python 优秀的符号计算库,它可以简化数学运算的复杂度,提高数学问题的求解效率。其中 Permutation 模块提供了处理置换的功能。

Permutation 类的support方法用于返回置换的支撑集(support),即使置换对支撑集以外的元素保持不变。该方法的语法如下:

Permutation.support(*p)

其中*p为置换对象。如果置换不是Permutation对象,*p的参数应该是一个长为置换群阶的序列(即排列模型的元素集合)。通过该方法,我们可以快速获取置换的有效节点。

下面我们来看一个例子,以了解大概的用法:

from sympy.combinatorics.named_groups import SymmetricGroup
from sympy.combinatorics import Permutation

# 定义置换群 S4
S4 = SymmetricGroup(4)
# 随机生成一个置换
p = S4.random_element()

print("置换p:", p)
print("置换p的支撑集:", p.support())

输出如下:

置换p: (1 3)(2)(4)
置换p的支撑集: {1, 3}

其中,置换p(1 3)(2)(4),表示将1映射到3,3映射到1,2映射到它本身(即不变),4映射到它本身。因此,置换p的支撑集应该是{1, 3}。

另外,如果置换为单位置换,其支撑集应为空集合。下面我们来看一个简单的实例:

# 定义置换群 S3
S3 = SymmetricGroup(3)
# 定义单位置换
q = Permutation([1, 2, 3])

print("置换q:", q)
print("置换q的支撑集:", q.support())

输出如下:

置换q: ()
置换q的支撑集: set()

这里的置换q为单位置换,它没有将任何元素映射到其它元素,因此其支撑集为空集合。

以上就是SymPy中Permutation模块的支撑集相关的介绍。