我正试着和Sage一起做一些工作,但我不知道如何做下面的工作。你知道吗
我写了一些小代码:
def ElementDr1(r):
G = SymmetricGroup(r)
E = G.list()
O = G.order()
coeff = ZeroCoeff(O)
for i in range(0,O):
if E[i] == G("(1,r)"):
coeff [i]=1
if E[i] == G("(2,3)*(1,r)"):
coeff [i]=1
if E[i] == G("(1,3)*(1,r)"):
coeff [i]=-1
return coeff
Sage说置换向量(1,r)
是无效的。我确信一定有一种方法可以写出未知的置换向量,但是通过查看Sage的帮助,我找不到这个方法是什么。你知道吗
此错误可能是由于使用包含
r
的字符串调用G("...")
。将r
替换为这些字符串中的值,例如:这里有几个问题:
G("(1,2)(3,4)")
,中间没有*。你知道吗因为(1,3)(1,r)不是有效的循环分解,所以要做的是将(1,3)乘以(1,r)。为此,首先创建这些元素,然后将它们相乘(使用*运算符)。因为元素是循环的,所以您甚至不需要字符串:可以从元组创建元素。你知道吗
现在它运行,输出r=3的
[-1, 0, 0, 1, 0, 1]
。你知道吗相关问题 更多 >
编程相关推荐