Применение системы компьютерной алгебры maxima в обучении элементам абстрактной и компьютерной алгебры

Ф. С. Сиразов

ПРИМЕНЕНИЕ СИСТЕМЫ КОМПЬЮТЕРНОЙ АЛГЕБРЫ MAXIMA В ОБУЧЕНИИ ЭЛЕМЕНТАМ АБСТРАКТНОЙ И КОМПЬЮТЕРНОЙ АЛГЕБРЫ

Работа представлена кафедрой математики и методики ее преподавания Набережночелнинского государственного педагогического института.

Научный руководитель - доктор педагогических наук, профессор И. С. Сафуанов

Статья посвящается применению свободно распространяемой системы компьютерной алгебры Maxima в обучении элементам абстрактной и компьютерной алгебры. Основная цель реализуется в рамках курса «Элементы абстрактной и компьютерной алгебры». В статье рассматривается решение сравнений с неизвестными, используя встроенный язык программирования. Примеры наглядно и подробно анализируются, приводятся основные функции, необходимые для достижения цели.

Ключевые слова: компьютерная алгебра, абстрактная алгебра, обучение, сравнение, модуль, решение, система.

F. Sirazov

APPLICATION OF THE MAXIMA COMPUTER ALGEBRA SYSTEM IN TEACHING ABSTRACT AND COMPUTER ALGEBRA ELEMENTS

The article is concerned with Maxima—a free computer algebra system for teaching abstract and computer algebra elements. The main aim is realised in the course “Abstract and computer algebra elements”, which deals with the solution of comparisons with unknowns using the embedded programming language. The examples are illustrated and analysed in detail, representing the main functions for pursuing the goal.

Key words: computer algebra, abstract algebra, education, comparison, module, solution, system.

Информатизация как процесс перехода к информационному обществу коснулась всех сфер человеческой деятельности. Свободный доступ к информации становится важнейшей чертой демократического общества. Уровень развития государства теперь непосредственно связан с проникновением информационных технологий во все сферы жизни. В то же время информатизация, в основе которой лежит быстро усложняющаяся техника и соответствующие ей технологии, может стать и препятствием развитию общества из-за возникающего информационного неравенства [3, с. 3]. Поэтому будущему специалисту необходимо владеть разносторонними знаниями об информационных процессах и уметь применять их на высоком профессиональном уровне в рамках своей специальности. Организация процесса обучения и в школе, и в вузе на основе применения новых информационных технологий

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

Использование новых информационных технологий при изучении математики задает эффективную своеобразную логику усвоения предмета, и обучение становится более профессионально ориентированным. Это приводит к усилению мотивации обучения и выявляет особенности средств НИТ в обучении. Необходимость использования возможностей НИТ в изучении математики связано также с тем, что требования, предъявляемые обществом к уровню математической подготовки студентов, неуклонно растут. Это объясняется широкими возможностями практического применения математики [1, с. 4].

В данной статье мы рассмотрим применение в обучении таких средств НИТ, как системы компьютерной алгебры (системы аналитических вычислений). Системы ком-

пьютерной алгебры (СКА) - это комплексные программные средства, обеспечивающие автоматизированную, технологически единую и замкнутую обработку задач математической направленности при задании их условий на специально предусмотренном языке пользователя [3, с. 40]. Самые совершенные и разработанные из них - Mathematica и Maple. Это наиболее универсальные математические программы, способные решать самые разные задачи, причем как численно, так и точно -аналитически. Очевидно, что максимальная доступность - одно из главнейших условий в сфере науки и образования. К счастью, существуют свободно распространяемые системы аналитических вычислений. Среди них самая первая система аналитических вычислений -Maxima (первоначальное название - DOE Macsyma), которая развивается как свободный международный проект под лицензией GNU, что позволяет рекомендовать ее широкому кругу пользователей.

Maxima - полнофункциональная система компьютерной алгебры и по возможностям сравнима с Mathematica и Maple. Применяя СКА Maxima, пользователь может преобразовывать выражения: упрощать, приводить подобные, раскрывать скобки или, наоборот, группировать подобные члены. А также вычислять производные, пределы и интегралы, решать системы алгебраических и дифференциальных уравнений, производить вычисления с матрицами. Может упрощать и преобразовывать тригонометрические выражения. Все это делается точно, аналитически. Как известно, не всякая задача имеет точное решение, и поэтому численные вычисления тоже имеют место, например, разрядность целых чисел неограничена, а вычисления с плавающей точкой могут выполняться с любой заранее заданной точностью и т. п. Помимо основных математических возможностей, данная система аналитических вычислений (САВ) имеет встроенный язык программирования (схожий с языком lisp). С помощью этого языка возможности САВ Maxima можно расширять бесконечно. Maxima имеет большую библиотеку пакетов для решения специальных математических задач.

В ГОС ВПО по специальности 030100 -«Информатика» содержится курс «Элементы абстрактной и компьютерной алгебры», который включался наряду с другими дисциплинами с целью подготовки фундаментальных, прикладных и методических дисциплин, определяющих необходимый профессиональный уровень современного специалиста. Данная дисциплина ставит целью ознакомить учащихся с характеристикой основных понятий абстрактной алгебры как число, группа, кольцо, числовые поля, многочлены и др. В рамках курса проводятся лекционные, практические и лабораторные занятия. На лекционных занятиях рассматриваются теоретические вопросы элементов абстрактной и компьютерной алгебры, их взаимосвязей и основных характеристик. Практические занятия предполагают отработку навыка применения теоретических характеристик в различных ситуациях, при решении задач и доказательстве предположений. Лабораторные занятия предназначены для усовершенствования навыков применения систем компьютерной алгебры при изучении абстрактной алгебры, поэтому проводятся в компьютерном классе.

Мы уже несколько лет в преподавании курса «Элементы абстрактной и компьютерной алгебры» используем систему компьютерной алгебры Maxima. В этом есть один положительный момент: при изучении данной дисциплины студент осваивает приемы работы с достаточно мощной системой компьютерной алгебры, значит, он будет лучше подготовленным к решению математических задач в различных приложениях. Применение СКА при обучении элементам абстрактной и компьютерной алгебры часто позволяет избавить студентов от множества рутинных вычислений, позволяет использовать дополнительное время для обдумывания алгоритмов решения задачи. На семинарских занятиях мы со студентами решаем примеры обычным способом, разбирая пример, составляем алгоритм решения и переводим на язык программирования Maxima. А также на основе основных функций создаем новые функции, необходимые для достижения конкретной цели. На лабораторных занятиях с помощью основных и новых функций решаем

те же примеры уже на компьютере. Добавляем новые функции в базу дополнительных пакетов Maxima. Таким образом, у нас появляется возможность для сравнения обычного способа решения примеров на семинарских занятиях с решением примеров на лабораторных занятиях с помощью программы Maxima.

Рассмотрим применение Maxima в решении задач по теме «Сравнения с неизвестными». Целью статьи обозначим следующее: на наглядных примерах показать эффективность использования возможностей системы компьютерной алгебры Maxima по данной теме. Действительно, применение СКА на лабораторных занятиях помогает студентам лучше понять абстрактную алгебру. Практика показывает то, что студенты довольно удачно используют программу при решении различных примеров. Обычным способом мы затратили бы много времени для достижения своей цели, а с применением Maxima в обучении элементам абстрактной и компьютерной алгебры процесс ускоряется и появляется дополнительная возможность творческого развития студентов как в области математики, так и программировании. Студентам недостаточно применения только основных функций, им интереснее создавать собственные алгоритмы решения задач и новые функции для достижения определенных целей. В этом случае, когда СКА рассматривается как система программирования, с развитым встроенным языком (схожий с языком lisp), ее изучение стимулирует студента к овладению новыми подходами и алгоритмами, позволяет повысить его профессионализм.

Для более подробного ознакомления с возможностями Maxima рассмотрим решение сравнений с одним неизвестным. Такое сравнение называется алгебраическим степени n, если оно имеет вид P(x) = 0(mod m), где P(x) = a0xn +... + an-1 x + an - многочлен степени п с целыми коэффициентами, причем a0 не делится на модуль, подобно тому, как от алгебраического уравнения степени п мы требуем, чтобы коэффициент при xn не равнялся нулю [5, с. 58].

Решение с помощью только основных функций невозможно, поэтому используем элемен-

ты программирования. Самый простой способ решения алгебраических сравнений - это применение определения:

Пусть mе N, m > 1, a,bе Z, тогда говорят, что а сравнима с b по модулю m, если m|( a - b). Обозначается: a = b (mod m) [5, с. 40]. На языке Maxima это можно написать в следующем виде: mod (a-b, m) = 0. Используя данное условие, можно найти все решения алгебраических сравнений.

Пример 1. Решить алгебраические сравнения первой степени с одним неизвестным x (т. е. линейные сравнения):

A. 41x = 33 (mod 47);

B. 3x -1 = 0(mod 3);

C. 6x = 3 (mod 9).

Решение:

A. Здесь мы, применяя две основные функции mod(x, у) и flatten(expr) составляем цикл по переменной х и перебираем все классы по модулю m, получаем множество всех x, удовлетворяющих условию цикла, т. е. решение сравнения:

M:{}$ for x: 0 thru 46 do if mod (41*x -

- 33,47) = 0 then M: {M, x}$ x = flatten(M);

x= {18}

Ответ: 18.

B. M:{}$ for x: 0 thru 2 do ifmod (3x - 1,3) = = 0 then M: {M, x}$ x = flatten(M);

x = { }

Ответ: Сравнение не имеет решения.

C. M: {} $ for x: 0 thru 8 do ifmod (6x - 3,9) = = 0 then M: {M, x}$ x = flatten(M);

x= {2, 5, 8}

Ответ: 2, 5, 8.

Рассмотрим алгебраические сравнения степени n.

Пример 2. Решить сравнения высшей степени ( n > 2 ):

A. x2 -1 = 0 (mod 8);

B. x4 -x2 + 3 = 0(mod5);

C. (x + 4)5 = x5 + 45 (mod 5);

D. x9 - x7 + x5 - x3 + x = 4 (mod 9) .

Решение:

A. M:{}$ for x: 0 thru 7 do ifmod ((xA2) - 1,8) = = 0 then M: {M, x}$ x = flatten(M);

x= {1, 3, 5, 7}

Ответ: 1, 3, 5, 7.

B. M:{}$ for x: 0 thru 4 do if mod (((xA4) -- (xA2) + 3) - 0,5) = 0 then M: {M, x}$ x = = flatten(M);

x= {2, 3}

Ответ: 2, 3.

C. M:{}$ for x: 0 thru 4 do if mod (((x + 4)A5) -

- (((x)A5) + ((4)A5)),5) = 0 then M: {M, x}$ x = = flatten(M);

x = {0, 1, 2, 3, 4}

Ответ: 0, 1, 2, 3, 4.

D. M:{}$ for x: 0 thru 8 do if mod (((xA9) -

- (xA7) + (xA5) - (xA3) + x) - 4,9) = 0 then M: {M, x}$ x = flatten(M);

x= {7}

Ответ: 7.

Мы также можем решить системы сравнений, применяя тот же алгоритм, но в случае с одним неизвестным перебираем все классы по модулю m^.-m (n - количество модулей).

Пример 3. Решить системы сравнений с одним и несколькими неизвестными:

A. ^ x = 7(mod 11) .

x = 13(mod 63) ’

C \3x + 5у + 4 = 0

B.

D.

x = 3

4x + у + 5z = 7

Решение:

A. for x from 0 thru 10*62 do if mod (x - 7,11) = = 0 and mod (x - 13,63) = 0 then display(x);

x=139

Ответ: x = 139

B. for x from 0 thru 28*20*31 do if mod (x -

- 3,29) = 0 and mod (x - 13,21) = 0 and

mod(x + 5,32) = 0 then display(x); x = 7195 Ответ: x = 7195.

C. for x: 0 thru 11 do for у: 0 thru 11 do

if mod(3*x + 5*у + 4,12) = 0 and mod(5*x + +у + 4,12) = 0

then print(‘x = x, ‘y = y); x = 2 у = 10 x = 8 у = 4 Ответ: (2; 10), (8; 4).

D. for x: 0 thru 7 do for у: 0 thru 7 do

for z: 0 thru 7 do

if mod(x + 3*у + z - 1,8) = 0 and mod(4*x + у + 5*z - 7,8) = 0 and

mod(2*x + 2*у + z - 3,8) = 0 then print('x = x, 'у = у, 'z = z); x = 6 у = 4 z = 7 Ответ: x = 6, у = 4, z = 7.

Рассмотрим пример приложения сравнений в решении уравнений.

Пример 4. Доказать, что уравнения не имеют решений в целых числах.

A. x2 - 5у2 = 3; B. у2 = 9x + 5.

Решение:

A. Для доказательства достаточно показать, что сравнение x2 = 3 (mod 5) не имеет решения.

for x : 0 thru 4 do if mod(xA2 - 3,5) = 0 then display(x); done

Ответ: Уравнение не имеет решений в целых числах.

B. Аналогично решаем сравнение у2 = 5 (mod 9) .

for у : 0 thru 8 do if mod(^A2 - 5,9) = 0 then display^); done

Ответ: Уравнение не имеет решений в целых числах.

Таким образом, мы рассмотрели некоторые применения системы аналитических вычислений Maxima при решении сравнений с неизвестными. Внедрение такой системы в преподавание курса «Элементы абстрактной и компьютерной алгебры» позволяет повысить заинтересованность студентов в изучении математических дисциплин и, как следствие, качество подготовки по математике и связанными с ней дисциплинами. Удобный и простой интерфейс привлекает внимание любого пользователя, благодаря этому Maxima становится незаменимым инструментом преподавателя для достижения своих целей в преподавании математики. Надеемся, что у вас сложилось представление о Maxima как о действительно профессиональной системе, предназначенной для решения сложных численных и аналитических задач. Ее вполне можно использовать и в учебных целях, и в качестве платформы для вполне серьезных научных разработок. Хотелось бы отметить, что уже сейчас Maxima

довольно активно применяется в образовании. образованию. Надеемся, что в дальнейшем

К сожалению, это не относится к российскому ситуация изменится в лучшую сторону.

СПИСОК ЛИТЕРАТУРЫ

1. Башкатова, Ю. В. Применение новых информационных технологий в изучении теории функций комплексной переменной: дис. ... канд. пед. наук: 13.00.02. М., 2000. 147 с.

2. Житников В. В. Компьютеры, математика и свобода. [Электронный ресурс] Компьютерра, 2006. № 16 (636).

3. Зайцева Ж. И. Методика преподавания высшей математики с применением новых информационных технологий (в техническом вузе): дис. ... канд. пед. наук.: 13.00.02, 13.00.08; Елабуга, 2005. 140 с.

4. Коленко Ю. В. Использование информационных технологий как средства формирования профессиональной компетентности курсантов военных вузов: автореф. дис. ... канд. пед.наук: спец. 13.00.08. Ставрополь, 2005.

5. Сафуанов И. С. Алгебра и теория чисел. Набережные Челны: Изд-во Камского политехнического института, 1999. 110 с.

6. Тарнавский Т. Maxima максимум свободы символьных вычислений. [Электронный ресурс] Linux Format. № 7 (81).

REFERENCES

1. Bashkatova Yu. V. Primeneniye novykh informatsionnykh tekhnologiy v izuchenii teorii funktsiy kompleksnoy peremennoy: dis. ... kand. ped. nauk: 13.00.02. M., 2000. 147 s.

2. Zhitnikov V. V. Komp’yutery, matematika i svoboda. [Elektronny resurs] Komp’yuterra, 2006. N 16 (636).

3. Za)!tseva Zh. I. Metodika prepodavaniya vysshey matematiki s primeneniyem novykh informatsionnykh tekhnologiy (v tekhnicheskom vuze): dis. ... kand. ped. nauk.: 13.00.02, 13.00.08; Yelabuga, 2005. 140 s.

4. Kolenko Yu. V. Ispol’zovaniye informatsionnykh tekhnologiy kak sredstva formirovaniya professional’noy kompetentnosti kursantov voyennykh vuzov: avtoref. dis. ... kad. ped.nauk: spets. 13.00.08. Stavropol’, 2005.

5. Safuanov I. S. Algebra i teoriya chisel. Naberezhnye Chelny: Izd-vo Kamskogo politekhnicheskogo instituta, 1999. 110 s.

6. laT^vs^ T. Maxima maksimum svobody simvol’nykh vychisleniy. [Elektronny resurs] Linux Format. N 7 (81).