2012-05-19 4 views
0

Я работаю над проектом, который требует от меня различения, если таблицы cayley в моих текстовых файлах имеют идентичные, ассоциативные, обратные и абелевы свойства. В настоящее время я работаю над функцией идентификации и в то время как я считаю, что я должен использовать два вложенных цикла для цикла через строки и столбцы таблиц. Я не могу найти ничего, что может подтолкнуть меня в правильном направлении, любая помощь будет оценена. Спасибо JessicaИдентификационная собственность в Cayley Таблица

Просто хотел добавить обновление: Это то, что я, наконец, придумал, разместив на всякий случай, что он все еще может использовать работу. Большое спасибо.

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; }

+0

Для начала, можете ли вы разместить соответствующий код? Я не совсем уверен, какой ответ вы ожидаете получить без какой-либо справочной информации. – Blender

+0

@Blender довольно ясно, что OP говорит, что нет кода, и ему нужна помощь в теории свойств. –

+0

Извините, мне еще нужно начать с кода. Я понимаю, что элемент идентичности в таблице оставит остальные элементы в таблице неизменными .. в умножении все, что умножается на 1, остается неизменным ... Я попытаюсь нарисовать его вручную и получить некоторый psuedocode. в любом случае –

ответ

1

C++ не будет самым простым языком для работы, но это будет выполнимо.

Я взял класс на абстрактной алгебре несколько лет назад, и из того, что я помню, вам просто нужно выписать выражение для каждой возможной комбинации (так как некоторые группы являются некоммутативными, вам нужно будет сделать A*B и B*A, где * - произвольный оператор) и работаем оттуда.

Для того, чтобы уменьшить сложность, я хотел бы сделать это в таком порядке:

  1. сканирования для единичного элемента. Там (должен) быть только один, и как только вы определяете его значение, остальные вычисления должны стать немного легче.
  2. Сканирование двух элементов, которые умножаются на единицу. Эти два элемента (в правильном порядке) являются обратными.
  3. Определение того, является ли группа абелевой, будет простой. Просто следуйте определению абелевой группы.
+0

Blender, вы были правы в том, что другие функции более управляемы после завершения функции идентификации, спасибо! –

Смежные вопросы