Cayley表中的身份属性

时间:2012-05-19 03:34:37

标签: c++ finite-group-theory

我正在开展一个项目,要求我辨别我的文本文件中的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; }

1 个答案:

答案 0 :(得分:1)

C ++不是最容易使用的语言,但它是可行的。

几年前我参加了抽象代数课程,根据我的记忆,你只需要为每种可能的组合写出表达式(因为有些组是非交换式的,你需要做A*BB*A,其中*是一个任意的运算符)并从那里开始工作。

为了降低复杂性,我会按此顺序执行:

  1. 扫描标识元素。那里(应该)只有一个,一旦你确定它的价值,其余的计算应该变得有点容易。
  2. 扫描两个乘以给出标识元素的元素。这两个元素(按照正确的顺序)是反转的。
  3. 确定该组是否为阿贝尔将很简单。只需遵循阿贝尔群体的定义。