Курсовая работа: Строение идеалов полукольца натуральных чисел
|
Название: Строение идеалов полукольца натуральных чисел Раздел: Рефераты по математике Тип: курсовая работа |
Министерство образования и науки РФ Государственное образовательное учреждение высшего профессионального образования Вятский государственный гуманитарный университет Физико-математический факультет Кафедра высшей математики Выпускная квалификационная работа Строение идеалов полукольца натуральных чисел Выполнила студентка V курса физико-математического факультета Вахрушева Ольга Валерьевна Научный руководитель: д.ф-м.н., профессор кафедры высшей математики Чермных В. В. Рецензент: д.ф-м.н., профессор, заведующий кафедрой высшей математики Вечтомов Е.М. Киров 2010 Введение Глава 1. Структура идеалов в 1.1 Базовые понятия и факты 1.2 Описание идеалов в Глава 2. Константа Фробениуса Библиографический список Приложение 1. Примеры работы программы "FindC" для различных исходных данных Приложение 2. Описание алгоритма работы программы с помощью блок-схем Приложение 3. Полный текст программы "FindC" Введение Теория полуколец – один из интенсивно развивающихся разделов общей алгебры, являющийся обобщением теории колец. Весомый вклад в ее изучение и развитие внесли Е.М. Вечтомов и В.В. Чермных. Большой интерес для изучения представляет собой полукольцо натуральных чисел с обычными операциями сложения и умножения. Его роль в теории полуколец примерно такая же, как и кольца Целью данной квалификационной работы является исследование полукольца натуральных чисел и его строения. Более точно выясняется вопрос, как устроены идеалы этого полукольца, а также осуществляется отыскание либо определение границ расположения константы Фробениуса для некоторых идеалов. Выпускная квалификационная работа состоит из двух глав. В главе 1 представлены основные определения и теоремы, связанные с полукольцом натуральных чисел, и дано описание его идеалов. Глава 2 посвящена исследованию проблемы нахождения константы Фробениуса. Глава 1. Структура идеалов в 1.1 Базовые понятия и факты Определение 1. Непустое множество S с бинарными операциями "+" и "×" называется полукольцом, если выполняются следующие аксиомы: 1. (S, +) - коммутативная полугруппа с нейтральным элементом 0; 2. (S, ×) - полугруппа с нейтральным элементом 1; 3. умножение дистрибутивно относительно сложения: a(b + c) = ab + ac, (a + b)c = ac + bc длялюбых a, b, c Î S; 4. 0a = 0 = a0 длялюбого aÎ S. По этому определению полукольцо отличается от ассоциативного кольца с единицей отсутствием операции вычитания, и именно это вызывает основные трудности при работе с полукольцами. Несложно показать, что множество натуральных чисел Определение 2. Непустое подмножество I полукольца S называется левым идеалом полукольца S, если для любых элементов В силу коммутативности операции умножения в полукольце Идеал, отличный от полукольца S, называется собственным. Определение 3. В полукольце S наименьший из всех идеалов, содержащих элемент Известно, что кольцо целых чисел Определение 4. Идеал
Теорема 1. Произвольный идеал полукольца натуральных чисел конечно порожден. Доказательство. Пусть
Определение 5. Пусть Очевидно, что для любого идеала система образующих определяется однозначно. Множество элементов Если имеется в виду конкретная система образующих идеала, то будем изображать ее в круглых скобках, например: (2,3)={0,2,3,4,…}= Аналог теоремы Гильберта о базисе, которая утверждает, что если R – коммутативное кольцо, каждый идеал которого конечно порожден, то любой идеал кольца многочленов над R является конечно порожденным, неверна в классе полуколец, и примером тому служит полукольцо Теорема 2. Пусть Доказательство. Пусть
лежит в Следствие 1. Пусть Следствие 2. Если система образующих идеала Замечание. Пусть Теорема 3. В полукольце Доказательство. Пусть Из доказанной теоремы делаем вывод о том, что исследуемое полукольцо натуральных чисел является нетеровым. 1.2 Описание идеалов в Определение 6. Собственный идеал Pкоммутативного полукольца S называется простым, если Теорема A. Если S – коммутативное полукольцо, то идеал P прост тогда и только тогда, когда Простыми идеалами в Пусть P – простой идеал в Таким образом, простыми идеалами полукольца 1. нулевой идеал; 2. главные идеалы, порожденные произвольным простым числом; 3. двухпорожденный идеал (2,3). Определение 7. Собственный идеал M полукольца S называется максимальным, если Теорема Б. Максимальный идеал коммутативного полукольца прост.[6] В Множество простых идеалов можно упорядочить следующим образом:
Здесь наибольшим элементом является двухпорожденный идеал (2,3), а наименьшим – нулевой идеал. Определение 8. Идеал I полукольца S называется полустрогим, если Теорема 6. Полустрогий идеал полукольца Доказательство. Главные идеалы, очевидно, являются полустрогими. Предположим, что в системе образующих полустрогого идеала может быть больше двух образующих. Пусть два элемента m и n – наименьшие в системе образующих идеала, и Множество полустрогих идеалов можно упорядочить следующим образом:
Здесь наибольшим является идеал, порожденный 1, на уровень ниже его находятся идеалы, порожденные простыми числами, еще ниже – порожденные произведением двух простых чисел, дальше трех и так далее. Определение 9. Идеал I полукольца S называется строгим, если Cтрогий идеал обязательно является полустрогим, а в полукольце Глава 2. Константа Фробениуса В теории полугрупп есть понятие константы Фробениуса, им описывается для аддитивной полугруппы, порожденной линейной формой с натуральными коэффициентами, переменные которой независимо принимают целые неотрицательные значения, наибольшее целое число, не являющееся значением указанной формы [4]. Для полукольца Лемма 1. Пусть Доказательство. Пусть Теорема 7. Если
Доказательство. Покажем, что для любого целого
Заметим, что На XIV Международной олимпиаде по математике, прошедшей в 1984 году, для решения предлагалась задача следующего содержания: Пусть a,b,c – целые положительные числа, каждые два из которых взаимно просты. Докажите, что наибольшее из целых чисел, которые не представимы в виде xbc+yca+zab (где x,y,z – неотрицательные целые числа), равно 2abc-ab-bc-ca[1]. В незначительной переформулировке эта задача предлагает показать, чему равна константа Фробениуса для идеала, порожденного системой образующих (ab,ac,bc) в полукольце Удалось найти другое решение этой задачи, а также сделать обобщение. Теорема 8. Если a, b и с попарно взаимно просты, то
Доказательство. Рассмотрим Рассмотрим число
Числа Обобщим результат, полученный в теореме 8: Теорема 9. Пусть
Тогда
Доказательство. База метода математической индукции для значений k=2,3 доказана в теоремах 7 и 8. Предположив, что выполняется Предложение. В Доказательство. Если Крайний случай доказанного выше отношения позволяет найти элемент Теорема 10. Доказательство. Заметим, что образующие образуют полную систему вычетов по модулю
Теорема 11. Если Доказательство. Пусть С другой стороны,
и В общем случае проблема нахождения элемента с представляется на данный момент неразрешимой. Однако для дальнейшего ее изучения может быть использована специально разработанная программа "FindC", которая позволяет находить элемент с для введенной системы образующих, причем она может быть не упорядоченной по возрастанию и содержать элементы, линейно выражающиеся через другие. Действия программы: 1. Сортирует введенные образующие в порядке возрастания (процедура Sort). 2. Проверяет систему на наличие элементов, линейно выражающихся через другие, в случае наличия таковых выводит их и линейную комбинацию (осуществляется с помощью процедуры Lin). 3. Выводит линейно независимую систему образующих, находит их НОД (процедура NOD). Если НОД 4. Проверяет элементы полукольца Библиографический список 1. Абрамов А.М. Квант, №3, 1984. с. 40-41. 2. Атья М., Макдональд И. Введение в коммутативную алгебру [Текст] / М. Атья, И. Макдональд. – М.:Мир,1972. 3. Вечтомов Е.М. Введение в полукольца [Текст] / Е.М. Вечтомов. – Киров: Изд-во ВГПУ, 2000. 4. Коганов Л.М. О функциях Мебиуса и константах Фробениуса полугрупп, порожденных линейными формами специального вида / Межвузовский сборник научных трудов Полугруппы и частичные группоиды, Ленинград, 1987. с. 15-25. 5. Скорняков, Л.А. Элементы теории структур [Текст]/Л.А. Скорняков.– М.: Наука, 1982. 6. Чермных, В.В. Полукольца [Текст]/В.В. Чермных. – Киров: Изд-во ВГПУ, 1997. Приложение 1. Примеры работы программы при различных исходных данных.
Приложение 2. Описание алгоритма работы программы "FindC" с помощью блок-схем.
Приложение 3 Полный текст программы "FindC". unit SearchFirstElementSequence; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Edit: TEdit; Button1: TButton; Memo: TListBox; Button2: TButton; procedure EditKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure EditKeyPress(Sender: TObject; var Key: Char); private { Private declarations } public { Public declarations } end; var Form1: TForm1; masA: variant; KolObraz: integer; i, j, l, koef, d, kol, VspomChislo, Chislo: integer; S: Set of Char = ['0'..'9', ',', #8]; p: boolean; implementation {$R *.dfm} {Сортировка массива} Procedure SORT; var min: integer; begin min := masA[1,1];; for i := 1 to KolObraz-1 do for j := i+1 to KolObraz do if masA[i,1] > masA[j,1] then begin min := masA[j,1]; masA[j,1] := masA[i,1]; masA[i,1] := min; end; end; //ищем НОД (алгоритм Евклида) Function NOD(a,b: integer): integer; begin while (a <> 0) and (b <> 0) do if a > b then a := a mod b else b := b mod a; if a = 0 then nod := b else nod := a; end; //проверка на линейность Procedure Lin (n, j, Chislo: integer; var p: boolean; m1: integer); var x :integer; begin while (n<=m1) and not (p) and (Chislo > 0) do begin if j = 0 then x := 0 else x := masA[n,1]; Chislo := Chislo - x; if Chislo = 0 then p := true else Lin(n+1, 0, Chislo, p, m1); if p then masA[n,2] := j; inc(j); end; end; procedure TForm1.Button1Click(Sender: TObject); var list: TStringList; ss: string; begin Memo.Clear; //разбиениестроки ss := Edit.Text; list := TStringList.Create; //создаем список list //в нем будут хранится коэффициенты, полученные в результате разбиения строки //с помощью процедуры extractStrings (разделителем будет ',') extractStrings([','], [], PChar(ss), list); KolObraz := list.Count; //количество переменных masA := VarArrayCreate([1,KolObraz,1,2], varInteger); //создание двумерного массива for i := 1 to KolObraz do masA[i,1] := StrToInt(list.Strings[i-1]); list.Free; SORT; ss := ''; for i := 1 to KolObraz do ss := ss + ' ' + IntToStr(masA[i,1]); memo.Items.Add('ИСХОДНАЯ СИСТЕМА ОБРАЗУЮЩИХ В ПОРЯДКЕ ВОЗРАСТАНИЯ:'); memo.Items.Add(ss); memo.Items.Add(''); memo.Items.Add('ЛИНЕЙНО ЗАВИСИМЫЕ ЭЛЕМЕНТЫ СИСТЕМЫ ОБРАЗУЮЩИХ:'); l := 0; i := 1; while i <= KolObraz-l do begin p := false; Lin(1, 0, masA[i,1], p, i-1); //если p = true то выводим линейную комбинацию и удаяем этот элемент из массива ifpthenbegin //вывод разложения элемента на линейную комбинацию ss := IntToStr(masA[i,1]) + ' = '; if i = 2 then ss := ss + IntToStr(masA[i-1,2]) + '*' + IntToStr(masA[i-1,1]) else begin for j := 1 to i-2 do ss := ss + IntToStr(masA[j,2]) + '*' + IntToStr(masA[j,1]) + ' + '; ss := ss + IntToStr(masA[i-1,2]) + '*' + IntToStr(masA[i-1,1]); end; memo.Items.Add(ss); //смещаем элементы массива for j := i to KolObraz-l-1 do begin masA[j,1] := masA[j+1,1]; masA[j,2] := masA[j+1,2]; end; inc(l); end else inc(i); end; if l = 0 then memo.Items.Add('нет'); memo.Items.Add(''); KolObraz := KolObraz-l; memo.Items.Add('ЛИНЕЙНО НЕЗАВИСИМАЯ СИСТЕМА ОБРАЗУЮЩИХ:'); ss := ''; for i := 1 to KolObraz do ss := ss + ' ' + IntToStr(masA[i,1]); memo.Items.Add(ss); memo.Items.Add(''); d := NOD(masA[1,1], masA[2,1]); if KolObraz > 2 then for i := 3 to KolObraz do в := NOD(d, masA[i,1]); for i := 1 to KolObraz do begin masA[i,1] := masA[i,1] div d; masA[i,2] := 0; end; Chislo := masA[1,1]; p := false; kol := 0; VspomChislo := Chislo; while kol<Chislo do begin Lin(1, 0, VspomChislo, p, KolObraz); if p then inc(kol) else kol := 0; inc(VspomChislo); p := false; end; ss := 'ПЕРВЫЙ ЭЛЕМЕНТ В АРИФМЕТИЧЕСКОЙ ПРОГРЕССИИ ' + IntToStr((VspomChislo - kol) * d); p := false; j := 0; for i := 1 to KolObraz do masA[i,2] := 0; Lin(1, j, (VspomChislo - kol) * d, p, KolObraz); ss := ss + ' = '; for j := 1 to KolObraz-1 do ss := ss + IntToStr(masA[j,2]) + '*' + IntToStr(masA[j,1]) + ' + '; ss := ss + IntToStr(masA[KolObraz,2]) + '*' + IntToStr(masA[KolObraz,1]); ss := ss + ' с разностью ' + IntToStr(d); memo.Items.Add(ss); masA := Unassigned; end; procedure TForm1.Button2Click(Sender: TObject); begin Close; end; procedure TForm1.EditKeyPress(Sender: TObject; var Key: Char); begin if not (Key in S) then Key := #0 end; procedure TForm1.EditKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); begin if Edit.Text = '' then Button1.Enabled := false else Button1.Enabled := true; end; procedure TForm1.FormCreate(Sender: TObject); begin Button1.Enabled := false; Memo.Clear; Edit.Clear; end; end. |


,
,…,




