提示:目前只试了几个表,感觉代码是没有问题的,欢迎大家自己寻找表来验证。
前言
提示:读者可能需要一些非常基础的群的知识。
总所周知,集合带上乘法满足一系列的条件才算是群,当元素有限时,我们把这些个关系写成表的形式,会帮助我们观察,但这时候验证结合律的次数就达到了集合中元素个数的三次方。故借助代码来解决结合律的问题是非常棒的!
一、结合律是什么?
咱们都是小学毕业生,于是就不多赘述了。
二、表的结合律验证
1.代码
代码如下(示例):
%写出表
%请将群表的元素令成1到n的数,即群表第一列为a列就是1,第二列是b列就是2,群表元素a、b也需要对应变化(包含顺序)
%M=[1 2 3 4;2 1 4 3;3 4 1 2;4 3 2 1];%克莱因四元群
%M=ones(3)%一元群
M=[1 2 3;1 2 3;3 3 3]%谢某问的习题
x=zeros(length(M),length(M),length(M));
for i=1:size(M)
for j=1:size(M)
for k=1:size(M)
if M(M(i,j),k)==M(i,M(j,k))
x(i,j,k)=1
else
return
end
end
end
end
c=find(x);
if length(c)==length(M)*length(M)*length(M)
disp('满足结合律')
else
disp('不满足结合律')
end
2.注意事项
由于我实在不会matlab中修改矩阵行列名称的命令,以至于我的代码在实现之前,多了一个自行转换的麻烦步骤。转换方法如下:
图片中的表e行是第一行,所以令e=1.a行是第二行,所以令a=2
~~~~~~~~~~~~~~以此类推,把表中的文字全换成1到n个数
最后输入矩阵M中
总结
依然记得曹老师一年前在高代课上提醒我们可以去学习matlab,督促了两次以后,我才去学。这一次又是在曹老师的近代课上,她的第二次督促下写代码解决结合律问题,真的很感谢曹老师的督促!