我正在做一个项目,该项目要求我辨别文本文件中的cayley表是否具有恒等式,关联性,逆性和阿贝尔属性。我目前正在研究标识函数,虽然我相信我必须使用两个嵌套的 for 循环来循环浏览表的行和列。我找不到任何可能推动我朝着正确方向前进的东西,任何帮助都值得赞赏。谢谢杰西卡
只是想添加一个更新:这是我最终想到的,发布以防万一它仍然可以使用工作。非常感谢。
group_el Group::getIdentity()
{
for (int i=0; i<order; i++)
{
bool identIsi = true;
for (int j=0; j<order; j++)
{
if ((op(i,j)==i) && (op(j,i)==i)) //if i*j =i same as j*i = i then i is identity
{
return i;
}
else
{
identIsi = false;
}
}
}
返回NO_IDENTITY;}
C++不是
最容易使用的语言,但它是可行的。
几年前我上了一门抽象代数课,据我回忆,你只需要写出每个可能组合的表达式(因为有些群是非交换的,你需要做A*B
和B*A
,其中*
是一个任意运算符(并从那里开始工作。
为了降低复杂性,我将按以下顺序执行此操作:
- 扫描标识元素。(应该(只有一个,一旦你确定了它的值,其余的计算应该变得容易一些。
- 扫描两个相乘以给出标识元素的元素。这两个元素(按正确的顺序(是相反的。
- 确定该组是否为阿贝尔群很简单。只需遵循阿贝尔群的定义即可。