Восьміелементние асоціативні кільця

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Федеральне агентство з освіти
Державна освітня установа вищої професійної освіти
Вятський Державний Гуманітарний Університет
Математичний факультет
Кафедра алгебри і геометрії
Випускна кваліфікаційна робота
Восьміелементние асоціативні кільця
Виконав: студент V курсу математичного факультету Касьянов А.А.
_________________________
Науковий керівник: д.ф.-м.н., професор, зав. кафедри алгебри і геометрії
Вечтомов Є.М.
_________________________
Рецензент: к.ф.-м.н., доцент
Чермний В.В.
_________________________
Допущений до захисту в ГАК
Зав. кафедрой________________ Вечтомов Є.М.
«»___________
Декан факультета_____________ Варанкіна В.І.
«»___________
Кіров 2005
Зміст
Введення ................................................. ....................................... 3
§ 1. Абелеві групи по складанню .............................................. 5
§ 2. Кільця, утворені адитивної групою ............ 8
§ 3. Кільця, утворені адитивної групою ... 10
Бібліографічний список ................................................ ........ 11
Додаток ................................................. ............................... 12

Введення
Поняття кільця з'явилося в математиці в кінці XIX століття. Першими прикладами асоціативних кілець були числові кільця, тобто підкільце поля комплексних чисел і кільця класів відрахувань цілих чисел. Як самостійна область алгебри, теорія асоціативних кілець оформилася до початку XX століття. З цієї теорії виділилися в самостійні галузі алгебри теорії комутативних кілець, тел, алгебр.
Дамо основні поняття, якими ми будемо користуватися в подальшому.
Адитивної абелевої групою називається алгебра з бінарної операцією + (додавання), що задовольняє наступним аксіомам:
1) складання асоціативно, тобто ;
2) у G існує нейтральний елемент 0 (нуль) такий, що ;
3) в G для будь-якого елемента існує протилежний елемент, тобто ;
4) Додавання комутативне: ;
Мультиплікативної напівгруп називається алгебра з бінарної операцією (Множення), яка задовольняє законом асоціативності: ; (Надалі ми будемо писати ab, і мати на увазі твір елементів a і b в G.
Кільцем називається алгебра з двома бінарними операціями додавання і множення, які задовольняють таким умовам:
1) щодо складання кільце є абелевої групою;
2) відносно множення - це напівгрупа;
3) виконуються закони дистрибутивності: і ;
Ця дипломна робота являє собою виклад методики вивчення певних кінцевих алгебр. В даний час вивчення кінцевих алгебр проводиться за допомогою комп'ютера. Завдання даної дипломної роботи полягає у знаходженні всіх восьміелементних асоціативних кілець. Для цього ми спочатку знаходимо все абелеві групи з восьми елементів, а потім для кожної такої групи будуємо відповідні напівгрупи по множенню, і отримуємо шукані кільця.
Всього абелевих груп по додаванню, з точністю до ізоморфізму, буде три: , , І . Для групи , Кільця знаходяться вручну. Для знаходження кілець для інших двох групам потрібно використовувати комп'ютер, так як кількість всіляких напівгруп по множенню буде велика і, відповідно, відбір восьміелементних кілець без залучення обчислювальної машини займе дуже багато часу.
В результаті одержуємо, що всього існує з точністю до ізоморфізму 392 восьміеліментних кільця.
Для роботи з абелевих груп та напівгрупами по множенню, а також для подання їх в комп'ютері, будемо користуватися таблицями Келі. Таблицею Келі називається квадратна таблиця довільній алгебри, що задається для певної бінарної операції. Головна рядок таблиці заповнюється в деякому порядку символами, які позначають різні елементи, тими ж символами і в тому ж порядку заповнюється головний стовпець. Якщо алгебра має нейтральним елементом, то цей елемент, як правило, міститься на першому місці. Якщо на i-му місці в заголовному стовпці стоїть символ a i, і на j-му місці в заголовній рядку - символ a j, то на перетині i-го рядка і j-го стовпця записується символ, що позначає результат операції елементів a i і a j. У нашому випадку ми не будемо писати великі рядки таблиці, маючи на увазі, що елементи пронумеровані числами від 0 до 7. Ми будемо використовувати таблиці Келі без великих рядка і стовпця.

§ 1. Абелеві групи по складанню
Як вже було сказано вище, всього восьміелементних адитивних абелевих груп з точністю до ізоморфізму три: , , І .
Уявімо кожну з таких груп у вигляді таблиць Келі. Для групи елементи представимо числами від 0 до 7. Елементи для груп і позначимо наступним чином:


0 º (0,0)
1 º (1,0)
2 º (2,0)
3 º (3,0)
4 º (0,1)
5 º (1,1)
6 º (2,1)
7 º (3,1)
0 º (0,0,0)
1 º (1,0,0)
2 º (0,1,0)
3 º (0,0,1)
4 º (1,1,0)
5 º (1,0,1)
6 º (0,1,1)
7 º (1,1,1)
Таким чином, групи будуть мати наступний вигляд:



0 1 2 3 4 5 6 7
1 2 3 4 5 6 7 0
2 3 4 5 6 7 0 1
3 4 5 6 7 0 1 2
4 5 6 7 0 1 2 3
5 6 7 0 1 2 3 4
6 7 0 1 2 3 4 5
7 0 1 2 3 4 5 6
0 1 2 3 4 5 6 7
1 2 3 0 5 6 7 4
2 3 0 1 6 7 4 5
3 0 1 2 7 4 5 6
4 5 6 7 0 1 2 3
5 6 7 4 1 2 3 0
6 7 4 5 2 3 0 1
7 4 5 6 3 0 1 2
0 1 2 3 4 5 6 7
1 0 4 5 2 3 7 6
2 4 0 6 1 7 3 5
3 5 6 0 7 1 2 4
4 2 1 7 0 6 5 3
5 3 7 1 6 0 4 2
6 7 3 2 5 4 0 1
7 6 5 4 3 2 1 0
Потім, для кожної такої групи, ми будемо будувати напівгрупи по множенню, користуючись також таблицями Келі. Для групи таких напівгруп буде всього 8, так як нам досить визначити чому одно твір 1.1. На місце цього твору ми можемо поставити один з 8 елементів (від 0 до 7), а всі інші елементи будуть визначатися однозначно, згідно дистрибутивному законом. Асоціативність множення буде виконуватися, оскільки множення зводиться до складання. Крім того, множення буде комутативне. Таким чином, після викреслювання ізоморфних, ми будемо мати 4 кільця з абелевої групою по складанню :
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 1 2 3 4 5 6 7
0 2 4 6 0 2 4 6
0 3 6 1 4 7 2 5
0 4 0 4 0 4 0 4
0 5 2 7 4 1 6 3
0 6 4 2 0 6 4 2
0 7 6 5 4 3 2 1
0 0 0 0 0 0 0 0
0 2 4 6 0 2 4 6
0 4 0 4 0 4 0 4
0 6 4 2 0 6 4 2
0 0 0 0 0 0 0 0
0 2 4 6 0 2 4 6
0 4 0 4 0 4 0 4
0 6 4 2 0 6 4 2
0 0 0 0 0 0 0 0
0 4 0 4 0 4 0 4
0 0 0 0 0 0 0 0
0 4 0 4 0 4 0 4
0 0 0 0 0 0 0 0
0 4 0 4 0 4 0 4
0 0 0 0 0 0 0 0
0 4 0 4 0 4 0 4
У випадку з групою в напівгруп по множенню вже буде 4 незалежних твори, тобто це такі елементи в таблиці Келі для напівгрупи по множенню, на які ми можемо поставити будь-який з елементів від 0 до 7. Відповідно всього різних кілець без урахування асоціативності і викреслювання ізоморфних буде 8 4. Перевірка асоціативності множення і виділення ізоморфних кілець здійснюється програмним способом. Щоб знайти кільце, ізоморфне даним, потрібно спочатку знайти всі автоморфізм абелевої групи по складанню, а потім цими перетвореннями подіяти на напівгрупи по множенню, і відповідно отримані однакові кільця викреслити. Автоморфізм групи будемо шукати вручну. Виділимо в даній групі елементи 1, 3, 5, 7 - елементи четвертого порядку. Інші елементи будуть виражатися через них: 4 = 1 +7, 6 = 1 +5, 2 = 4 +6 - це елементи другого порядку. Пари елементів 1 º (1,0), 3 º (3,0) та 5 º (1,1), 7 º (3,1) - протилежні один одному елементи. Нам досить подивитися, як будуть вести себе елементи четвертого порядку при автоморфізмів. Це будуть 6 взаимнооднозначное відображень, в тому числі і тотожне, які переводять дану групу в себе:
1 ® 3
3 ® 1
5 ® 7
7 ® 5
4 ® 4
6 ® 6
2 ® 2
1 ® 1
3 ® 3
5 ® 7
7 ® 5
4 ® 6
6 ® 4
2 ® 2
1 ® 3
3 ® 1
5 ® 5
7 ® 7
4 ® 6
6 ® 4
2 ® 2
1 ® 5
5 ® 1
3 ® 7
7 ® 3
4 ® 4
6 ® 6
2 ® 2
1 ® 7
7 ® 1
3 ® 5
5 ® 3
4 ® 4
6 ® 6
2 ® 2
Кілець з абелевої групою по складанню буде 8 9, так як незалежних елементів у напівгруп по множенню буде 9. Потрібні нам кільця, ми будемо шукати аналогічно попередньому випадку. Тільки автоморфізм даної групи ми будемо шукати інший спосіб. Зауважимо, що група є тривимірним векторним простором над полем Z 2 і базисом групи ми назвемо будь-який її базис, як векторний простір над Z 2. Дана група задається деякими трьома елементами - базисом групи, а інші елементи виражаються через даний базис. Приміром початковий базис: (1,2,3). Відповідно: 4 = 1 +2, 5 = 1 +3, 6 = 2 +3, 7 = 1 +2 +3. Таким чином, кількість всіх базисів - це кількість всіляких упорядкованих трійок з даних семи елементів, за винятком таких трійок, які базис не утворюють, на приклад: (1,2,4), так як 4 = 1 +2. Кількість всіх базисів - це і буде кількість всіх автоморфізмів даної групи. Спочатку знайдемо всілякі невпорядковані трійки з 7 елементів, які утворюють базис. Отримаємо 28 таких трійок. Щоб знайти всі базиси, потрібно кожну знайдену трійку, порядок, тобто 28.6. Таким чином отримуємо 168 різних базисів.

§ 2. Кільця, утворені адитивної групою
Для знаходження кілець, з абелевої групою по складанню ми будемо використовувати програму на мові Pascal (Додаток 1). Принцип роботи програми наступний:
1) Знаходимо всі напівгрупи по множенню, так, щоб виконувалась дистрибутивність;
2) Перевіряємо кожну напівгрупу на асоціативність, і, відповідно, непотрібні викреслюємо;
3) Знаходимо ізоморфні кільця наступним чином: а) беремо першу напівгрупу по множенню і діємо на неї автоморфізмів для адитивної абелевої групи; б) знаходимо вийшли напівгрупи серед інших, і викреслюємо їх із загального списку; в) потім беремо наступну не викреслити напівгрупу і проробляємо операції а)-б).
Пояснимо пункт а). Нехай f - автоморфізм групи . Беремо мультипликативную напівгрупу <A,·> відповідного кільця, представлену таблицею Келі. Тоді через <f A, *> позначимо мультипликативную напівгрупу на , Отриману в такий спосіб. Для будь-яких a, b Î   вважаємо a * b = f (f -1 (a) · f -1 (b)). При цьому кільця <A,·,+> і <f A ,*,+> ізоморфні.
Таким чином, ми отримаємо 33 кільця з абелевої групою по складанню і мультиплікативними напівгрупами:

0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 1 1 1 1
0 0 0 0 1 1 1 1
0 0 0 0 1 1 1 1
0 0 0 0 1 1 1 1
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 2 2 2 2
0 0 0 0 2 2 2 2
0 0 0 0 2 2 2 2
0 0 0 0 2 2 2 2
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 4 4 4 4
0 0 0 0 4 4 4 4
0 0 0 0 4 4 4 4
0 0 0 0 4 4 4 4
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 5 5 5 5
0 0 0 0 5 5 5 5
0 0 0 0 5 5 5 5
0 0 0 0 5 5 5 5
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 1 2 3 4 5 6 7
0 1 2 3 4 5 6 7
0 1 2 3 4 5 6 7
0 1 2 3 4 5 6 7
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 2 0 2 0 2 0 2
0 2 0 2 0 2 0 2
0 2 0 2 0 2 0 2
0 2 0 2 0 2 0 2
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 2 0 2 2 0 2 0
0 2 0 2 2 0 2 0
0 2 0 2 2 0 2 0
0 2 0 2 2 0 2 0
0 0 0 0 0 0 0 0
0 0 0 0 1 1 1 1
0 0 0 0 2 2 2 2
0 0 0 0 3 3 3 3
0 0 0 0 4 4 4 4
0 0 0 0 5 5 5 5
0 0 0 0 6 6 6 6
0 0 0 0 7 7 7 7
0 0 0 0 0 0 0 0
0 0 0 0 1 1 1 1
0 0 0 0 2 2 2 2
0 0 0 0 3 3 3 3
0 1 2 3 4 5 6 7
0 1 2 3 5 6 7 4
0 1 2 3 6 7 4 5
0 1 2 3 7 4 5 6
0 0 0 0 0 0 0 0
0 0 0 0 1 1 1 1
0 0 0 0 2 2 2 2
0 0 0 0 3 3 3 3
0 1 2 3 5 6 7 4
0 1 2 3 6 7 4 5
0 1 2 3 7 4 5 6
0 1 2 3 4 5 6 7
0 0 0 0 0 0 0 0
0 0 0 0 2 2 2 2
0 0 0 0 0 0 0 0
0 0 0 0 2 2 2 2
0 0 0 0 0 0 0 0
0 0 0 0 2 2 2 2
0 0 0 0 0 0 0 0
0 0 0 0 2 2 2 2
0 0 0 0 0 0 0 0
0 0 0 0 2 2 2 2
0 0 0 0 0 0 0 0
0 0 0 0 2 2 2 2
0 2 0 2 0 2 0 2
0 2 0 2 2 0 2 0
0 2 0 2 0 2 0 2
0 2 0 2 2 0 2 0
0 0 0 0 0 0 0 0
0 0 0 0 2 2 2 2
0 0 0 0 0 0 0 0
0 0 0 0 2 2 2 2
0 2 0 2 1 3 1 3
0 2 0 2 3 1 3 1
0 2 0 2 1 3 1 3
0 2 0 2 3 1 3 1
0 0 0 0 0 0 0 0
0 0 0 0 2 2 2 2
0 0 0 0 0 0 0 0
0 0 0 0 2 2 2 2
0 2 0 2 2 0 2 0
0 2 0 2 0 2 0 2
0 2 0 2 2 0 2 0
0 2 0 2 0 2 0 2
0 0 0 0 0 0 0 0
0 1 2 3 0 1 2 3
0 2 0 2 0 2 0 2
0 3 2 1 0 3 2 1
0 0 0 0 0 0 0 0
0 1 2 3 0 1 2 3
0 2 0 2 0 2 0 2
0 3 2 1 0 3 2 1
0 0 0 0 0 0 0 0
0 1 2 3 0 1 2 3
0 2 0 2 0 2 0 2
0 3 2 1 0 3 2 1
0 0 0 0 4 4 4 4
0 1 2 3 4 5 6 7
0 2 0 2 4 6 4 6
0 3 2 1 4 7 6 5
0 0 0 0 0 0 0 0
0 1 2 3 0 1 2 3
0 2 0 2 0 2 0 2
0 3 2 1 0 3 2 1
0 4 0 4 0 4 0 4
0 5 2 7 0 5 2 7
0 6 0 6 0 6 0 6
0 7 2 5 0 7 2 5
0 0 0 0 0 0 0 0
0 1 2 3 1 2 3 0
0 2 0 2 2 0 2 0
0 3 2 1 3 2 1 0
0 1 2 3 1 2 3 0
0 2 0 2 2 0 2 0
0 3 2 1 3 2 1 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 1 2 3 1 2 3 0
0 2 0 2 2 0 2 0
0 3 2 1 3 2 1 0
0 1 2 3 4 5 6 7
0 2 0 2 5 7 5 7
0 3 2 1 6 5 4 7
0 0 0 0 7 7 7 7
0 0 0 0 0 0 0 0
0 1 2 3 4 5 6 7
0 2 0 2 0 2 0 2
0 3 2 1 4 7 6 5
0 0 0 0 0 0 0 0
0 1 2 3 4 5 6 7
0 2 0 2 0 2 0 2
0 3 2 1 4 7 6 5
0 0 0 0 0 0 0 0
0 1 2 3 4 5 6 7
0 2 0 2 0 2 0 2
0 3 2 1 4 7 6 5
0 4 0 4 0 4 0 4
0 5 2 7 4 1 6 3
0 6 0 6 0 6 0 6
0 7 2 5 4 3 6 1
0 0 0 0 0 0 0 0
0 1 2 3 4 5 6 7
0 2 0 2 0 2 0 2
0 3 2 1 4 7 6 5
0 4 0 4 2 6 2 6
0 5 2 7 6 3 4 1
0 6 0 6 2 4 2 4
0 7 2 5 6 1 4 3
0 0 0 0 0 0 0 0
0 2 0 2 0 2 0 2
0 0 0 0 0 0 0 0
0 2 0 2 0 2 0 2
0 0 0 0 0 0 0 0
0 2 0 2 0 2 0 2
0 0 0 0 0 0 0 0
0 2 0 2 0 2 0 2
0 0 0 0 0 0 0 0
0 2 0 2 0 2 0 2
0 0 0 0 0 0 0 0
0 2 0 2 0 2 0 2
0 0 0 0 4 4 4 4
0 2 0 2 4 6 4 6
0 0 0 0 4 4 4 4
0 2 0 2 4 6 4 6
0 0 0 0 0 0 0 0
0 2 0 2 0 2 0 2
0 0 0 0 0 0 0 0
0 2 0 2 0 2 0 2
0 2 0 2 2 0 2 0
0 0 0 0 2 2 2 2
0 2 0 2 2 0 2 0
0 0 0 0 2 2 2 2
0 0 0 0 0 0 0 0
0 2 0 2 1 3 1 3
0 0 0 0 2 2 2 2
0 2 0 2 3 1 3 1
0 1 2 3 4 5 6 7
0 3 2 1 5 4 7 6
0 1 2 3 6 7 4 5
0 3 2 1 7 6 5 4
0 0 0 0 0 0 0 0
0 2 0 2 2 0 2 0
0 0 0 0 0 0 0 0
0 2 0 2 2 0 2 0
0 2 0 2 0 2 0 2
0 0 0 0 2 2 2 2
0 2 0 2 0 2 0 2
0 0 0 0 2 2 2 2
0 0 0 0 0 0 0 0
0 2 0 2 2 0 2 0
0 0 0 0 0 0 0 0
0 2 0 2 2 0 2 0
0 2 0 2 5 7 5 7
0 0 0 0 7 7 7 7
0 2 0 2 5 7 5 7
0 0 0 0 7 7 7 7
0 0 0 0 0 0 0 0
0 2 0 2 3 1 3 1
0 0 0 0 2 2 2 2
0 2 0 2 1 3 1 3
0 3 2 1 5 4 7 6
0 1 2 3 4 5 6 7
0 3 2 1 7 6 5 4
0 1 2 3 6 7 4 5
0 0 0 0 0 0 0 0
0 4 0 4 0 4 0 4
0 0 0 0 0 0 0 0
0 4 0 4 0 4 0 4
0 0 0 0 0 0 0 0
0 4 0 4 0 4 0 4
0 0 0 0 0 0 0 0
0 4 0 4 0 4 0 4
0 0 0 0 0 0 0 0
0 4 0 4 2 6 2 6
0 0 0 0 0 0 0 0
0 4 0 4 2 6 2 6
0 2 0 2 0 2 0 2
0 6 0 6 2 4 2 4
0 2 0 2 0 2 0 2
0 6 0 6 2 4 2 4
0 0 0 0 0 0 0 0
0 4 0 4 6 2 6 2
0 0 0 0 0 0 0 0
0 4 0 4 6 2 6 2
0 6 0 6 6 0 6 0
0 2 0 2 0 2 0 2
0 6 0 6 6 0 6 0
0 2 0 2 0 2 0 2

§ 3. Кільця, утворені адитивної групою
Для знаходження кілець з даною групою по складанню використовувалася програма на мові Pascal (Додаток 2). Принцип дії даної програми, аналогічний принципу, описаного в попередньому параграфі. Додається тільки пункт по знаходженню всіх базисів даної адитивної групи.
Всього кілець з адитивною групою буде 355. Випишемо деякі з них:

0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 1 0 1 1 1
0 0 0 0 0 0 0 0
0 0 0 1 0 1 1 1
0 0 0 1 0 1 1 1
0 0 0 1 0 1 1 1
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 3 0 3 3 3
0 0 0 0 0 0 0 0
0 0 0 3 0 3 3 3
0 0 0 3 0 3 3 3
0 0 0 3 0 3 3 3
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 1 0 1 0 1 1
0 0 0 0 0 0 0 0
0 0 1 0 1 0 1 1
0 0 1 0 1 0 1 1
0 0 1 0 1 0 1 1
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 1 1 1 1 0 0
0 0 0 0 0 0 0 0
0 0 1 1 1 1 0 0
0 0 1 1 1 1 0 0
0 0 1 1 1 1 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 2 3 2 3 6 6
0 0 0 0 0 0 0 0
0 0 2 3 2 3 6 6
0 0 2 3 2 3 6 6
0 0 2 3 2 3 6 6
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 2 5 2 5 7 7
0 0 0 0 0 0 0 0
0 0 2 5 2 5 7 7
0 0 2 5 2 5 7 7
0 0 2 5 2 5 7 7
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 1 1 3 0 5 5 3
0 0 0 0 0 0 0 0
0 1 1 3 0 5 5 3
0 1 1 3 0 5 5 3
0 1 1 3 0 5 5 3
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 1 1 7 0 6 6 7
0 0 0 0 0 0 0 0
0 1 1 7 0 6 6 7
0 1 1 7 0 6 6 7
0 1 1 7 0 6 6 7
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 1 2 3 4 5 6 7
0 0 0 0 0 0 0 0
0 1 2 3 4 5 6 7
0 1 2 3 4 5 6 7
0 1 2 3 4 5 6 7
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 4 0 3 4 7 3 7
0 0 0 0 0 0 0 0
0 4 0 3 4 7 3 7
0 4 0 3 4 7 3 7
0 4 0 3 4 7 3 7
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 4 0 6 4 5 6 5
0 0 0 0 0 0 0 0
0 4 0 6 4 5 6 5
0 4 0 6 4 5 6 5
0 4 0 6 4 5 6 5
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 1 0 1 1 1
0 0 0 0 0 0 0 0
0 0 0 1 0 1 1 1
0 0 0 0 0 0 0 0
0 0 0 1 0 1 1 1
0 0 0 1 0 1 1 1
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 1 0 1 1 1
0 0 0 1 0 1 1 1
0 0 0 1 0 1 1 1
0 0 0 1 0 1 1 1
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 1 0 1 1 1
0 0 1 0 1 0 1 1
0 0 0 1 0 1 1 1
0 0 1 0 1 0 1 1
0 0 1 1 1 1 0 0
0 0 1 1 1 1 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 1 0 1 1 1
0 0 1 1 1 1 0 0
0 0 0 1 0 1 1 1
0 0 1 1 1 1 0 0
0 0 1 0 1 0 1 1
0 0 1 0 1 0 1 1
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 1 0 1 1 1
0 0 1 2 1 2 4 4
0 0 0 1 0 1 1 1
0 0 1 2 1 2 4 4
0 0 1 4 1 4 2 2
0 0 1 4 1 4 2 2
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 2 0 2 2 2
0 0 0 3 0 3 3 3
0 0 0 2 0 2 2 2
0 0 0 3 0 3 3 3
0 0 0 6 0 6 6 6
0 0 0 6 0 6 6 6
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 2 0 2 2 2
0 0 0 5 0 5 5 5
0 0 0 2 0 2 2 2
0 0 0 5 0 5 5 5
0 0 0 7 0 7 7 7
0 0 0 7 0 7 7 7
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 2 0 2 2 2
0 0 2 3 2 3 6 6
0 0 0 2 0 2 2 2
0 0 2 3 2 3 6 6
0 0 2 6 2 6 3 3
0 0 2 6 2 6 3 3

Бібліографічний список.
1. Кострикіна А.І. Введення в алгебру. - М.: Наука, 1997.
2. Кушнірів Л.А. Елементи алгебри. - М.: Наука, 1986.

Додаток
1. Текст програми пошуку кілець, що мають адитивну групу .
Програма 1. Формування мультиплікативних напівгруп:
program form;
uses crt;
type mas = array [0 .. 7,0 .. 7] of integer;
dmas = array [1 .. 7,1 .. 7] of integer;
var a: mas;
b: dmas;
f: text;
procedure sc (var a: mas);
var i, j: integer;
begin
assign (f, 'a: \ mat.txt');
reset (f);
for i: = 0 to 7 do begin
for j: = 0 to 7 do read (f, a [i, j]);
readln (f);
end;
close (f);
end;
procedure zap1 (k1, k2, k3, k4: integer; a: mas; var b: dmas);
var t2, t3, t5, t6, t7: integer;
begin
b [1,1]: = k1; b [1,4]: = k2; b [4,1]: = k3; b [4,4]: = k4;
b [1,2]: = a [b [1,1], b [1,1]]; b [1,3]: = a [b [1,1], b [1,2]];
b [1,5]: = a [b [1,1], b [1,4]]; b [1,6]: = a [b [1,1], b [1,5]];
b [1,7]: = a [b [1,1], b [1,6]];
for t2: = 1 to 7 do b [2, t2]: = a [b [1, t2], b [1, t2]];
for t3: = 1 to 7 do b [3, t3]: = a [b [1, t3], b [2, t3]];
b [4,2]: = a [b [4,1], b [4,1]]; b [4,3]: = a [b [4,1], b [4,2]];
b [4,5]: = a [b [4,1], b [4,4]]; b [4,6]: = a [b [4,1], b [4,5]];
b [4,7]: = a [b [4,1], b [4,6]];
for t5: = 1 to 7 do b [5, t5]: = a [b [1, t5], b [4, t5]];
for t6: = 1 to 7 do b [6, t6]: = a [b [1, t6], b [5, t6]];
for t7: = 1 to 7 do b [7, t7]: = a [b [1, t7], b [6, t7]];
end;
procedure zap (a: mas);
var f1: text;
i, j, k1, k2, k3, k4, r: integer;
begin
assign (f1, 'a: \ a2.txt');
rewrite (f1);
r: = 0;
for k1: = 0 to 7 do
for k2: = 0 to 7 do
for k3: = 0 to 7 do
for k4: = 0 to 7 do begin
zap1 (k1, k2, k3, k4, a, b);
for i: = 1 to 7 do begin
for j: = 1 to 7 do write (f1, b [i, j]);
writeln (f1);
end;
writeln (f1); inc (r);
end;
close (f1);
writeln (r);
end;
begin
clrscr;
sc (a);
zap (a);
writeln ('ok');
readln;
end.
Програма 2. Перевірка на асоціативність:
program assoc;
uses crt;
type mas = array [0 .. 7,0 .. 7] of integer;
var a, b: mas;
i, j, k1, k2, k3, n, i1, i2, r, q: integer;
f, f1: text;
begin
clrscr;
q: = 0;
assign (f, 'a: \ w03.txt');
reset (f);
assign (f1, 'a: \ aw03.txt');
rewrite (f1);
n: = 1; r: = 0;
while n <= 2048 do begin
for i: = 0 to 7 do begin
for j: = 0 to 7 do read (f, a [i, j]);
readln (f);
end;
for k1: = 1 to 7 do
for k2: = 1 to 7 do
for k3: = 1 to 7 do
if a [k1, a [k2, k3]] <> a [a [k1, k2], k3] then q: = 1;
if q <> 1 then begin
for i1: = 0 to 7 do begin
for i2: = 0 to 7 do write (f1, a [i1, i2], '');
writeln (f1);
end;
inc (r);
writeln (f1);
end;
readln (f); inc (n); q: = 0;
end;
close (f);
close (f1);
writeln (r);
writeln ('ok');
readln;
end.
Програма 3. Знаходження ізоморфних кілець:
program izomorf;
uses crt;
const p = 1;
type mas = array [0 .. 7,0 .. 7] of integer;
mas1 = array [1 .. 8,1 .. 8] of integer;
var a, b: mas;
y: mas1;
i, j, n, i1, i2, r, w, h, g, d: integer;
f, f1, f2: text;
label 1;
procedure alfa (a: mas; var b: mas);
var k1, k2, j1, j2, z1, z2, z3, z4, q3, w3: integer;
begin
for k1: = 0 to 7 do begin
b [0, k1]: = 0;
b [1, k1]: = a [7, k1];
b [2, k1]: = a [2, k1];
b [3, k1]: = a [5, k1];
b [4, k1]: = a [4, k1];
b [5, k1]: = a [3, k1];
b [6, k1]: = a [6, k1];
b [7, k1]: = a [1, k1];
end;
for k2: = 0 to 7 do begin
z1: = b [k2, 3]; z2: = b [k2, 5];
b [k2, 5]: = z1; b [k2, 3]: = z2;
z3: = b [k2, 1]; z4: = b [k2, 7];
b [k2, 7]: = z3; b [k2, 1]: = z4;
end;
for j1: = 0 to 7 do
for j2: = 0 to 7 do begin
if b [j1, j2] = 1 then b [j1, j2]: =- 1;
if b [j1, j2] = 7 then b [j1, j2]: =- 7;
end;
for j1: = 0 to 7 do
for j2: = 0 to 7 do begin
if b [j1, j2] =- 1 then b [j1, j2]: = 7;
if b [j1, j2] =- 7 then b [j1, j2]: = 1;
end;
for j1: = 0 to 7 do
for j2: = 0 to 7 do begin
if b [j1, j2] = 5 then b [j1, j2]: =- 5;
if b [j1, j2] = 3 then b [j1, j2]: =- 3;
end;
for j1: = 0 to 7 do
for j2: = 0 to 7 do begin
if b [j1, j2] =- 5 then b [j1, j2]: = 3;
if b [j1, j2] =- 3 then b [j1, j2]: = 5;
end;
for q3: = 0 to 7 do begin
for w3: = 0 to 7 do write (b [q3, w3], '');
writeln;
end;
end;
procedure prov (b: mas);
var q, i3, j3, t, m, x, i4, j4: integer;
a1: mas;
begin
t: = 1;
reset (f);
rewrite (f1);
for m: = 1 to 9 do readln (f);
while t <= p do begin
for i3: = 0 to 7 do begin
for j3: = 0 to 7 do read (f, a1 [i3, j3]);
readln (f);
end;
q: = 0;
for i3: = 0 to 7 do
for j3: = 0 to 7 do begin
if a1 [i3, j3] = b [i3, j3] then inc (q); end;
if q <> 64 then
{For x: = 1 to 9 do readln (f) else}
begin
for i4: = 0 to 7 do begin
for j4: = 0 to 7 do write (f1, a1 [i4, j4], '');
writeln (f1);
end;
writeln (f1);
end;
readln (f);
inc (t);
end;
end;
begin
clrscr;
assign (f1, 'a: \ pr.txt');
assign (f2, 'a: \ iaw.txt');
rewrite (f2);
assign (f, 'a: \ aw03.txt');
n: = 1;
reset (f);
rewrite (f1);
for i: = 0 to 7 do begin
for j: = 0 to 7 do read (f, a [i, j]);
readln (f);
end;
{If a [i, j] = 8 then begin n: = 8; goto 1; end;}
alfa (a, b);
readln (f);
w: = 0;
for h: = 0 to 7 do
for g: = 0 to 7 do
if a [h, g] = b [h, g] then inc (w);
if w <> 64 then prov (b) else begin
r: = 1;
while r <= p do begin
for i1: = 1 to 8 do begin
for i2: = 1 to 8 do read (f, y [i1, i2]);
readln (f);
end;
for i1: = 1 to 8 do begin
for i2: = 1 to 8 do write (f1, y [i1, i2], '');
writeln (f1);
end;
writeln (f1);
readln (f);
inc (r);
end;
end;
for i1: = 0 to 7 do begin
for i2: = 0 to 7 do write (f2, a [i1, i2], '');
writeln (f2);
end;
writeln (f2);
reset (f1);
rewrite (f);
d: = 1;
while d <= p do begin
for i1: = 1 to 8 do begin
for i2: = 1 to 8 do read (f1, y [i1, i2]);
readln (f1);
end;
for i1: = 1 to 8 do begin
for i2: = 1 to 8 do write (f, y [i1, i2], '');
writeln (f);
end;
writeln (f);
readln (f1);
inc (d);
end;
{Readln (f1);
writeln (f);
inc (n);
end;}
close (f);
close (f1);
close (f2);
writeln ('ok');
readln;
end.

2. Текст програми пошуку кілець, що мають адитивну групу .
Програма 1. Знаходження всіх базисів даної адитивної групи:
program basis;
uses crt;
type mas = array [1 .. 3] of integer;
var a, b, c, d, e, f, g: char;
i, j, n, k: integer;
x: mas;
f1, f2: text;
begin
assign (f2, 'a: \ 28.txt');
reset (f2);
assign (f1, 'a: \ new168.txt');
rewrite (f1);
n: = 1;
while n <= 28 do begin
for i: = 1 to 3 do read (f2, x [i]);
write (f1, x [1], '', x [2], '', x [3]);
writeln (f1);
write (f1, x [1], '', x [3], '', x [2]);
writeln (f1);
write (f1, x [3], '', x [1], '', x [3]);
writeln (f1);
write (f1, x [3], '', x [2], '', x [1]);
writeln (f1);
write (f1, x [2], '', x [3], '', x [1]);
writeln (f1);
write (f1, x [2], '', x [1], '', x [3]);
writeln (f1);
readln (f2);
writeln (f1);
inc (n);
end;
close (f2);
close (f1);
writeln ('ok');
readln;
end.
Програма 2. Формування напівгруп, з урахуванням асоціативності:
program assZ2;
uses crt;
type mas = array [0 .. 7,0 .. 7] of integer;
var a, a1: mas;
i1, i2, i3, i4, i5, i6, i7, i8, i9, k1, k2, k3, r: integer;
n: real;
f, f1: text;
procedure sc (var a1: mas);
var i, j: integer;
begin
assign (f1, 'a: \ z2summ.txt');
reset (f1);
for i: = 0 to 7 do begin
for j: = 0 to 7 do read (f1, a1 [i, j]);
readln (f1);
end;
close (f1);
end;
procedure zap (i1, i2, i3, i4, i5, i6, i7, i8, i9: integer; a1: mas; var r: integer);
var i, j, t1, t2, t3, t4, q: integer;
begin
q: = 0;
for t1: = 0 to 7 do a [0, t1]: = 0;
for t2: = 1 to 7 do a [t2, 0]: = 0;
a [1,1]: = i1; a [1,2]: = i2; a [1,3]: = i3;
a [2,1]: = i4; a [2,2]: = i5; a [2,3]: = i6;
a [3,1]: = i7; a [3,2]: = i8; a [3,3]: = i9;
for t3: = 1 to 3 do begin
a [t3, 4]: = a1 [a [t3, 1], a [t3, 2]];
a [t3, 5]: = a1 [a [t3, 1], a [t3, 3]];
a [t3, 6]: = a1 [a [t3, 2], a [t3, 3]];
a [t3, 7]: = a1 [a [t3, 1], a [t3, 6]];
end;
for t4: = 1 to 7 do begin
a [4, t4]: = a1 [a [1, t4], a [2, t4]];
a [5, t4]: = a1 [a [1, t4], a [3, t4]];
a [6, t4]: = a1 [a [2, t4], a [3, t4]];
a [7, t4]: = a1 [a [1, t4], a [6, t4]];
end;
{For i: = 0 to 7 do begin
for j: = 0 to 7 do write (a [i, j], '');
writeln;
end;}
for k1: = 0 to 7 do
for k2: = 0 to 7 do
for k3: = 0 to 7 do
if a [k1, a [k2, k3]] <> a [a [k1, k2], k3] then q: = 1;
{Writeln (q);}
if q = 0 then begin
inc (r);
{For i: = 0 to 2 do begin
for j: = 0 to 2 do write (f, a [i, j], '');
writeln (f);
end;
writeln (f);
end;
q: = 0;}
end;
end;
begin
clrscr;
r: = 0;
sc (a1);
assign (f, 'a: \ z2.txt');
rewrite (f);
{I1: = 6; i2: = 6; i3: = 6; i4: = 6; i5: = 6; i6: = 6; i7: = 6; i8: = 6; i9: = 6;}
for i1: = 0 to 7 do
for i2: = 0 to 7 do
for i3: = 0 to 7 do
for i4: = 0 to 7 do
for i5: = 0 to 7 do
for i6: = 0 to 7 do
for i7: = 0 to 7 do
for i8: = 0 to 7 do
for i9: = 0 to 7 do begin
zap (i1, i2, i3, i4, i5, i6, i7, i8, i9, a1, r);
writeln (r);
end;
writeln ('', r);
close (f);
writeln ('ok');
readln;
end.
Програма 3. Знаходження ізоморфних кілець:
program izomorf;
uses crt;
const p = 1;
type mas = array [0 .. 7,0 .. 7] of integer;
mas1 = array [1 .. 3] of integer;
var a, b, a1: mas;
y: mas1;
n, j1, i2, t, h, g, d: integer;
f, f1, f2, f3, f8: text;
procedure basis (var y: mas1);
var i: integer;
begin
for i: = 1 to 3 do read (f2, y [i]);
readln (f2);
end;
procedure sc (var a: mas);
var i, j: integer;
begin
reset (f1);
for i: = 0 to 7 do begin
for j: = 0 to 7 do read (f1, a [i, j]);
readln (f1);
end;
end;
{Procedure glav (b: mas);
var q, i, j, x, k: integer;
begin
x: = 0; k: = 1;
reset (f1);
rewrite (f8);
while n <= t do begin
q: = 0;
for i: = 0 to 7 do begin
for j: = 0 to 7 do read (f1, a1 [i, j]);
readln (f1);
end;
for i: = 0 to 7 do
for j: = 0 to 7 do
if a1 [i, j] = b [i, j] then inc (q);
if q = 64 then begin inc (h);
x: = 1;
end
else
for i: = 0 to 7 do begin
for j: = 0 to 7 do write (f8, a1 [i, j], '');
writeln (f8);
end;
inc (n);
readln (f1);
writeln (f8);
end;
if x = 1 then t: = t-2 else t: = t-1;
reset (f8);
rewrite (f1);
while k <= t do begin
for i: = 0 to 7 do begin
for j: = 0 to 7 do read (f8, a1 [i, j]);
readln (f8);
end;
for i: = 0 to 7 do begin
for j: = 0 to 7 do write (f1, a1 [i, j], '');
writeln (f1);
end;
inc (k);
end;
end;}
procedure newb (y: mas1; a: mas; var b: mas);
var i, j, z1, z2, z3: integer;
begin
for i: = 0 to 7 do begin
z1: = a [1, i]; a [1, i]: = a [y [1], i]; a [y [1], i]: = z1;
z2: = a [2, i]; a [2, i]: = a [y [2], i]; a [y [2], i]: = z2;
z3: = a [3, i]; a [3, i]: = a [y [3], i]; a [y [3], i]: = z3;
end;
for j: = 0 to 7 do begin
z1: = a [j, 1]; a [j, 1]: = a [j, y [1]]; a [j, y [1]]: = z1;
z2: = a [j, 2]; a [j, 2]: = a [j, y [2]]; a [j, y [2]]: = z2;
z3: = a [j, 3]; a [j, 3]: = a [j, y [3]]; a [j, y [3]]: = z3;
end;
for i: = 0 to 7 do
for j: = 0 to 7 do begin
if a [i, j] = 1 then a [i, j]: =- 1;
if a [i, j] = y [1] then a [i, j]: =- y [1];
end;
for i: = 0 to 7 do
for j: = 0 to 7 do begin
if a [i, j] =- 1 then a [i, j]: = y [1];
if a [i, j] =- y [1] then a [i, j]: = 1;
end;
for i: = 0 to 7 do
for j: = 0 to 7 do begin
if a [i, j] = 2 then a [i, j]: =- 2;
if a [i, j] = y [2] then a [i, j]: =- y [2];
end;
for i: = 0 to 7 do
for j: = 0 to 7 do begin
if a [i, j] =- 2 then a [i, j]: = y [2];
if a [i, j] =- y [2] then a [i, j]: = 2;
end;
for i: = 0 to 7 do
for j: = 0 to 7 do begin
if a [i, j] = 3 then a [i, j]: =- 3;
if a [i, j] = y [3] then a [i, j]: =- y [3];
end;
for i: = 0 to 7 do
for j: = 0 to 7 do begin
if a [i, j] =- 3 then a [i, j]: = y [3];
if a [i, j] =- y [3] then a [i, j]: = 3;
end;
for i: = 0 to 7 do
for j: = 0 to 7 do b [i, j]: = a [i, j];
{Glav (b);}
for i: = 0 to 7 do begin
for j: = 0 to 7 do write (f, b [i, j], '');
writeln (f);
end;
writeln (f);
end;
procedure new5 (b, a: mas);
var i, j, z1, z2, i1: integer;
begin
for i: = 1 to 5 do begin
if i mod 2 <> 0 then begin
for j: = 0 to 7 do begin
z1: = b [2, j]; b [2, j]: = b [3, j]; b [3, j]: = z1;
end;
for j: = 0 to 7 do begin
z2: = b [j, 2]; b [j, 2]: = b [j, 3]; b [j, 3]: = z2;
end;
for i1: = 0 to 7 do
for j: = 0 to 7 do begin
if b [i1, j] = 3 then b [i1, j]: =- 3;
if b [i1, j] = 2 then b [i1, j]: =- 2;
end;
for i1: = 0 to 7 do
for j: = 0 to 7 do begin
if b [i1, j] =- 3 then b [i1, j]: = 2;
if b [i1, j] =- 2 then b [i1, j]: = 3;
end;
{Glav (b);}
for i1: = 0 to 7 do begin
for j: = 0 to 7 do write (f, b [i1, j], '');
writeln (f);
end;
writeln (f);
end;
if i mod 2 = 0 then begin
for j: = 0 to 7 do begin
z1: = b [1, j]; b [1, j]: = b [2, j]; b [2, j]: = z1;
end;
for j: = 0 to 7 do begin
z2: = b [j, 1]; b [j, 1]: = b [j, 2]; b [j, 2]: = z2;
end;
for i1: = 0 to 7 do
for j: = 0 to 7 do begin
if b [i1, j] = 1 then b [i1, j]: =- 1;
if b [i1, j] = 2 then b [i1, j]: =- 2;
end;
for i1: = 0 to 7 do
for j: = 0 to 7 do begin
if b [i1, j] =- 1 then b [i1, j]: = 2;
if b [i1, j] =- 2 then b [i1, j]: = 1;
end;
{Glav (b);}
for i1: = 0 to 7 do begin
for j: = 0 to 7 do write (f, b [i1, j], '');
writeln (f);
end;
writeln (f);
end;
end;
end;
begin
clrscr;
assign (f1, 'a: \ vse_z21.txt');
reset (f1);
assign (f2, 'a: \ 28.txt');
reset (f2);
assign (f, 'a: \ xx.txt');
rewrite (f);
{Assign (f3, 'a: \ ist.txt');
rewrite (f3);
assign (f8, 'a: \ pom.txt');
rewrite (f8);} sc (a);
for g: = 1 to 28 do begin
basis (y); {d: = 1; g: = 0;}
{While d <= t do begin}
{Inc (g); writeln (g);}
{For j1: = 0 to 7 do begin
for i2: = 0 to 7 do write (f3, a [j1, i2]);
writeln (f3);
end;
writeln (f3);}
newb (y, a, b);
{N: = 1;}
new5 (b, a);
{Inc (d);}
end;
close (f);
close (f1);
close (f2);
{Close (f3);}
{Close (f8);}
{Writeln (h);}
writeln ('ok');
readln;
end.
Додати в блог або на сайт

Цей текст може містити помилки.

Математика | Диплом
58.4кб. | скачати


Схожі роботи:
Індуктивний і асоціативні види мислення
Кільця
Кільця і ​​півкільця приватних
Розширення кільця за допомогою полутела
Міста Золотого Кільця як унікальні туристські об`єкти
© Усі права захищені
написати до нас