Математика на рабочей станции UNIX

Математика - королева наук

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

Вильям Б. Циммерли, внештатный писатель и специалист в области инженерии знаний, Author

Вильям Б. Циммерли является специалистом в области инженерии знаний, программистом систем низкого уровня, имеющим практические знания в различных версиях UNIX и Microsoft® Windows®, а также вольнодумцем, который преклоняется перед алтарем логики. Вильям также известен как неразумный человек. Неразумный в том смысле, что "Разумные люди приспосабливаются к миру сами. Неразумные же пытаются приспособить мир для себя. Весь прогресс, следовательно, зависит от людей неразумных" (Джордж Бернард Шоу). Его страсть – создавать новые технологии и писать о них. Он живет в сельской части Хиллсборо, штат Миссури, где воздух свеж, где пейзажи вдохновляют и повсюду разбросаны винные заводики. Ничто не может сравниться с тем, когда пишешь статью о скриптах оболочки UNIX, потягивая Stone Hill Blush из прозрачного бокала. Связаться с ним можно по адресу bill@zimmerly.com.



15.10.2007 (Впервые опубликовано 31.10.2006)

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

Математика является королевой наук. Область коммерческого использования математических рабочих станций велика: математика правит миром, от простых инженерных задач до разработки лекарств и от генной терапии до астронавигации. Существует множество компьютерных программ, которые помогают в решении математических проблем в различных областях человеческой деятельности. В оставшейся части статьи описываются некоторые коммерческие системы и системы с открытым исходным кодом, которые могут показаться вам полезными. Для всех описанных систем имеются посвященные им Web-страницы, ссылки на которые приведены в разделе Ресурсы данной статьи.

Числовые калькуляторы

Наиболее типичные математические инструменты рабочих станций UNIX имеют форму калькуляторов или более совершенных электронных таблиц, таких как GNU Calc. Правила арифметики просты, и все эти инструменты неукоснительно им следуют. Почти каждый полнофункциональный пакет с графическим интерфейсом содержит по меньшей мере один калькулятор, а иногда и несколько версий калькуляторов.

Проект GNU также предоставляет счетные инструменты для загрузки. Среди них можно отметить GNU Calc, GNU Plot, ATLAS, Choose и более 4000 других математически-ориентированных программ. Ознакомьтесь с разделом Ресурсы для получения более полного перечня.

Символьная математика

Как вы учили в средней школе, математика включает в себя намного больше, чем простые операции с числами. Символьная запись переменных, замещающих числа, – таких переменных, как x, y и z, декартовой системы координат, принципов разложения на множители и мира интегрального и дифференциального исчисления, – является частью богатой и многообразной области, которая требует в такой же степени богатого и разнообразного содержания компьютерных ресурсов. Наиболее часто употребляемое название для группы программ, разрабатываемых для данных задач, – системы компьютерной алгебры (CAS). На рынке представлены как коммерческие, так и имеющие открытый исходный код программы CAS, наиболее популярные из которых описаны ниже.

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

Образовательные ресурсы

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

Коммерческие пакеты программ

Ниже следует краткий обзор некоторых из наиболее часто используемых коммерческих систем CAS. Если какая-то из них заинтересует вас, то более подробную информацию можно найти на Web-сайтах, перечисленных в секции Ресурсы.

Derive. Software Warehouse является одним из пионеров в создании символьного математического программного обеспечения, разработанного для использования на первых рабочих станциях. Созданная в 1979 году, когда компьютерная революция только началась, а компьютерные алгебраические системы были доступны только на больших, главных компьютерах вычислительных центров, использовавших терминалы с разделением времени, компания разработала программу, которая называлась muMATH, чтобы пользователи ПК могли использовать простые калькуляторы и решать математические задачи на небольших компьютерах с ограниченными возможностями. Впоследствии система muMATH была заменена намного более совершенной системой Derive. Derive написана на Lisp, распространненом языке программирования, особенно подходящем для обработки данных, основанной на правилах и обязательной для перевода одного абстрактного математического выражения в другое.

Fermat. Эта патентованная система компьютерной алгебры, являющаяся shareware, названа в честь одного из самых известных из когда-либо живших математиков – Пьера де Ферма. Она используется в ряде компьютерных систем и особенно подходит для арифметики, связанной с целыми числами произвольной длины и дробями, графиками, а также матричной и полиномиальной алгеброй. Fermat является быстродействующей программой. В рекламе компании говорится, что, если вам нужно найти характеристический многочлен матрицы размером 400 x 400 над множеством Q, вам нужна Fermat.

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

Maple. Разработанный и продаваемый компанией Waterloo Maple Inc. (Maplesoft) пакет математического программного обеспечения Maple был впервые создан в 1981 году Symbolic Computation Group в университете Ватерлоо в Ватерлоо, Онтарио, Канада. Maple – пакет программ, который выглядит впечатляюще и ориентирован на работу с трехмерными графиками и математическими формулами. Он объединяет интерфейс и язык программирования в динамический инструмент для решения как числовых, так и символьных задач. Во многих университетах Maple является стандартом для обучения математическим понятиям; компания предлагает студенческие и профессиональные версии этого программного обеспечения.

MathCAD. PTC – компания, предоставляющая услуги в области инжиниринга, – приобрела права на MathCAD в 2006 году. MathCAD, аналогичный Maple по своей простоте, имеет более продвинутый интерфейс, который позволяет инженерам вводить данные и отображать на экране множество формул наравне с графиками и текстом. MathCAD объединяет обширную библиотеку функциональных возможностей, включая исчисления, преобразования Лапласа, функции Бесселя, статистику и финансовые функции.

Mathematica. Компания Стивена Вольфрама, Wolfram Research, разработала Mathematica в конце 1980-х годов, уделив особое внимание аспектам программирования данного инструмента. Он предлагает гибкую комбинацию процедурного и функционального программирования и представляет недетерминированный метод для автоматического переписывания формулы. Это мощный пакет программного обеспечения с обширной и разнообразной библиотекой выполняемых функций, предлагающий уникальный способ решения проблем и имеющий множество образцов.

Reduce. Reduce является еще одной универсальной системой компьютерной алгебры, которая была создана путем сотрудничества многих ученых. Эта система была создана в 1960 году Энтони Хиэрном. Сейчас Reduce является одной из любимых систем многих членов научного сообщества. Она распространяется по цене, возмещающей издержки разработки, и обычно включает исходный код дистрибутива.

Пакеты программ с открытым исходным кодом и бесплатное программное обеспечение

В этом разделе рассматриваются программы с открытым исходным кодом. Ниже следует краткий обзор некоторых наиболее часто используемых CAS-систем, исходные коды которых лицензируются одной из распространенных лицензий на открытый код. Если какая-либо система заинтересует вас, более подробную информацию можно найти на Web-сайтах, перечисленых в разделе Ресурсы.

Axiom. Пригодная для изучения различных математических алгоритмов система компьютерной алгебры с открытым исходным кодом, известная как Axiom, выпускается под измененной лицензией Berkeley Software Distribution (BSD). Она включает высокотипизированную иерархию математических объектов и часто используемых в программировании структур данных для группирования объектов и контроля над ними. Написанная на специальном языке программирования A#, Axiom является подходящим инструментом для тех, кто намерен изучить алгоритмические модели.

CoCoA. Computations in Commutative Algebra (CoCoA) является еще одной бесплатной системой компьютерной алгебры для работы с большими целыми числами, рациональными числами и многочленами. Она предоставляет полезную библиотеку математических функциональных возможностей для специальных C++ программ.

Dcas. Область компьютерной алгебры предлагает большое и разнообразное число методик почти для каждого аспекта изучения математики. Существует много способов представления математических объектов в программах, и система Dcas Мартина Йохансена показывает, насколько различными могут быть эти методики. Dcas включает метод использования тождеств как правил для управления алгебраическими выражениями. Dcas стоит того, чтобы ознакомиться с ней; вполне возможно, что вам она покажется идеальным способом для решения задач в области вашей деятельности.

DoCon. Функциональный язык программирования, известный как Haskell, включает в себя такую программу для символьной математики, как DoCon. По документации, представленной на Web-сайте компании (см. раздел Ресурсы), DoCon включает в себя линейную алгебру, многочленные наибольшее общие делители, разложение на множители, Grobner bases и поддерживает построение по доменам – разложение на множители, многочлены, кольцо вычетов и т.д. Она имеет открытый исходный код и может стать подходящим инструментом для приложений, которые вы собираетесь разработать.

Eigenmath. Написанная Джорджем Уэйтом на языке C, программа Eigenmath является простой, легкой в использовании системой компьютерной алгебры. Так как в ней есть открытый исходный код, она является полезным инструментом для студентов, которые только начинают изучать системы компьютерной алгебры.

GiNaC. GiNaC, в отличие от большинства других систем компьютерной алгебры, не предоставляет графического интерфейса пользователя (GUI) для ввода выражений, поддерживая ввод выражений на родном C++ (язык разработки). Она обрабатывает алгебраический синтаксис, используя родную C++ объектно-ориентированную технику перегрузки оператора. Она также является одним из самых странных имен в области, где преобладают странные имена!

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

Macaulay. Компьютерная алгебраическая система Macaulay пригодна для многочленных вычислений с акцентом на подсчетах, основанных на исчислениях Grobner basis. Она была разработана для решения проблем простого синтаксиса и описывается как алгебраический машинный язык.

Mathomatic. Данная программа не имеет встроенных возможностей программирования и предназначена для использования в качестве простого калькулятора символьной математики. Она компилируется в любой системе, имеющей C-компилятор, стандартные библиотеки C и утилиту make системы UNIX.

Maxima. Как и большинство систем компьютерной алгебры, Maxima написана на языке Lisp. Основанная на коммерческом пакете программ Macsyma, Maxima включает в себя язык программирования группы ALGOL и больше всего подходит для обучения концепциям программирования в компьютерной алгебре. Она предоставляет произвольную арифметику, так что целые и рациональные числа ограничены в размере только доступной памятью системы.

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

SAGE. Software for Algebra and Geometry Experimentation (SAGE) написана на Python и использует интерактивную Python-оболочку в качестве интерфейса пользователя. SAGE уникальна тем, что она может функционировать как интегрирующее устройство для других разнообразных компьютерных алгебраческих систем, что позволяет пользователю усиливать индивидуальные мощности различных пакетов программ.

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

Yacas. Yet Another Computer Algebra System (Yacas) имеет превосходный интерфейс пользователя и другие преимущества программного обеспечения с открытым исходным кодом. Ввод в систему может осуществляться на ASCII либо OpenMath; у программы также имеется пакетный режим.

Заключение

Математика – королева наук, и нет недостатка в инструментах, которые помогают вам в решении математических задач, с которыми вы сталкиваетесь в какой-либо области деятельности. Работаете ли вы статистиком страхового общества или астронавигатором, который выбирает оптимальный путь для космического корабля, летящего на Плутон, существуют программы, которые помогут вам в поисках решения задачи.

Ресурсы

Научиться

Получить продукты и технологии

Обсудить

Комментарии

developerWorks: Войти

Обязательные поля отмечены звездочкой (*).


Нужен IBM ID?
Забыли Ваш IBM ID?


Забыли Ваш пароль?
Изменить пароль

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Профиль создается, когда вы первый раз заходите в developerWorks. Информация в вашем профиле (имя, страна / регион, название компании) отображается для всех пользователей и будет сопровождать любой опубликованный вами контент пока вы специально не укажите скрыть название вашей компании. Вы можете обновить ваш IBM аккаунт в любое время.

Вся введенная информация защищена.

Выберите имя, которое будет отображаться на экране



При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

Обязательные поля отмечены звездочкой (*).

(Отображаемое имя должно иметь длину от 3 символов до 31 символа.)

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Вся введенная информация защищена.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=AIX и UNIX
ArticleID=261773
ArticleTitle=Математика на рабочей станции UNIX
publish-date=10152007