Настоящее пособие составлено на основе спецкурсов, читавшихся автором на механико-математическом факультете в течение более
10 лет. Выбор материала в значительной мере определялся пристрастиями автора. Наряду с классическими результатами компьютерной
алгебры в этих спецкурсах (и в настоящем пособии) нашли отражение исследования нашего коллектива. Прежде всего, это относится
к теории дифференциальной размерности. Теорией дифференциальной размерности мы начали заниматься по инициативе, под руководством и при активном участии А.В. Михалева в конце 70-х—начале 80-х годов прошлого века . Наряду с теоретическими исследованиями, нами был разработан комплекс программ на алгоритмическом языке REFAL для вычислений в дифференциальных и разностных модулях . Результаты многолетних исследований, связанных с конструктивными методами в кольцах дифференциальных
и разностных многочленов и теорией дифференциально-разностной
размерности, опубликованы в монографии . Частично эти результаты отражены в настоящем курсе. Пользуюсь случаем выразить глубокую признательность Алексадру Васильевичу Михалеву,
в значительной мере благодаря которому появился этот курс. Я также очень благодарен Марине Владимировне Кондратьевой, Александру Борисовичу Левину, Андрею Витальевичу Астрелину, Олегу
Дмитриевичу Голубицкому, Алексею Игоревичу Зобнину и другим
коллегам, работавшим вместе с нами в области
Преподавание
Что такое компьютерная алгебра.
Термин "
В чем основные отличия символьных вычислений от численных
и почему возник термин "
Когда мы говорим о вычислительных методах, то считаем, что все вычисления выполняются в поле вещественных или комплексных чисел. В действительности же всякая программа для ЭВМ имеет дело только с конечным набором рациональных чисел, поскольку только такие числа представляются в компьютере. Для записи целого числа отводится обычно 16 или 32 двоичных символа (бита), для вещественного—32 или 64 бита. Это множество не замкнуто относительно арифметических операций, что может выражаться в различных переполнениях, например, при умножении достаточно больших чисел или при делении на маленькое число. Еще более существенной особенностью вычислительной математики является то, что арифметические операции над этими числами, выполняемые компьютером, отличаются от арифметических операций в поле рациональных чисел,—более того, для компьютерных операций не выполняются основные аксиомы поля (ассоциативности, дистрибутивности). Эти особенности компьютерных вычислений оцениваются в терминах погрешности или точности вычислений. Оценка погрешности представляет одну из основных проблем вычислительной математики. Каждую задачу требуется решить с использованием имеющихся ресурсов ЭВМ, за обозримое время, с заданной точностью.
Набор объектов, применяемых в символьных вычислениях, весьма разнообразен, в частности, в них используется значительно большее множество рациональных чисел. Это множество все равно остается конечным, но ограничения на допустимые размеры числа (количество знаков в его записи) связаны обычно с размерами оперативной памяти ЭВМ, что позволяет пользоваться практически любыми рациональными числами, операции над которыми выполняются за приемлемое время. При этом компьютерные операции над рациональными числами совпадают с соответствующими операциями в поле рациональных чисел. Таким образом, снимается одна из основных проблем вычислительных методов — оценка погрешности вычислений.
В
Ограничения на алгоритмы решаемых компьютерной алгеброй задач накладываются имеющимися ресурсами ЭВМ и обозримостью времени счета. Однако ограничения по времени счета и по используемой памяти в символьных вычислениях существенно более обременительны, чем в вычислительных методах.
В научных исследованиях и технических расчетах специалистам
приходится гораздо больше заниматься
Системы компьютерной алгебры. Системы
Специализированные системы отличаются более высокой эффективностью, но область их применения ограничена. К специализированным системам относятся такие системы, как CALEY и
Алгоритмы компьютерной алгебры.
Применение компьютеров в алгебраических исследованиях поставило перед специалистами ряд новых задач и в то же время заставило заново пересмотреть задачи, считавшиеся решенными полностью и окончательно. В частности, к ним относились задачи, для которых был предложен метод, позволяющий решать их "за конечное число шагов" . При этом методы решения конкретных задач обычно отличались большим разнообразием, и универсальные методы для конкретных вычислений практически не использовались. С применением компьютеров для алгебраических вычислений потребовалось реализовать универсальные алгоритмы в виде программ для ЭВМ, и оказалось, что они позволяют решать только очень небольшие задачи. С увеличением размера задачи резко возрастало время счета и необходимая память компьютера. Это сделало актуальным поиск более эффективных алгоритмов решения алгебраических задач.
В конце прошлого века бурно развивались исследования в трех
областях
Оно начинается с рассмотрения проблемы представления данных, которую можно сформулировать в следующем виде. Имеется
множество объектов T и на нем отношение эквивалентности $$\tilde{}.$$ Требуется в каждом классе эквивалентных объектов выбрать
единственного представителя этого класса, для основных алгебраических областей: кольца целых чисел, поля рациональных чисел,
конечных полей, кольца многочленов и поля рациональных функций, алгебраических и трансцендентных расширений полей. Кроме
того, в лекции 1 рассматриваются арифметические операции в этих
областях.
Отдельная лекция (лекция 2) посвящена алгоритмам вычисления наибольших общих делителей целых чисел и многочленов. Здесь же приводятся некоторые оценки для коэффициентов делителя многочлена от одной переменной.
Задача представления данных для факторколец кольца многочленов приводит к введению понятия базисов Гребнера полиномиальных идеалов. Рассматривая образующие полиномиального идеала как систему нелинейных алгебраических уравнений, базис Гребнера можно трактовать как некоторую каноническую форму этой системы. Для случая многочленов от одной переменной над некоторым полем в качестве такой "канонической формы" можно рассматривать наибольший общий делитель этих многочленов, который может быть получен, например, с помощью алгоритма Евклида. Для системы линейных уравнений от многих переменных в качестве "канонической формы" можно взять диагональную форму системы (т. е. систему вида $$y_i= c_i, \; i=1,\dots,n$$ ), которая может быть получена с помощью метода Гаусса. В общем случае алгоритмы построения базиса Гребнера можно считать обобщением алгоритма Евклида и метода Гаусса.
Теория базисов Гребнера рассматривается в лекции 3 . Изложение не ограничивается случаем полиномиальных идеалов: строится более общая теория, применимая также к подмодулям свободных полиномиальных, дифференциальных и разностных модулей. Наряду с классическими базисами Гребнера рассматривается их специальный случай, называемый инволютивными базисами.
Базисы Гребнера имеют многочисленные приложения. В частности, они позволяют определить, совместна ли система нелинейных алгебраических уравнений, и, если система совместна, то определить, сколько эта система имеет решений над алгебраически замкнутым полем (если множество решений бесконечно, то определить размерность многообразия решений). Эти вопросы изучаются в рамках теории размерностных многочленов (многочленов Гильберта). Свойства таких многочленов и алгоритмы их вычисления приведены в лекции 4.
Лекция 5 посвящена задаче разложения многочленов на неприводимые множители. Мы рассматриваем эту задачу в следующей постановке: дан многочлен $$f(x)\in \Z[x]$$ с целыми коэффициентами от одной переменной, требуется разложить его на неприводимые множители. С точки зрения "чистого" математика эта задача давно решена полностью и окончательно: получен алгоритм, позволяющий находить требуемое разложение "за конечное число шагов". Один из таких алгоритмов получен в 1882 году Кронекером, чьим именем он и называется в настоящее время, хотя за 100 лет до Кронекера этот алгоритм был известен австрийскому астроному Шуберту. Следующий шаг в исследовании алгоритмов факторизации был сделан только в 60-х годах прошлого столетия, когда был найден достаточно эффективный алгоритм для разложения на множители многочленов с коэффициентами из конечного поля. Использование этого алгоритма в сочетании с леммой Гензеля позволило получить алгоритмы факторизации многочленов с целыми коэффициентами, пригодные для практической реализации. С конца 60-х годов прошлого века появляется большое количество работ по факторизации. Предлагаются усовершенствования алгоритмов, направленные на увеличение их быстродействия, на расширение области их применения, в частности, рассматривается задача факторизации многочленов от одной и многих переменных с коэффициентами из конечных полей, из полей алгебраических чисел и т.д. Крупным вкладом в теорию факторизации многочленов явилась работа , позволившая получить алгоритм факторизации, сложность которого оценивается полиномом от степени исходного многочлена.
Наконец, лекция 6 посвящена одной из
проблем дифференциальной
Дифференциальные кольца и поля, в которых наряду с арифметическими
операциями
имеется одна или несколько операций дифференцирования, - это активно
исследуемые объекты
Операция дифференцирования легко описывается алгебраически, и ее реализация
не представляет трудностей. Гораздо сложнее обстоит дело с обратной операцией -
интегрированием. Если F - дифференциальное поле и $$f\in F,$$ то не обязательно существует $$g\in F$$ такой, что g'=f.
Задача интегрирования в конечном виде в общем случае формулируется следующим образом. Пусть $$\alpha$$ и $$\beta$$ - два класса дифференциальных полей. Требуется построить
алгоритм, который для любого элемента f любого дифференциального поля F из класса $$\alpha$$ либо находит дифференциальное поле G в классе $$\beta$$ и элемент $$g\in G$$
такой, что g'=f, либо доказывает, что такого элемента не
существует ни в каком поле класса $$\beta.$$ В классической постановке задачи $$\alpha =\beta$$ - класс полей элементарных функций. Различные методы интегрирования изучаются в курсе математического анализа, но до недавнего времени они не были оформлены в виде
алгоритмов, применимых к широкому классу функций, в частности, эти методы часто
позволяли проинтегрировать функцию, если элементарный интеграл у нее
существует, но далеко не всегда позволяли доказать отсутствие элементарного
интеграла.
Алгоритм интегрирования в конечном виде функций из чисто
трансцендентного расширения поля рациональных функций, порожденного экспонентами и логарифмами, был сформулирован в 1969
году Ришем . Проверка, принадлежит ли подынтегральная функция данному классу, осуществляется с помощью структурной теоремы. Далее теорема Лиувилля позволяет определить вид элементарного интеграла, если такой существует. Вычисление интеграла
или доказательство его отсутствия производится
Обобщением задачи интегрирования можно считать задачу нахождения в классе $$\beta$$ дифференциальных полей решений линейных
дифференциальных уравнений с коэффициентами из дифференциального поля, принадлежащего классу $$\alpha.$$ Частный случай этой задачи для уравнения первого порядка приходится решать при интегрировании элементарных функций (в этом случае мы ищем решения в
том же поле, в котором лежат коэффициенты исходного уравнения).
Алгоритм нахождения решения в классе полей элементарных функций для уравнений второго порядка с коэффициентами из поля рациональных функций был предложен Ковасиком в 1978 году и вскоре был реализован в различных системах
Следующие обозначения считаются фиксированными на протяжении всей книги:
Zn — кольцо вычетов по модулю натурального числа n ;Op — кольцо целых p -адических чисел;Rp — поле рациональных p -адических чисел;F — произвольное поле;Fq — конечное поле из q элементов;i2=-1 );Запись алгоритмов осуществляем в форме, по возможности близкой к тем, которые используются в курсе информатики для средней школы и на механико-математическом факультете МГУ в курсе программирования . Алгоритм снабжаем именем, за которым в скобках следует список параметров с указанием их типа. В записи алгоритмов // означает, что далее в строке следуют комментарии.
При необходимости вводим новые типы данных, в частности,
для коммутативного кольца R с единицей введем типы "многочлен"
и "разложение" следующим образом:
R[x] — многочлен: запись(степень: Z+ коэффициенты: вектор элементов типа R с индексом 0..степень); разложение: запись(число_множителей: Z+ множители: вектор элементов типа многочлен с индексом 1..число_множителей).
Настоящее пособие составлено на основе спецкурсов, читавшихся автором на механико-математическом факультете в течение более
10 лет. Выбор материала в значительной мере определялся пристрастиями автора. Наряду с классическими результатами компьютерной
алгебры в этих спецкурсах (и в настоящем пособии) нашли отражение исследования нашего коллектива. Прежде всего, это относится
к теории дифференциальной размерности. Теорией дифференциальной размерности мы начали заниматься по инициативе, под руководством и при активном участии А.В. Михалева в конце 70-х—начале 80-х годов прошлого века . Наряду с теоретическими исследованиями, нами был разработан комплекс программ на алгоритмическом языке REFAL для вычислений в дифференциальных и разностных модулях . Результаты многолетних исследований, связанных с конструктивными методами в кольцах дифференциальных
и разностных многочленов и теорией дифференциально-разностной
размерности, опубликованы в монографии . Частично эти результаты отражены в настоящем курсе. Пользуюсь случаем выразить глубокую признательность Алексадру Васильевичу Михалеву,
в значительной мере благодаря которому появился этот курс. Я также очень благодарен Марине Владимировне Кондратьевой, Александру Борисовичу Левину, Андрею Витальевичу Астрелину, Олегу
Дмитриевичу Голубицкому, Алексею Игоревичу Зобнину и другим
коллегам, работавшим вместе с нами в области
Преподавание
Что такое компьютерная алгебра.
Термин "
В чем основные отличия символьных вычислений от численных
и почему возник термин "
Когда мы говорим о вычислительных методах, то считаем, что все вычисления выполняются в поле вещественных или комплексных чисел. В действительности же всякая программа для ЭВМ имеет дело только с конечным набором рациональных чисел, поскольку только такие числа представляются в компьютере. Для записи целого числа отводится обычно 16 или 32 двоичных символа (бита), для вещественного—32 или 64 бита. Это множество не замкнуто относительно арифметических операций, что может выражаться в различных переполнениях, например, при умножении достаточно больших чисел или при делении на маленькое число. Еще более существенной особенностью вычислительной математики является то, что арифметические операции над этими числами, выполняемые компьютером, отличаются от арифметических операций в поле рациональных чисел,—более того, для компьютерных операций не выполняются основные аксиомы поля (ассоциативности, дистрибутивности). Эти особенности компьютерных вычислений оцениваются в терминах погрешности или точности вычислений. Оценка погрешности представляет одну из основных проблем вычислительной математики. Каждую задачу требуется решить с использованием имеющихся ресурсов ЭВМ, за обозримое время, с заданной точностью.
Набор объектов, применяемых в символьных вычислениях, весьма разнообразен, в частности, в них используется значительно большее множество рациональных чисел. Это множество все равно остается конечным, но ограничения на допустимые размеры числа (количество знаков в его записи) связаны обычно с размерами оперативной памяти ЭВМ, что позволяет пользоваться практически любыми рациональными числами, операции над которыми выполняются за приемлемое время. При этом компьютерные операции над рациональными числами совпадают с соответствующими операциями в поле рациональных чисел. Таким образом, снимается одна из основных проблем вычислительных методов — оценка погрешности вычислений.
В
Ограничения на алгоритмы решаемых компьютерной алгеброй задач накладываются имеющимися ресурсами ЭВМ и обозримостью времени счета. Однако ограничения по времени счета и по используемой памяти в символьных вычислениях существенно более обременительны, чем в вычислительных методах.
В научных исследованиях и технических расчетах специалистам
приходится гораздо больше заниматься
Системы компьютерной алгебры. Системы
Специализированные системы отличаются более высокой эффективностью, но область их применения ограничена. К специализированным системам относятся такие системы, как CALEY и
Алгоритмы компьютерной алгебры.
Применение компьютеров в алгебраических исследованиях поставило перед специалистами ряд новых задач и в то же время заставило заново пересмотреть задачи, считавшиеся решенными полностью и окончательно. В частности, к ним относились задачи, для которых был предложен метод, позволяющий решать их "за конечное число шагов" . При этом методы решения конкретных задач обычно отличались большим разнообразием, и универсальные методы для конкретных вычислений практически не использовались. С применением компьютеров для алгебраических вычислений потребовалось реализовать универсальные алгоритмы в виде программ для ЭВМ, и оказалось, что они позволяют решать только очень небольшие задачи. С увеличением размера задачи резко возрастало время счета и необходимая память компьютера. Это сделало актуальным поиск более эффективных алгоритмов решения алгебраических задач.
В конце прошлого века бурно развивались исследования в трех
областях
Оно начинается с рассмотрения проблемы представления данных, которую можно сформулировать в следующем виде. Имеется
множество объектов T и на нем отношение эквивалентности $$\tilde{}.$$ Требуется в каждом классе эквивалентных объектов выбрать
единственного представителя этого класса, для основных алгебраических областей: кольца целых чисел, поля рациональных чисел,
конечных полей, кольца многочленов и поля рациональных функций, алгебраических и трансцендентных расширений полей. Кроме
того, в лекции 1 рассматриваются арифметические операции в этих
областях.
Отдельная лекция (лекция 2) посвящена алгоритмам вычисления наибольших общих делителей целых чисел и многочленов. Здесь же приводятся некоторые оценки для коэффициентов делителя многочлена от одной переменной.
Задача представления данных для факторколец кольца многочленов приводит к введению понятия базисов Гребнера полиномиальных идеалов. Рассматривая образующие полиномиального идеала как систему нелинейных алгебраических уравнений, базис Гребнера можно трактовать как некоторую каноническую форму этой системы. Для случая многочленов от одной переменной над некоторым полем в качестве такой "канонической формы" можно рассматривать наибольший общий делитель этих многочленов, который может быть получен, например, с помощью алгоритма Евклида. Для системы линейных уравнений от многих переменных в качестве "канонической формы" можно взять диагональную форму системы (т. е. систему вида $$y_i= c_i, \; i=1,\dots,n$$ ), которая может быть получена с помощью метода Гаусса. В общем случае алгоритмы построения базиса Гребнера можно считать обобщением алгоритма Евклида и метода Гаусса.
Теория базисов Гребнера рассматривается в лекции 3 . Изложение не ограничивается случаем полиномиальных идеалов: строится более общая теория, применимая также к подмодулям свободных полиномиальных, дифференциальных и разностных модулей. Наряду с классическими базисами Гребнера рассматривается их специальный случай, называемый инволютивными базисами.
Базисы Гребнера имеют многочисленные приложения. В частности, они позволяют определить, совместна ли система нелинейных алгебраических уравнений, и, если система совместна, то определить, сколько эта система имеет решений над алгебраически замкнутым полем (если множество решений бесконечно, то определить размерность многообразия решений). Эти вопросы изучаются в рамках теории размерностных многочленов (многочленов Гильберта). Свойства таких многочленов и алгоритмы их вычисления приведены в лекции 4.
Лекция 5 посвящена задаче разложения многочленов на неприводимые множители. Мы рассматриваем эту задачу в следующей постановке: дан многочлен $$f(x)\in \Z[x]$$ с целыми коэффициентами от одной переменной, требуется разложить его на неприводимые множители. С точки зрения "чистого" математика эта задача давно решена полностью и окончательно: получен алгоритм, позволяющий находить требуемое разложение "за конечное число шагов". Один из таких алгоритмов получен в 1882 году Кронекером, чьим именем он и называется в настоящее время, хотя за 100 лет до Кронекера этот алгоритм был известен австрийскому астроному Шуберту. Следующий шаг в исследовании алгоритмов факторизации был сделан только в 60-х годах прошлого столетия, когда был найден достаточно эффективный алгоритм для разложения на множители многочленов с коэффициентами из конечного поля. Использование этого алгоритма в сочетании с леммой Гензеля позволило получить алгоритмы факторизации многочленов с целыми коэффициентами, пригодные для практической реализации. С конца 60-х годов прошлого века появляется большое количество работ по факторизации. Предлагаются усовершенствования алгоритмов, направленные на увеличение их быстродействия, на расширение области их применения, в частности, рассматривается задача факторизации многочленов от одной и многих переменных с коэффициентами из конечных полей, из полей алгебраических чисел и т.д. Крупным вкладом в теорию факторизации многочленов явилась работа , позволившая получить алгоритм факторизации, сложность которого оценивается полиномом от степени исходного многочлена.
Наконец, лекция 6 посвящена одной из
проблем дифференциальной
Дифференциальные кольца и поля, в которых наряду с арифметическими
операциями
имеется одна или несколько операций дифференцирования, - это активно
исследуемые объекты
Операция дифференцирования легко описывается алгебраически, и ее реализация
не представляет трудностей. Гораздо сложнее обстоит дело с обратной операцией -
интегрированием. Если F - дифференциальное поле и $$f\in F,$$ то не обязательно существует $$g\in F$$ такой, что g'=f.
Задача интегрирования в конечном виде в общем случае формулируется следующим образом. Пусть $$\alpha$$ и $$\beta$$ - два класса дифференциальных полей. Требуется построить
алгоритм, который для любого элемента f любого дифференциального поля F из класса $$\alpha$$ либо находит дифференциальное поле G в классе $$\beta$$ и элемент $$g\in G$$
такой, что g'=f, либо доказывает, что такого элемента не
существует ни в каком поле класса $$\beta.$$ В классической постановке задачи $$\alpha =\beta$$ - класс полей элементарных функций. Различные методы интегрирования изучаются в курсе математического анализа, но до недавнего времени они не были оформлены в виде
алгоритмов, применимых к широкому классу функций, в частности, эти методы часто
позволяли проинтегрировать функцию, если элементарный интеграл у нее
существует, но далеко не всегда позволяли доказать отсутствие элементарного
интеграла.
Алгоритм интегрирования в конечном виде функций из чисто
трансцендентного расширения поля рациональных функций, порожденного экспонентами и логарифмами, был сформулирован в 1969
году Ришем . Проверка, принадлежит ли подынтегральная функция данному классу, осуществляется с помощью структурной теоремы. Далее теорема Лиувилля позволяет определить вид элементарного интеграла, если такой существует. Вычисление интеграла
или доказательство его отсутствия производится
Обобщением задачи интегрирования можно считать задачу нахождения в классе $$\beta$$ дифференциальных полей решений линейных
дифференциальных уравнений с коэффициентами из дифференциального поля, принадлежащего классу $$\alpha.$$ Частный случай этой задачи для уравнения первого порядка приходится решать при интегрировании элементарных функций (в этом случае мы ищем решения в
том же поле, в котором лежат коэффициенты исходного уравнения).
Алгоритм нахождения решения в классе полей элементарных функций для уравнений второго порядка с коэффициентами из поля рациональных функций был предложен Ковасиком в 1978 году и вскоре был реализован в различных системах
Следующие обозначения считаются фиксированными на протяжении всей книги:
Zn — кольцо вычетов по модулю натурального числа n ;Op — кольцо целых p -адических чисел;Rp — поле рациональных p -адических чисел;F — произвольное поле;Fq — конечное поле из q элементов;i2=-1 );Запись алгоритмов осуществляем в форме, по возможности близкой к тем, которые используются в курсе информатики для средней школы и на механико-математическом факультете МГУ в курсе программирования . Алгоритм снабжаем именем, за которым в скобках следует список параметров с указанием их типа. В записи алгоритмов // означает, что далее в строке следуют комментарии.
При необходимости вводим новые типы данных, в частности,
для коммутативного кольца R с единицей введем типы "многочлен"
и "разложение" следующим образом:
R[x] — многочлен: запись(степень: Z+ коэффициенты: вектор элементов типа R с индексом 0..степень); разложение: запись(число_множителей: Z+ множители: вектор элементов типа многочлен с индексом 1..число_множителей).
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.