gpt4 book ai didi

python - 群论和 Python

转载 作者:行者123 更新时间:2023-11-28 18:23:03 24 4
gpt4 key购买 nike

如何编写 Python 代码来检查 Cayley 表定义的集合 {0,1,..,n−1} 上的运算 ∗ 是否结合。

我尝试的代码是:

def is_associative_cayley_table(table):
if not is_cayley_table(table):
return False

for i in range (0,len(table)):
for j in range (0,len(table)):
for k in range (0,len(table)):
if (table[table[i][j])][k])==(table[i][(table[j][k])]):
print("Okay")
else
return False

最佳答案

与其打印 "Okay" n^3 次,您可能只想返回 bool

def is_associative_cayley_table(table):
if not is_cayley_table(table):
return False

for i in range (0,len(table)):
for j in range (0,len(table)):
for k in range (0,len(table)):
if (table[table[i][j])][k])!=(table[i][(table[j][k])]):
return False
return True

此外,目前还没有算法来检查集合的结合性。
你必须使用蛮力。

你能做的最好的就是使用 Light's Associativity Test ,它“不会改善 O(n^3) 的最坏情况运行时间。它只是在某些情况下简化了任务。”

关于python - 群论和 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43508269/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com