Смекни!
smekni.com

«Использование систем компьютерной алгебры в научных и алгебраических вычислениях» (стр. 1 из 4)

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

Выпускная работа по
«Основам информационных технологий»

магистрант кафедры

дифференциальных уравнений

Маковецкий Александр

руководители:

профессор Громак Валерий Иванович

старший преподаватель Кожич Павел Павлович

Минск – 2009 г.

Оглавление

Оглавление. 2

Реферат на тему «Использование систем компьютерной алгебры в научных и алгебраических вычислениях». 3

Введение. 3

Глава 1. Обзор систем компьютерной алгебры. 3

Глава 2 Возможности пакета MATLAB.. 6

Глава 3.Реализация класса Polynom. 9

Заключение. 13

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

Предметный указатель к реферату. 16

Интернет ресурсы в предметной области исследования. 17

Действующий личный сайт в WWW. 18

Граф научных интересов. 19

Тестовые вопросы по Основам информационных технологии. 21

Презентация магистерской диссертации. 22

Список литературы к выпускной работе. 26

Приложения. 27

Реферат на тему «Использование систем компьютерной алгебры в научных и алгебраических вычислениях»

Введение

Появление компьютеров изменило все сферы современной науки и общественной, и даже личной, жизни. Появилась возможность проводить сложнейшие вычислительные эксперименты, что экономит не только деньги, но и время. Последнее обстоятельство особенно важно для научных работников, педагогов и студентов. Однако в нашей стране именно в области образования применение современных компьютерных методов и систем оставляет желать лучшего. Частично это связано с объективными причинами (дороговизна оборудования, программных продуктов и т. д.), однако очень часто и с субъективными — нежеланием что-либо менять, поскольку наше образование и так «самое лучшее в мире».[1]

Между тем появление современных систем компьютерной математики позволяет, не отказываясь от принципов фундаментальности классического образования, качественно изменить подходы и методы изложения материала, сделать его более наглядным и доступным, а следовательно, более интересным и привлекательным для основной массы обучающихся. Сегодня нечасто вспоминают о том, что компьютеры были созданы в первую очередь для проведения научных расчетов. Научное программное обеспечение и математические пакеты играют важную роль в современном естествознании и технике. Такие пакеты как Axiom, Derive, Maсsyma, Maple, MatLab, MathCAD, Mathematica широко распространились в университетах, исследовательских центрах и компаниях развитых стран.[4] Владение одним или несколькими математическими пакетами и регулярное использование их в работе будь то исследовательская или преподавательская задача быстро становится нормой для специалиста. Об этом можно судить по росту числа журнальных и книжных публикаций, освещающих применения данных пакетов для решения разнообразных проблем. Очень скоро начали доминировать приложения к задачам управления. Однако научные приложения остаются наиболее важными, особенно если взглянуть на требуемую производительность компьютера: наиболее мощные компьютеры обычно предназначаются для научных исследований.

Глава 1. Обзор систем компьютерной алгебры.

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

В настоящее время появились хорошо работающие системы такие как Maple, Mathematica, Mathcad, Matlab, Derive и некоторые другие. Все упомянутые выше системы, так же как и большинство неупомянутых, являются весьма дружественными по отношению к пользователю. Конечно же и синтаксис языка пользователя у них различный, и библиотеки доступных функций могут меняться от нескольких сотен до тысяч, и внутренние структуры и даже используемые алгоритмы значительно отличаются друг от друга, но все они обладают общими свойствами. Таких принципиальных общих свойств значительно больше, чем различий и, таким образом, после освоения одной из систем компьютерной алгебры переход к другой системе не является сложной проблемой.

Разработка, развитие и даже использование этих систем постепенно выделились в автономную научную дисциплину, относящуюся, очевидно, к информатике. Ее цели лежат в области искусственного интеллекта, несмотря на то, что методы все более и более удаляются от нее. Кроме того, используемые алгоритмы вводят в действие все более менее элементарные математические средства. Таким образом, эта дисциплина лежит на стыке нескольких областей, что одновременно обогащает ее и делает более трудной в исследовательском плане.[2]

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

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

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

Подобно упомянутым выше пакетам, пакет Matlab фактически представляет собой своеобразный язык программирования высокого уровня, ориентированный на решение научных задач. Характерной особенностью пакета является то, что он позволяет сохранять документы в формате языка программирования С.[9]

Пакет Mathcad популярен, пожалуй, более в инженерной, чем в научной среде. Характерной особенностью пакета является использование привычных стандартных математических обозначений, то есть документ на экране выглядит точно так же обычный математический расчет. Для использования пакета не требуется изучать какую-либо систему команд, как, например, в случае пакетов Mathematica или Maple. Пакет ориентирован в первую очередь на проведение численных расчетов, но имеет встроенный символический процессор Maple, что позволяет выполнять аналитические преобразования. В последних версиях предусмотрена возможность создавать связки документов Mathcad с документами Matlab. В отличие от упомянутых выше пакетов, Mathcad является средой визуального программирования, то есть не требует знания специфического набора команд. Простота освоения пакета, дружественный интерфейс, относительная непритязательность к возможностям компьютера явились главными причинами того, что именно этот пакет был выбран для обучения студентов численным методам.

Однако, в отличии от языка программирования типа FORTRAN, в котором синтаксические тонкости требуют тщательного изучения, в то время как принципы работы компилятора можно полностью игнорировать, здесь пользователь должен очень быстро разобраться, "как это работает", в частности, как представляются и обрабатываются данные.

В действительности, хотя обычно трудно предсказать время вычисления и размер результатов, знание принципов работы может дать представление о порядке их величины и при необходимости оптимизировать их. Эти оценки в действительности существенны: для большинства алгебраических вычислений результаты получаются почти моментально, и все идет отлично.[11] Но если это не так, то требуемое время и память возрастают обычно экспоненциально. Таким образом, выполнимость данных вычислений не всегда очевидна, и глупо жертвовать значительными ресурсами, когда неудачу можно предсказать заранее. Например, если требуется найти собственные значения матрицы, то для программы на яыке FORTRAN нет принципиальной разницы 100x100 или 500x500 эта матрица, так как время выполнения растет практически линейно. В Maple V.4 вычисления с матрицей 5x5 могут занимать 15 секунд, в то время как те же вычисления с матрицей 6x6 займут 15 минут.

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

В последнее время разработчики математических пакетов стремятся предложить продукт общего назначения. Для этого системы аналитических вычислений оснащаются развитыми средствами визуализации и насыщаются эффективными процедурами численного решения, а вычислительные пакеты дооборудуются компонентами компьютерной алгебры. В результате MatLab (фирма MathWorks Inc.) и MathCAD (фирма MathSoft Inc). получили ядро для выполнения аналитических вычислений, разработанное фирмой Maple Software Inc для пакета Maple.

Много внимания уделяется начинке пакетов. Помимо математического ядра с основными командами в Maple более тридцати библиотек для решения разнообразных задач теории чисел, графов, статистики, комбинаторики и многого другого. С пакетом MatLab поставляются приложения, ориентированные на решение классов задач, MathCAD известен своими электронными книгами справочного характера. Кроме того, много полезных команд, библиотек и приложений, разработанных пользователями этих пакетов, может быть найдено в Internet или в книгах, сопровождаемых дополнительными дискетами и даже компакт-дисками. Среди лидеров по числу изданных книг находятся пакет MatLab и система Maple. Однако на русском языке пока имеется мало литературы.