Научная статья на тему 'Исследование конечных алгебраических структур в системе Maxima'

Исследование конечных алгебраических структур в системе Maxima Текст научной статьи по специальности «Математика»

CC BY
128
32
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ИССЛЕДОВАТЕЛЬСКАЯ ДЕЯТЕЛЬНОСТЬ / КОНЕЧНЫЕ ПОЛУ-КОЛЬЦА / MAXIMA / RESEARCH ACTIVITY / FINITE SEMIRINGS / FINITE SEVIRINGS

Аннотация научной статьи по математике, автор научной работы — Лубягина Елена Николаевна, Марков Роман Владимирович, Петров Андрей Александрович, Чупраков Дмитрий Вячеславович, Широков Дмитрий Владимирович

Предлагаются материалы, которые можно использовать для организации учебно-исследовательской деятельности студентов при изучении алгебраических структур. Приводятся примеры использования системы компьютерной алгебры Maxima.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Suggests materials that can be used to organize the educational and research activities of students in study of algebraic structures. Examples of using of the Maxima computer algebra system are given.

Текст научной работы на тему «Исследование конечных алгебраических структур в системе Maxima»

УДК 512.55

Лубягина Елена Николаевна, e-mail: [email protected] Марков Роман Владимирович, e-mail: [email protected] Петров Андрей Александрович, e-mail: [email protected] Чупраков Дмитрий Вячеславович, e-mail: [email protected] Широков Дмитрий Владимирович, e-mail: [email protected]

кандидаты физико-математических наук, доценты кафедры фундаментальной и компьютерной математики, Федеральное государственное бюджетное образовательное учреждение высшего образования «Вятский государственный университет», Киров, Россия 610000, РФ, Кировская область, г. Киров, ул. Московская, д.36

ИССЛЕДОВАНИЕ КОНЕЧНЫХ АЛГЕБРАИЧЕСКИХ СТРУКТУР

В СИСТЕМЕ MAXIMA

Lubyagina Elena Alekseevna, e-mail: [email protected] Markov Roman Vladimirovich, e-mail: [email protected] Petrov Andrey Aleksadrovich, e-mail: [email protected] Chuprakov Dmitry Vjacheslavovich, e-mail: [email protected] Shirokov Dmitriy Vladimirovich, e-mail: [email protected] candidates of physico-mathematical Sciences, associate Professors of the fundamental and computational mathematics chair Federal State Budget Educational Institution of Higher Education «Vyatka State University», Kirov, Russia 610000, RF, Kirov region, Kirov, Moskovskaya str., 36

INVESTIGATION OF FINITE ALGEBRAIC STRUCTURES

IN THE MAXIMA

Аннотация: предлагаются материалы, которые можно использовать для организации учебно-исследовательской деятельности студентов при изучении алгебраических структур. Приводятся примеры использования системы компьютерной алгебры Maxima.

Ключевые слова: исследовательская деятельность; конечные полу-кольца; Maxima.

Abstract: suggests materials that can be used to organize the educational and research activities of students in study of algebraic structures. Examples of using of the Maxima computer algebra system are given.

Keywords: research activity; finite semirings; Maxima; finite sevirings.

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

© Лубягина Е.Н., Марков Р.В., Петров А.А., Чупраков Д.В., Широков Д.В., 2017

о современных возможностях информационных технологий, но и уметь применять их в рамках своей специальности. Постоянно развивающиеся системы компьютерной математики позволяют оптимизировать процесс исследовательской работы студентов-математиков. Под системами компьютерной математики мы понимаем прикладные программы, предназначенные для выполнения аналитических преобразований и работы с математическими объектами и выражениями.

С опытом использования среды GeoGebra при организации учебно-исследовательской деятельности студентов по геометрии можно ознакомиться в статье [1]. Механизмы включения созданных в GeoGebra интерактивных чертежей изложены в [2] на примере курса теории вероятностей и математической статистики. О возможности применения системы компьютерной алгебры Maxima для решения задач по теории чисел указано в [3]. Работа с такими классическими объектами алгебры, как матрицы, векторные пространства, многочлены, группы, кольца, поля, отлично реализована в системе компьютерной алгебры Sage. В статьях [4-6] система Sage применена к исследованию конечных полуколец с коммутативным циклическим умножением и коммутативным сложением. В сети Интернет можно найти много разработок по работе в Sage как на английском, так и на русском языке [7-10].

Для изучения алгебраических структур, непосредственно не представленных в какой-либо системе компьютерной алгебры, пользователю приходится самому программировать работу с ними. Так, Sage не имеет стандартных процедур для исследования полугрупп, полуколец и полуполей. Для изучения таких объектов можно использовать также другую свободно распространяемую систему компьютерной алгебры Maxima, имеющую интуитивно понятный встроенный язык программирования [11]. В нашей статье предложены пути применения Maxima при исследовании конечных полуколец.

Под полукольцом будем понимать непустое множество S с бинарными операциями сложения + и умножения ■, для которых {S, +) - коммутативная

РАЗДЕЛ 1. ФУНДАМЕНТАЛЬНАЯ И ПРИКЛАДНАЯ МАТЕМАТИКА Т*1

полугруппа, , •) - полугруппа и а(Ь+с)=аЬ+ас, (а+Ь)с=ас+Ьс для любых а, Ь,

се8 (подробнее в - [12-16]). Полукольцо с тождеством аа=а, ае8 называется мультипликативно идемпотентным, а с тождеством аЬ=Ьа, а, Ь&Б-коммутативным. Коммутативное мультипликативное идемпотентное полукольцо называется полукольцом с полурешеточным умножением. При этом мультипликативная полугруппа полукольца с полурешеточным умножением является нижней полурешеткой, то есть частично упорядоченным множеством (а < Ь ^ аЬ = а), для каждой пары элементов которого имеется точная нижняя грань.

Из определения видно, что конечное полукольцо можно восстановить, зная множество его элементов и табличное задание операций (таблицы Кэли). Для поиска всех «-элементных полуколец (возможно, с дополнительными условиями) нужно решить задачу их представления, то есть задать критерий или алгоритм, по которому из каждого класса изоморфных между собой полуколец выбирается единственный представитель. В соответствии с выбранным представлением следует указать алгоритмы действий над полукольцами: нахождения результатов операций над элементами полукольца, поиск идеалов и конгруэнций в нем, отыскание прямых произведений полуколец и др.

Пусть 5 = (X, +,•) - конечное полукольцо и X = {ао, а1, ..., а„]. Множество

Xвзаимно-однозначно отображается на множество индексов Х1 = {0, 1, ..., п}: аг ^ г. В результате получается изоморфное полукольцо & с операциями + и ■

на Х1, заданными по правилам:

/ + ] = г ^ а( + а] = аг и i j = г ^ а( ау = аг для любых ¡,у, геХь Каждой таблице Кэли, задающей одну из операций полукольца &1, сопоставим последовательность чисел из Х1 (рис. 1, а) - (п+1)-ичный код, который можно понимать как запись числа в («+1)-ичной системе счисления. Такое число назовем индексом соответствующей операции. Среди изоморфных между собой полуколец с основным множеством Х1 выделим полукольцо с наименьшей парой индексов (относительно лексикографического порядка). Такое полукольцо назовем каноническим.

Рис. 1. Задание индексов полукольцевых операций

Заметим, что в силу коммутативности сложения в полукольцах таблицу для сложения можно задать только значениями, расположенными не ниже главной диагонали (рис. 1, б). Аналогично, благодаря коммутативности и идемпотентности умножения в полукольцах с полурешеточным умножением таблицу умножения можно восстановить по элементам, лежащим строго выше главной диагонали (рис. 1, в). Такие коды операций будем называть сокращенными.

Приведем пример функции r_gen_tab_m(n) построчного представления таблицы Кэли операции умножения с индексом n в Maxima для трехэлементного полукольца :

ord_s: 3; /*фиксируем число элементов полукольца*/ /*perewod(ch, n) - функция перевода десятичного числа ch в n-ичное*/ perewod(ch, n) := block( if ch#0 then Result : "" else Result : "0", while ch#0 do (

i : mod(ch, n), st : string(i), Result : concat(st, Result), ch : (ch-i)/n), Result)$

qq : ord_sA2; /*количество ячеек в таблице Кэли*/ r_gen_tab_m(n) := block(s : perewod(n, ord_s), r : qq-slength(s), for k : 1 thru r do s : concat("0", s),

m : charlist(s))$ /* получаем список m - полный код операции*/

Для коммутативной операции (например, сложения) с индексом n далее приведем задания следующих функций :

- gen_tab_a(n) представление сложения строкой сокращенного кода,

- long_tab_a(t) перевод сокращенного кода t в полный,

- reduce_tab_a(t) перевод полного кода t в сокращенный.

sf(n) := ((n+1)*n)/2$ /*функция поиска суммы чисел от 1 до n*/ qq : sf(ord_s)$ /*количество чисел в урезанном представлении таблицы Кэли*/

gen_tab_a(n) := block(s : perewod(n, ord_s), r : qq-slength(s), for k : 1 thru r do s : concat("0", s), ta : charlist(s))$ q : ord_s-1$

long_tab_a(t) := block(k : 0, r : 0, for j : 0 thru q do ( for l : 1 thru (ord_s-j) do (tar[k+l] : t[r+l],

if (j#q)and(l#1) then tar[k+ord_s*(l-1)+1] : t[r+l]), r : r+ord_s-j, k : k+ord_s+1), tar)$

reduce_tab_a(rt) := block( k : 0, r : 0, for j : 0 thru q do ( for l : 1 thru (ord_s-j) do tau[r+l] : rt[k+l], r : r+ord_s-j, k : k+ord_s+1), tau)$

Аналогичные функции можно задать для коммутативной и идемпотентной операции с индексом n, например, для полуколец с полурешеточным умножением:

qqm : sf(ord_s-1)$ /*кол-во значений в урезанном представлении*/ gen_tab_m(m) := block(s : perewod(m, ord_s), r : qqm-slength(s), for k : 1 thru r do s : concat("0", s),

tm : charlist(s))$ long_tab_m(t) := block(k : 1, r : 0, for j : 0 thru q do ( tmr[k] : string(j),

if j#q then for l : 1 thru (q-j) do (tmr[k+l] : t[r+l], tmr[k+ord_s*l] : t[r+l]), r : r+q-j, k : k+ord_s+1), tmr)$

reduce_tab_m(rt) := block(k : 1, r : 0, for j : 0 thru q-1 do ( for l : 1 thru (q-j) do tmu[r+l] : rt[k+l], r : r+q-j, k : k+ord_s+1), tmu)$

Для проверки ассоциативности операции умножения, заданной с помощью функции r_gen_tab_m(n), зададим функцию rez_m(x, y) поиска произведения х и y следующим образом : r_rez_m(x, y) := m[x*(ord_s)+(y+1)]$

Для получения результата коммутативной и идемпотентно-коммутативной операции по ее сокращенному коду соответствующие функции задаются иначе:

rez_a(x, y) := block(

x1 : min(x, y), x2 : max(x, y), re : ta[qq-sf(ord_s-x1)+(x2-x1+1)])$ rez_m(x, y) := block( if x=y then rez : string(x) else (

x1 : min(x, y), x2 : max(x, y), rez : tm[qqm-sf(q-x1)+(x2-x1)]), rez)$

В результате получаем функцию assoc_a() проверки аддитивной ассоциативности (также по определению задаются функции проверки мультипликативной ассоциативности, левой и правой дистрибутивности, функции поиска идеалов и конгруэнций) :

assoc_a() := block( for i : 0 thru q do for j : 0 thru q do for k : 0 thru q do ( res : is(rez_a(eval_string(rez_a(i, j)), k)=rez_a(i, eval_string(rez_a(j, k)))), if not(res) then (i : q, j : q, k : q)), res)$ Перейдем к алгоритму поиска канонических полуколец с помощью отсева остальных - неканонических полуколец. Заметим, что изоморфными фиксированному полукольцу Sl = (X b +,•) будут в точности полукольца

(хь +у , полученные по всем перестановкам f элементов множества X1

с сохранением операций:

f (i)+ff (j) = f (i+j) и f (i) ff (j) = f (ij) для любых i, jeX1. Для того чтобы сгенерировать список per всех перестановок чисел от 0 до q, в Maxima можно задать следующую функцию : gen_per() := (st : "", for i : 0 thru q do (is : string(i), st : concat(st, is)), perem : charlist(st), mp : permutations(perem), per : listify(mp))$

Проиллюстрируем поиск изоморфных полуколец на примере полуколец с полурешеточным умножением. Приведем функцию iz_a(f), генерирующую индекс операции, получаемой из текущей операции + с помощью перестановки f Аналогичным образом будет выглядеть функция iz_m(i), генерирующая индекс операции •.

w : ord_sAqq$ wm : ord_sAqqm$ gen_per()$ iz_a(ij) := block( for j : 1 thru qq do za[j] : per[ij][eval_string(ta[j])+1], long_tab_a(za),

for j : 1 thru ord_sA2 do a_iz[j] : tar[j],

for j : 1 thru ord_s do perp[j] : per[ij][j], for j : 1 thru ord_s do

if eval_string(perp[j])#(j-1) then for k : 1 thru ord_s do (a_izp : a_iz[(j-1)*ord_s+k], a_iz[(j-1)*ord_s+k] : a_iz[eval_string(perp[j])*ord_s+k], a_iz[eval_string(perp[j])*ord_s+k] : a_izp, perp[eval_string(perp[j])+1] : perp[j]), for j : 1 thru ord_s do perp[j] : per[ij][j], for j : 1 thru ord_s do if eval_string(perp[j])#(j-1) then for k : 1 thru ord_s do (a_izp : a_iz[j+(k-1)*ord_s], a_iz[j+(k-1)*ord_s] : a_iz[eval_string(perp[j])+1+(k-1)*ord_s], a_iz[eval_string(perp[j])+1+(k-1)*ord_s] : a_izp, perp[eval_string(perp[j])+1] : perp[j]), reduce_tab_a(a_iz), for j : 1 thru qq do ya_iz[j] : tau[j], no : 0, g : 1,

for k: qq step-1 thru 1 do (no : no+eval_string(ya_iz[k])*g, g : ord_s*g), if no>na and not(member(no, www)) then ( www : endcons(no, www)))$ iz_m(ii) := block /*функция полностью аналогична фукции iz_a */ Для поиска всех канонических (и+1)-элементных полуколец нам понадобятся следующие факты:

1. Пусть перестановка f элементов множества X1 переводит операцию о в операцию оf . Если о не удовлетворяет некоторому алгебраическому свойству, то и оf не будет ему удовлетворять.

2. Пусть на X1 перестановка f переводит операцию + в отличную от нее операцию +f . Тогда в силу обратимости изоморфизма для полукольца

Xь , Oj с произвольной второй операцией о найдется изоморфное ему

полукольцо {Xь +, . Аналогичным образом для различных операций ■ и f и для любого полукольца ^Xь *, с произвольной первой операцией найдется изоморфное ему полукольцо (X 1, 0, ■).

3. Пусть наХ\ каждая из нетождественных перестановок /1, /2, ..., /к переводит операцию + в себя. Тогда среди полуколец с операцией +

полукольцу {X1, +, •) будут изоморфны в точности полукольца (х ь +,

• fl

Xл, +, • ^ ). Аналогичная процедура осуществляется для нетождественных

перестановок gl, g2, ..., gl переводящих операцию ■ в себя среди полуколец с операцией ■, полукольцу (X 1, +, ■) будут изоморфны в точности полукольца

х 1, + ,1,•), (хi, +

Итак, предложим алгоритм поиска всех канонических полуколец (возможно с дополнительными условиями) может быть следующим:

для каждого индекса n операции, на которую наложено больше ограничений (пусть это будет сложение «+»), выполняем:

если n не входит в список ww индексов взятой операции для неканонических полуколец и удовлетворяет необходимым свойствам, то:

1) по всем перестановкам f Ф- 1 заносим в список ww отличные от n индексы операций + f ;

2) все перестановки f Ф 1, для которых индекс операции +f равен n,

^ J

занесем в список siz;

3) для каждого индекса m второй полукольцевой операции • выполняем: если m не входит в список www индексов операции • неканонических

полуколец с первой операцией сложения и умножение удовлетворяет перечню наложенных на нее свойств, то

- запоминаем каноническое полукольцо с индексами операций (n, m);

- заносим в список www отличные от m индексы операций • f по всем

перестановкам из списка siz.

В Maxima для поиска всех трехэлементных полуколец с полурешеточным умножением приведенный алгоритм будет реализован следующим образом: kol : 0$ ww : []$

for n : 0 thru wm-1 do if member(n, ww) then delete(n, ww) else ( siz : [], tm : gen_tab_m(n), zzz : assoc_m(),

if zzz then ( for ii : 2 thru ord_s! do (iz_m(ii),

if zzz and (n=no) then siz : endcons(ii, siz)), www : [],

for na : 0 thru w-1 do ( if member(na, www) then delete(na, www) else (gen_tab_a(na), if (assoc_a() and dis_l() and dis_r()) then ( if siz#[] then for ik : 1 thru length(siz) do iz_a(siz[ik]), print(n, "и", na), kol : kol+1)))));

print(kol)$

В итоге получаем 10 двухэлементных и 43 трехэлементных канонических полуколец; из них 4 двухэлементных и 19 трехэлементных полукольца с полурешеточным умножением.

Если число элементов больше трех, то приведенный алгоритм перебирает довольно большое количество возможных операций, что увеличивает временные затраты. В результате получаем исследовательскую задачу поиска подходящего алгоритма, которую можно предложить студентам-математикам. При ее решении им придется обратиться как к знаниям по информатике, так и к теории алгебраических структур. Так, при поиске четырехэлементных полуколец перебор индексов операции сложения можно сократить в два раза, перебирая только первые 2-49 индексов.

При поиске конечных полуколец S с полурешеточным умножением можно будет воспользоваться тем, что их мультипликативные полугруппы являются нижними полурешетками. В случае |S| = 2, 3, 4 все диаграммы Хассе

полугрупп (S, •) представлены на рисунке 2.

1

Рис. 2. Диаграммы Хассе полугрупп {S, • 44

Представляет также интерес компьютерное исследование структуры и числа таких полуколец, как:

- монополукольца (полукольца с тождеством ab=a+b),

- полукольца с циклическим умножением и неидемпотентным коммутативным сложением,

- частичные полукольца,

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

- полукольца дискретных функций.

Уместно реализовать компьютерное построение решеток идеалов и конгруэнций, взятие их прямых произведений исследуемых полуколец.

Материал статьи может быть использован при формировании исследовательской деятельности на различных курсах и уровнях образования (бакалавриат, магистратура) при изучении курсов общей алгебры, абстрактной и компьютерной алгебры на классических и педагогических специальностях, а также послужить основой выпускной работы или индивидуального задания для магистрантов.

Список литературы

1. Лубягина Е.Н., Тимшина Л.В. Опыт организации учебно-исследовательской деятельности студентов при изучении кривых второго порядка // Вестник Сыктывкарского университета. Сер. 1: Математика. Механика. Информатика, 2017. - Вып. 2 (23). - C. 70-84.

2. Лубягина Е.Н., Тимшина Л.В., Широков Д.В. Визуальное сопровождение курса "Теория вероятностей и математическая статистика" // Наука и инновации в XXI веке: актуальные вопросы, открытия и достижения. Сборник статей V Международной научно-практической конференции: в 2 ч.. - М., 2017. - С. 12-21.

3. Сиразов Ф.С. Применение системы компьютерной алгебры maxima в обучении элементам абстрактной и компьютерной алгебры // Известия РГПУ им. А.И. Герцена, 2009. -№116.

4. Ведерникова А.В., Чупраков Д.В. О представлениях конечных идемпотентных циклических полуколец кортежами целых чисел // Математический вестник педвузов и университетов Волго-Вятского региона, 2017. - № 19. - С. 70-76.

5. Chuprakov D.V. Algorithm for constructing finite idempotent cyclic semirings with commutative addition // Proceedings of the 4th Conference of Mathematical Society of Moldova CMSM4'2017, June 25-July 2, 2017. P. - 59-62.

6. ЧупраковД.В., Ведерникова А.В. О структуре конечных циклических полуколец с идемпотентным коммутативным сложением // Вестник Сыктывкарского университета, 2017. - Вып. 2(23) - С. 92-109.

7. Sage Tutorial in Russian. Вып. 2017, 7.5. URL: doc.sagemath.org/html/ru/tutorial (официальное введение в Sage на русском)

8. Зобнин А.И., Соколова О.В. Компьютерная алгебра в системе SAGE. - М.: изд-во МГТУ им. Баумана, 2011. - 53 с.

9. Яцкин Н.И. Алгебраические вычисления в системе Sage. Методические указания по дисциплинам "Фундаментальная алгебра" и "Компьютерная алгебра" для студентов 2 курса факультета математики и компьютерных наук (квалификация "Бакалавр"). Под ред. Е.В. Соколова. - Иваново: Изд-во "Ивановский гос. ун-т", 2014. - 47 с.

10. Beezer R. Sage for Abstract Algebra. A Supplement to "Abstract Algebra, Theory and Applications", 2013.

11. Маевский Е.В., Ягодовский П.В. Компьютерная математика. Высшая математика в СКМ Maxima. Ч. I. Введение. - М.: Финансовый ун-т, 2013.

12. Вечтомов Е.М., Петров А.А. Мультипликативно идемпотентные полукольца // Фундаментальная и прикладная математика, 2013. - Т. 18. - № 4. - С. 41-70.

13. Вечтомов Е.М., Петров А.А. O полукольцах с полурешеточным умножением // В сборнике: Алгебра и теория чисел: современные проблемы и приложения Материалы XII Международной конференции, посвященной восьмидесятилетию профессора Виктора Николаевича Латышева. Тула: Тульский государственный педагогический ун-т им. Л.Н. Толстого, 2014. - С. 154-157.

14. Вечтомов Е.М., Петров А.А. Полукольца с идемпотентным умножением: монография. - Киров: изд-во «Радуга-ПРЕСС», 2015. - 144 с.

15. Vechtomov E.M., Petrov A.A. Multiplicatively idempotent semirings // Journal of Mathematical Sciences, 2015. - Т. 206. - № 6. - С. 634-653.

16. Вечтомов Е.М., Петров А.А. О конгруэнциях на мультипликативно идемпотентных полукольцах // Электронные информационные системы, - 2016. - № 3 (10). -С. 97-102.

i Надоели баннеры? Вы всегда можете отключить рекламу.