Реферат: Программа Mathematics
<span Arial",«sans-serif»;mso-bidi-font-family:«Times New Roman»">Борис Манзон
Едваисчезли со страниц журналов восторженные отзывы на новую версию математического пакетаMapleV 4.0компанииMaple Waterloo,как компанияWolfram Researchпредставила не менее интересный продукт— Mathematica3.0.
Немного истории для тех, кто недостаточно хорошо знаком с этой программой.
Она разработана компаниейWolfram Research Inc,основанной известным математикоми физиком Стефаном Вольфрамом, одним из создателейтеории сложных систем. Первая версия программы, появившаяся в1988 г, стала новымсловом в автоматизации математических расчетов.
Mathematicaотличается охватом широкогокруга задач, так как ее разработчики задались целью объединить все известныематематические методы, использующиеся для решениянаучных задач, в унифицированном и согласованном виде, включая аналитические и численныерасчеты.
За основу был взят специальноразработанный язык символьногопрограммирования, который способен оперироватьочень широким спектром различных объектов с применением небольшого числабазисных конструкций. ^ ^Однакопрограмма не приобрела большой популярности из-за того, что ее сложно было освоить и невозможноработать без использования объемной документации. Только в1991г., после выхода в светвторой версии, в которой разработчики устранилимногие ошибки предыдущей версии, а также применилиболее дружелюбный интерфейс и включили подсказки по встроенным функциям,программа начала быстро завоевывать популярность. А к моментувыходаMathematica3.0уже было зарегистрированоболее миллиона постоянных пользователейпрограммы.
Mathematicàдает возможность специалистам решать большоеколичество достаточно сложных задач, не вдаваясь втонкости программирования. Благодаря этому программаполучила широкое распространение в таких областях,как физика, биология, экономика. Программа также применяетсякак для выполнения, так и для оформления инженерных проектов.
Mathematicaявляется важным инструментом при разработкепрограммного обеспечения. Она может быть модернизирована самим пользователем,так какonносится к открытым программным продуктам Была. разработана примерносотня профессиональны» приложений, расширяющих возможности системыприменительно к конкретным областям деятельности.
ПрограммаMathematicaнаряду с программами Maple,MatLabиMathCadприменяется в качестве базисной для построения курса математики во многихвысших как технических, так и гуманитарных учебных заведениях Несколькопериодических икании и более двухсот книг посвящено этой программе.
Интерфейс
Программасостоит из двух частей— ядра, которое,собственно, и производит вычисления, выполняя заданные команды, и интерфейсногопроцессора, который определяет внешнее оформление и характер взаимодействия спользователем и системой. Основной рабочий документ программы— тетрадь, в которой пользователь записывает все выкладки. Вид рабочей тетради на экранемонитора зависит от интерфейсного процессора, реализация которого для разныхплатформ несколько отличается.
Пользовательский интерфейспрограммыMathematica3.0сначала кажется несколько примитивным: инструментальная панель— это просто строка меню, а отдельное окно документавыглядит как бы подвешенным . Кроме того,на инструментальной панели отсутствуют кнопки длявыполнения часто повторяемых операций, которые были в предыдущей версии.
Однако впечатление примитивности интерфейса сразу же исчезает, когда выясняется, что можно подключать настраиваемые кнопочныепалитры, которых в программе имеется большедесятка. С их помощью можно выполнять различные функции, а часть кнопок соответствует специальным символам. Всего в программеболее700 математических, языковых и других символов.При нажатии на кнопки с символом последний переносится в рабочий документ на указанное курсором мести. Другие кнопки палитры соответствуют наименованиямряда функций программы, которые при выборе вводятся в командную строку. Принажатии кнопки алгебраических преобразованийпредварительно выделенное алгебраическое выражение трансформируется всоответствии с названием выбранной команды, например упрощается командойsimplify.
Программа позволяет применять различныестили для оформления документа на экране и вывода его на печать, причем вновой версии стилей может быть значительно больше,чем в предыдущей. Для их изменения предусмотрена специальная палитра.
Программа даетвозможность отображать математические символы с достаточно высокимполиграфическим качеством в тексте наэкране, в командах, а также при выводе на печать . Увеличено количество опций. Возможно создание гипертекстовыхсвязей.
Рабочую тетрадьможно сохранять вHTML-формате, а также вформате полиграфического языкаLaTexи некоторых других.
Усовершенствованаи расширена система подсказок, имеется интерактивный доступ к полному текстуэлектронной версии документации, которая состоит из инструкции пользователя,справочника по стандартным дополнениям, учебника для начинающих и демонстрационныхфайлов.
Меню окнасправки очень хорошо продумано, чтопозволяет получить информацию различными путями. Можно получить справку поинтересующей теме или функции, а также просмотреть текст всех документов,содержащих введенное ключевое слово.
Аналитические расчеты
Умение проводитьаналитические расчеты— одно из главных достоинствэтой программы, автоматизирующей математические расчеты.Mathematicaумеет преобразовывать и упрощать алгебраические выражения, дифференцироватьи вычислять определенные и неопределенные интегралы, вычислять конечные ибесконечные суммы и произведения, решать алгебраические и дифференциальныеуравнения и системы, а также разлагать функции в ряды и находить пределы.Крометого,Mathematicaимеет стандартные дополнения для аналитических рассчетов,которые будут рассмотрены ниже.
Следуетзаметить, что возможности каждой новой версии программы качественновозрастают. В версии3.0 программыкоманда упрощения алгебраических выражений Simplifyдополнена значительно болеемощной командой FullSimplify,которая позволяет обрабатывать математическиевыражения, включающие специальные функции
Расширен спектр математическихвыражений, для которых аналитически находятся неопределенные и определенныеинтегралы. Появилась также возможность задавать область изменения параметров в подынтегральныхвыражениях, что позволяет интегрировать многие выражения, которые в общемслучае не имеют первообразной.
Значительно возросло число различных (конечныхи бесконечных) сумм и произведений, вычисляемых аналитически, а такжеаналитически решаемых обыкновенных дифференциальных уравнений и уравнений вчастных производных .
Из числа другихулучшений можно выделить повышение скорости решения задач линейной алгебры.
Численные методы
Для тех задач,которые невозможно решить аналитически,Mathematica3.0предлагает большое количество эффективных алгоритмов для проведения численных расчетов. Она позволяет находить конечные ибесконечные суммы и произведения,вычислять интегралы, решать алгебраические и дифференциальные уравнения и системы,задачи оптимизации (линейного программирования, нахождения экстремумовфункций), а также задачи математической статистики. При численном решении математических задачнаряду с правильностью алгоритмов расчета особую роль играет точностьвычислений. ВMathematica3.0реализован адаптивный контроль точности, основанный на выборевнутренних алгоритмов, позволяющих ее максимизировать. В этой версии программыповышена эффективность одно и многомерной интерполяции, оптимизированыалгоритмы численного решения дифференциальных уравнений Добавлены многократное численноеинтегрирование) а также численное дифференцирование Оптимизированы алгоритмынахождения экстремумов Поддерживается арифметика интервалов (рис6)
Осуществлен независимый от конкретной компьютерноиплатформы механизм ввода и вывода числовых данных без потери точности.
<span Arial",«sans-serif»;mso-bidi-font-family: «Times New Roman»">Математические функции
Мathernatica3.0позволяет включать в расчеты все известныеэлементарные функции, а также сотни специальных встроенных функций.Разумеется, пользователь программы может вводить и свои функции как для применения в течение одного сеанса работы так и для постоянного использования. В новой версии3.0добавлены интегралыФренеля ин тегральные гиперболические синус и косинус, обратная функция ошибок, ãàììaи бета функции, дополнительнаяфункция Вейерштрасса, эллиптические и родственные с ними функции, функции Матье.Введены числа и полиномы Фибоначчи .
<span Arial",«sans-serif»;mso-bidi-font-family: «Times New Roman»">Графика и звук
Mathernaticaпозволяет строить двух итрехмерные графики различных типов в видеточек и линии на плоскости, поверхностей, а также контурные, градиентные (dencity plot),параметрические. Имеется большое количество опций оформления инастройки, например изменение подсветки, цвета, размеров и точки наблюдения . Mathematicaвыполняет построениеграфика в три этапа. На первом создается множество графических примитивов, навтором они преобразуются в независимое от вычислительнойплатформы описание на языкеPostScript,а на третьем это описаниепереводится в графический формат для той системы, на которой установленаMathematiса.Если первые два этапа осуществляет ядро программы, то последний— интерфейсный процессор. Mathematicaпозволяет также строитьсерии картинок, которые могут быть воспроизведены как анимация. Программа содержитфункции, позволяющие создавать и воспроизводитьразличные звуки, а также воспринимает и может анализировать некоторые типы стандартныхзвуковых файлов.
После выполнения команды в рабочей тетрадипоявляется картинка, представляющая собой график синусоид, входящих в аргументкоманды, а звуковой файл (так же как и файл анимации) запоминается в документе.Это позволяет сразу после открытия документа воспроизвести их без повторноговычисления. В новой версии3.0 программы заметно улучшено текстовоеоформление графиков. Теперь заголовки и текст меток на графиках могут бытьпредставлены с достаточно высоким полиграфическим качеством (правильное изображениематсматических символов). Возможно также включение в сам графикформатированных текстовых строк. Ячейки рабочего документа теперь автоматически конвертируются вEPS, TIFF, GIFи другие графические форматы.
<span Arial",«sans-serif»;mso-bidi-font-family:«Times New Roman»">Программирование
Входной языкMathematicaсодержит большое количество конструкций, позволяющих для каждой конкретнойзадачи выбрать оптимальный метод программирования. Помимо обычного процедурного программирования с применениемусловных переходов и операторов цикла, имеется еще несколько методов.
•основанный на операциях сосписками, этот метод используетособенности универсального объекта программы— списка выражений, скоторыми можно производить математическиеоперации, как с алгебраическими выражениями, при этом заданные операции выполняются всеми элементами списка,
•основанный на операциях над строками(string-based),
•функциональною программирования(functional programming),позволяющий создавать сложные функции и последовательности вложенных функций;
•на базе правил преобразования выражений (rule-based);<span Arial",«sans-serif»; mso-bidi-font-family:«Times New Roman»;mso-no-proof:yes">
•объектно-ориентированный(object-oriented) .
В каждой конкретной программе пользовательможет одновременно применять несколько методов или даже все перечисленные. Серьезным недостатком предыдущей версии программы былонеэкономное использование памяти компьютера. В третьей версии программытипичные операции ядра осуществляются быстрее и с меньшим использованием памяти, чем во второй Для ускорения загрузки уменьшено количество первоначальнозагружаемых в память функций Введеныновые мощные операторы символьного программированияи усовершенствованные операторы для манипулирования строками. Появиласьвозможность компилировать вычисляемые выражения и процедуры При этом скорость вычислений может бытьсравнима со скоростью такой же процедуры, написанной на языке Си или Фортран, или даже выше.
<span Arial",«sans-serif»;mso-bidi-font-family:«Times New Roman»">Стандартныедополнения
Mathematica 3.0содержит11стандартныхдополнений, включающих подпрограммы (пакеты), значительно расширяющие функциональные возможности в таких областях, какалгебра, аналитические ичисленныс расче-гы, графика, дискретная математика, теория чисел и статистика.Стандартные дополнения могут загружаться по мере надобности.Для загрузки пакета используется соответствующее название, включающее имя дополнения и имя пакета из данного дополнения.Рассмотрим подробнее стандартные дополнения.
Алгебра
В это дополнение входят пакеты, позволяющиезадавать различные алгебраические поля и оперировать в них, а также несколькопакетов, расширяющих функциональность программы при оперировании с полиномами инахождении их корней. В новой версии оно пополнилось пакетами для решениянекоторых типов алгебраических неравенств и симметричных полиномов и, кроме того, добавлена Гамильтонова алгебракватернионов и элементы полей Пигуа.
Вычисления
Это дополнение содержит пакеты, позволяющиерасширять возможности программы при вычислении интегралов, нахождении прсделов,решении дифференциальных уравнений и задач линейной алгебры в различныхсистемах координат, а также включает команды преобразования Фурье и Лапласа,обобщенные функции, вариационные методы. В новой версии оно пополнилосьпакетом для нахождения полных интегралов и дифференциальных инвариантовнелинейных уравнений в частных производных.
Дискретная математика
Дополнение предлагает примерно200 функций для проведения исследований вобласти комбинаторики и теории графов; вычислительную геометрию, которая содержитнесколько геометрических функций для непараметрического анализа данных; пакетыдля оперирования с функциями от целых чисел, в частности для решениярекуррентных уравнений, выполнения преобразований.
Графика
Дополнение включает21 пакет. Оно значительно расширяет возможности программы припостроении графиков и анимаций. Введены новые типы: логарифмические графики,графики тел вращения, полярные, контурные, матричные графики, трехмерныепараметрические, двух- и трехмерные графики векторных полей, графики неявнозаданныхфункций и др. Появилась возможность отображать ортогональные проекциитрехмерных графических объектов на координатные плоскости . Добавлены также функции для графического представления комплексныхфункций.
Геометрия
Геометрическое дополнение содержит пакеты,включающие функции для заданияпараметров правильных многоугольников и многогранников, а также функции, обеспечивающиевращение на плоскости и в пространстве.
Линейная алгебра
В это дополнение входят функции для созданияортогональных векторных базисов, решения матричных уравнений, разложенияматриц и выполнения других операций сматрицами. Оно включает пакетыCholcsky,GaussianElimmatlon, MatrixManipulation, Orthogonalizaltion, Tridiagonal.
Теория чисел
Функции, относящиеся к теории чисел, широко представлены в ядрепрограммыMathematica,например PrimePi,EulerPhi, MoebiusMuиDivisorSigma. Дополнениетеории чисел расширяет этот список функций. В нее включены пакеты длядоказательства простоты чисел, разложения целых чисел на множители. Имеются функции для аппроксимации действительных чисел рациональными иполиномов с действительными корнями полиномами с целыми коэффициентами. Пользуясьдополнениями, можно найти разложение действительного числа в бесконечную дробьили произвольное разложение действительного числа разбить на непериодическую ипериодическую части. Поддерживаются также такие функции теории чисел, как RamujanиSiegel.
В новой версии появились возможности длянахождения базисных элементов для произвольных алгебраических расширенийрациональных чисел.
Приближенные вычисления
Это дополнение расширяет список встроенныхфункций программыMathematicaдля приближенных численных расчетов. Оно содержитсредства подгонки функциями (полиномом, сплайнами, тригонометрическими), численные версии некоторыханалитических функций ядра(ND, NLiunit, NResldue,NSencs),функции численного интегрирования(CauchyPrincipalValue, Listintegrate, IntegrateInterpolationFunction),аппроксимации отношениемполиномов, поддержки численного решения дифференциальных уравнений(BesscIZeros, Butcher, Order-Star),а также альтернативный способ нахождения корней (FindRout)с использованием методов интервалов или интерполяции. В последнюю версию введены пакетыдля численногонахождения вычетов и разложений комплексных функций.
Статистика
Это дополнение включает методыстатистической обработкиданных.Внем содержатсяфункцииизвестныхнепрерывных и дискретныхстатистических распределений. В новуюверсию добавлены пакеты подгонки и сглаживания данных, классической иробастной описательной статистики, линейной и нелинейной регрессии с диагностикой.
Утилиты и разное
Дополнение «утилиты» содержит команды дляконтроля времени вычислений, оптимизации использования памяти и др. К«разному» относятся те функции, которые трудно классифицировать, в частности функции, расширяющие аудиовозможностисистемы,— модуляция звуковых волн имузыкальные гаммы. В «разное» входят также календарные данные, физическиепостоянные, единицы измерения физических величин, свойства химических элементови, кроме того, различные географические данные и даже функции для построениягеографических карт.
Пакеты и отдельные функции из них могутзагружаться по мере необходимости. Если же какой-либо пакет часто используется,то его можно инициализировать при загрузке ядра программы.
В новой версии доступна полная документацияпо стандартным дополнениям в интерактивном режиме.
Профессиональные приложения.
Для программы Mathematicaпомимостандартных дополнений разработано большое количество профессиональныхприложений — пакетов,. Расширяющих возможности программы в специальныхобластях. Библиотека приложений в настоящее время содержит 23 различных пакета,из которых 18 разработано корпорацией, аостальные — другими разработчиками. Причем эта библиотека очень быстропополняется.
Перечислим только некоторые изпрофессиональных приложений, демонстрирующих их разнообразие: Structural Mechanics, Experimental Data Analyst, TimeSeries, Finance Essentials, Fuzzy logic и т.д.
<span Tms Rmn",«serif»;mso-fareast-font-family:«Times New Roman»; mso-bidi-font-family:«Times New Roman»;mso-ansi-language:RU;mso-fareast-language: RU;mso-bidi-language:AR-SA">