Борис Манзон
Ледве зникли зі сторінок журналів захоплені відгуки на нову версіюматематичного пакету Maple V 4.0 компанії Maple Waterloo, як компанія
Wolfram Research представила не менш цікавий продукт - Mathematica 3.0.
Трохи історії для тих, хто недостатньо добре знайомий з цією програмою.
Вона розроблена компанією Wolfram Research Inc, заснованої відомимматематиком і фізиком Стефаном Вольфрамом, одним з творців теоріїскладних систем. Перша версія програми, що з'явилася в 1988 р, стала новимсловом в автоматизації математичних розрахунків.
Mathematica відрізняється охопленням широкого кола завдань, так як їїрозробники поставили собі за мету об'єднати всі відомі математичні методи,що використовуються для вирішення наукових завдань, в уніфікованому та узгодженомувигляді, включаючи аналітичні та чисельні розрахунки.
За основу був узятий спеціально розроблений мова символьногопрограмування, який здатний оперувати дуже широким спектромрізних об'єктів із застосуванням невеликого числа базисних конструкцій. ^
^ Однак програма не набула великої популярності через те, що їїскладно було освоїти і неможливо працювати без використання об'ємноїдокументації. Тільки в 1991 р., після виходу в світ другої версії, вякої розробники усунули багато помилок попередньої версії, а такожзастосували більш дружній інтерфейс і включили підказки з вбудованимфункцій, програма почала швидко завойовувати популярність. А на часвиходу Mathematica 3.0 вже було зареєстровано понад мільйон постійнихкористувачів програми.
Mathematicа дає можливість фахівцям вирішувати велику кількістьдосить складних завдань, не вдаючись у тонкощі програмування.
Завдяки цьому програма отримала широке розповсюдження у такихгалузях, як фізика, біологія, економіка. Програма також застосовується якдля виконання, так і для оформлення інженерних проектів.
Mathematica є важливим інструментом при розробці програмногозабезпечення. Вона може бути модернізована самим користувачем, так як onноситься до відкритих програмних продуктів Була. розроблена приблизно сотняпрофесійні »додатків, що розширюють можливості системи стосовнодо конкретних областях діяльності.
Програма Mathematica поряд з програмами Maple, MatLab і MathCadзастосовується в якості базисної для побудови курсу математики в багатьохвищих як технічних, так і гуманітарних навчальних закладах Кількаперіодичних Ікан і більше двохсот книжок присвячено цій програмі.
Інтерфейс
Програма складається з двох частин - ядра, яке, власне, і виробляєобчислення, виконуючи задані команди, і інтерфейсного процесора, щовизначає зовнішнє оформлення і характер взаємодії з користувачем ісистемою. Основний робочий документ програми - зошит, в якомукористувач записує всі викладення. Вид робочого зошита на екранімонітора залежить від інтерфейсного процесора, реалізація якого длярізних платформ дещо відрізняється.
Для користувача інтерфейс програми Mathematica 3.0 спочатку здаєтьсякілька примітивним: інструментальна панель - це просто рядок меню, аокреме вікно документа виглядає як би підвішеним. Крім того, наінструментальної панелі відсутні кнопки для виконання часто повторюванихоперацій, які були в попередній версії.
Однак враження примітивності інтерфейсу відразу ж зникає, колиз'ясовується, що можна підключати настроюються кнопкові палітри, яких упрограмі є більше десятка. З їх допомогою можна виконувати різніфункції, а частина кнопок відповідає спеціальним символам. Всього впрограмі понад 700 математичних, мовних та інших символів. При натисканнікнопку із символом останній переноситься в робочий документ на вказанекурсором помсти. Інші кнопки палітри відповідають найменуванням рядуфункцій програми, які при виборі вводяться в командний рядок. Принатисканні кнопки алгебраїчних перетворень попередньо вибраногоалгебраїчне вираз трансформується відповідно до назвивибраної команди, наприклад спрощується командою simplify.
Програма дозволяє застосовувати різні стилі для оформлення документа наекрані і виведення його на друк, причому в новій версії стилів може бутизначно більше, ніж в попередній. Для їх зміни передбаченаспеціальна палітра.
Програма дає можливість відображати математичні символи з доситьвисоким поліграфічним якістю в тексті на екрані, в командах, а такожпри виведенні на друк. Збільшено кількість опцій. Можливе створеннягіпертекстових зв'язків.
Робочу зошит можна зберігати в HTML-форматі, а також у форматіполіграфічного мови LaTex і деяких інших.
Удосконалено і розширена система підказок, є інтерактивнийдоступ до повного тексту електронної версії документації, яка складається зінструкції користувача, довідника за стандартними доповнень, підручникадля початківців і демонстраційних файлів.
Меню вікна довідки дуже добре продумано, що дозволяє отриматиінформацію різними шляхами. Можна отримати довідку за потрібною темоюабо функції, а також переглянути текст всіх документів, що містятьвведене ключове слово.
Аналітичні розрахунки
Вміння проводити аналітичні розрахунки - одне з головних достоїнств цієїпрограми, що автоматизує математичні розрахунки. Mathematica вмієперетворювати і спрощувати алгебраїчні вирази, диференціювати іобчислювати визначені і невизначені інтеграли, обчислювати кінцеві танескінченні суми і твори, вирішувати алгебраїчні і диференціальнірівняння і системи, а також розкладати функції в ряди і знаходити межі
. Крім того, Mathematica має стандартні додатки для аналітичнихрозрахунків, що будуть розглянуті нижче.
Слід зауважити, що можливості кожної нової версії програми якіснозростають. У версії 3.0 програми команда спрощення алгебраїчнихвиразів Simplify доповнена значно більш потужною командою
FullSimplify, яка дозволяє обробляти математичні вирази,включають спеціальні функції
Розширено спектр математичних виразів, для яких аналітичнознаходяться невизначені та визначені інтеграли. З'явилася такожможливість задавати область зміни параметрів у подинтегральнихвиразах, що дозволяє інтегрувати багато вирази, які в загальномувипадку не мають первісної.
Значно зросла кількість різних (кінцевих і нескінченних) сум ітворів, що обчислюються аналітично, а також аналітично розв'язуванихзвичайних диференціальних рівнянь і рівнянь в приватних похідних.
З числа інших поліпшень можна виділити підвищення швидкості розв'язання задачлінійної алгебри. p>
Чисельні методи
Для тих завдань, які неможливо вирішити аналітично, Mathematica 3.0пропонує велику кількість ефективних алгоритмів для проведеннячисельних розрахунків. Вона дозволяє знаходити кінцеві і нескінченні суми ітвори, обчислювати інтеграли, вирішувати алгебраїчні і диференціальнірівняння і системи, задачі оптимізації (лінійного програмування,знаходження екстремумів функцій), а також задачі математичної статистики.
При чисельному рішенні математичних задач поряд з правильністюалгоритмів розрахунку особливу роль відіграє точність обчислень. У Mathematica
3.0 реалізований адаптивний контроль точності, заснований на виборівнутрішніх алгоритмів, що дозволяють її максимізувати. У цій версіїпрограми підвищена ефективність одне і багатовимірної інтерполяції,оптимізовані алгоритми чисельного розв'язання диференціальних рівнянь
Додані багаторазове чисельне інтегрування) а також чисельнедиференціювання Оптимізовані алгоритми знаходження екстремумів
Підтримується арифметика інтервалів (рис 6) p>
Здійснено незалежний від конкретної компьютерноі платформи механізмвведення та виведення числових даних без втрати точності.
Математичні функції p>
Мathernatica 3.0 дозволяє включати в розрахунки всі відоміелементарні функції, а також сотні спеціальних вбудованих функцій.
Зрозуміло, користувач програми може вводити і свої функції як длязастосування протягом одного сеансу роботи так і для постійноговикористання. У новій версії 3.0 додані інтеграли Френеля интегральние гіперболічні синус і косинус, зворотній функція помилок, гаммaі бета функції, додаткова функція Вейерштрасса, еліптичні іспоріднені з ними функції, функції Матьє. Введено числа і поліноми
Фібоначчі.
Графіка і звук p>
Mathernatica дозволяє будувати двох і тривимірні графіки різних типів у вигляді крапок і лінії на площині, поверхонь, а також контурні,градієнтні (dencity plot), параметричні. Є велика кількістьопцій оформлення і настройки, наприклад зміна підсвічування, кольору, розмірівта точки спостереження. Mathematica виконує побудову графіка в триетапи. На першому створюється безліч графічних примітивів, на другому вониперетворюються на незалежне від обчислювальної платформи опис мовою
PostScript, а на третьому це опис переводиться в графічний формат длятієї системи, на якій встановлена Mathematiса. Якщо перші два етапиздійснює ядро програми, то останній - інтерфейсний процесор.
Mathematica дозволяє також будувати серії картинок, які можуть бутивідтворені як анімація. Програма містить функції, що дозволяютьстворювати і відтворювати різні звуки, а також сприймає і можеаналізувати деякі типи стандартних звукових файлів.
Після виконання команди в робочому зошиті з'являється картинка,що представляє собою графік синусоїд, що входять в аргумент команди, азвуковий файл (так само як і файл анімації) запам'ятовується в документі. Цедозволяє відразу після відкриття документа відтворити їх без повторногообчислення. У новій версії 3.0 програми помітно покращено текстовеоформлення графіків. Тепер заголовки і текст міток на графіках можуть бутипредставлені з досить високим поліграфічним якістю (правильнезображення матсматіческіх символів). Можливо також включення в сам графікформатованих текстових рядків. Осередки робочого документа теперавтоматично конвертуються в EPS, TIFF, GIF і інші графічні формати.
Програмування p>
Вхідна мова Mathematica містить велику кількість конструкцій,що дозволяють для кожної конкретної задачі вибрати оптимальний методпрограмування. Крім звичайного процедурного програмування ззастосуванням умовних переходів і операторів циклу, є ще кількаметодів.
• заснований на операціях зі списками, цей метод використовує особливостіуніверсального об'єкта програми - списку виразів, з якими можнапроводити математичні операції, як з алгебраїчними виразами, прице задані операції виконуються усіма елементами списку,
• заснований на операціях над рядками (string-based),
• функціонального програмування (functional programming), що дозволяєстворювати складні функції і послідовності вкладених функцій;
• на базі правил перетворення виразів (rule-based);
• об'єктно-орієнтоване (object-oriented).
У кожній конкретній програмі користувач може одночасно застосовуватикілька методів або навіть всі перераховані. Серйозним недолікомпопередньої версії програми було неекономно використання пам'ятікомп'ютера. У третій версії програми типові операції ядраздійснюються швидше і з меншим використанням пам'яті, ніж у другій Дляприскорення завантаження зменшено кількість спочатку завантажуються в пам'ятьфункцій Запроваджено нові потужні оператори символьного програмування івдосконалені оператори для маніпулювання рядками. З'явиласяможливість компілювати обчислювані вирази і процедури При цьомушвидкість обчислень може бути порівняна зі швидкістю такої ж процедури,написаної на мові Сі або Фортран, або навіть вище.
Стандартні додатки p>
Mathematica 3.0 містить 11 стандартних додатків, що включаютьпідпрограми (пакети), значно розширюють функціональні можливості в таких областях, як алгебра, аналітичні та чісленнис розр-ги,графіка, дискретна математика, теорія чисел і статистика. Стандартнідодатки можуть завантажуватися в міру потреби. Для завантаження пакетавикористовується відповідну назву, що включає ім'я доповнення та ім'япакету з цього додатку. Розглянемо докладніше стандартні додатки.
Алгебра
У цей додаток входять пакети, що дозволяють задавати різніалгебраїчні поля і оперувати в них, а також декілька пакетів,розширюють функціональність програми за оперуванні з поліномами ізнаходженні їх коренів. У новій версії воно поповнилося пакетами для вирішеннядеяких типів алгебраїчних нерівностей і симетричних поліномів і,крім того, додана Гамільтона алгебра кватерніонів і елементи полів
Пігу.
Обчислення
Це доповнення містить пакунки, що дозволяють розширювати можливостіпрограми при обчисленні інтегралів, знаходження прсделов, вирішеннідиференціальних рівнянь і задач лінійної алгебри в різних системахкоординат, а також включає команди перетворення Фур'є і Лапласа,узагальнені функції, варіаційні методи. У новій версії воно поповнилосяпакетом для знаходження повних інтегралів і диференціальних інваріантівнелінійних рівнянь в приватних похідних.
Дискретна математика p>
Доповнення пропонує приблизно 200 функцій для проведення досліджень вобласті комбінаторики і теорії графів; обчислювальну геометрію, щомістить кілька геометричних функцій для непараметричної аналізуданих; пакети для оперування з функціями від цілих чисел, зокрема длярішення рекурентних рівнянь, виконання перетворень.
Графіка
Додаток включає 21 пакет. Він значно розширює можливостіпрограми при побудові графіків і анімацій. Введено нові типи:логарифмічні графіки, графіки тіл обертання, полярні, контурні,матричні графіки, тривимірні параметричні, дво-та тривимірні графікивекторних полів, графіки неявнозаданних функцій та ін З'явилася можливістьвідображати ортогональні проекції тривимірних графічних об'єктів накоординатні площини. Додані також функції для графічногоподання комплексних функцій.
Геометрія
Геометричне додаток містить пакети, що включають функції для завданняпараметрів правильних многокутників і багатогранників, а також функції,забезпечують обертання на площині і в просторі.
Лінійна алгебра
У цей додаток входять функції для створення ортогональних векторнихбазисів, рішення матричних рівнянь, розкладу матриць і виконанняінших операцій з матрицями. Воно включає пакети Cholcsky,
GaussianElimmatlon, MatrixManipulation, Orthogonalizaltion, Tridiagonal.
Теорія чисел
Функції, пов'язані з теорії чисел, широко представлені в ядріпрограми Mathematica, наприклад PrimePi, EulerPhi, MoebiusMu і
DivisorSigma. Доповнення теорії чисел розширює цей список функцій. Унеї включено пакети для доказу простоти чисел, розкладання цілихчисел на множники. Є функції для апроксимації дійснихчисел раціональними і поліномів з дійсними коренями поліномами зцілими коефіцієнтами. Користуючись доповненнями, можна знайти розкладдійсного числа на нескінченну дріб або довільне розкладаннядійсного числа розбити на неперіодичних і періодичну частини.
Підтримуються також такі функції теорії чисел, як Ramujan і Siegel. P>
У новій версії з'явилися можливості для знаходження базисних елементівдля довільних алгебраїчних розширень раціональних чисел.
Наближені обчислення
Це доповнення розширює список вбудованих функцій програми Mathematicaдля наближених чисельних розрахунків. Воно містить засоби підгонкифункціями (поліномом, сплайнами, тригонометричними), чисельні версіїдеяких аналітичних функцій ядра (ND, NLiunit, NResldue, NSencs),функції чисельного інтегрування (CauchyPrincipalValue, Listintegrate,
IntegrateInterpolationFunction), апроксимації ставленням поліномів,підтримки чисельного розв'язання диференціальних рівнянь (BesscIZeros,
Butcher, Order-Star), а також альтернативний спосіб знаходження коренів
(FindRout) з використанням методів інтервалів або інтерполяції. Уостанню версію введені пакети для чисельного знаходження відрахувань ірозкладів комплексних функцій.
Статистика p>
Це доповнення включає методи статистичної обробки даних. У ньомумістяться функції відомих безперервних і дискретнихх статистичнихрозподілів. У нову версію додані пакети підгонки і згладжуванняданих, класичної і робастної описової статистики, лінійної танелінійної регресії з діагностикою.
Утиліти й різне
Доповнення «утиліти» містить команди для контролю часу обчислень,оптимізації використання пам'яті та ін До «різному» відносяться ті функції,які важко класифікувати, зокрема функції, що розширюютьаудіовозможності системи, - модуляція звукових хвиль і музичні гами. У
«Різне» входять також календарні дані, фізичні постійні, одиницівимірювання фізичних величин, властивості хімічних елементів і, крім того,різні географічні дані і навіть функції для побудовигеографічних карт. p>
Пакети та окремі функції з них можуть завантажуватися в мірунеобхідності. Якщо ж який-небудь пакет часто використовується, то його можнаініціалізувати при завантаженні ядра програми. p>
У новій версії доступна повна документація по стандартних доповненьв інтерактивному режимі.
Професійні програми.
Для програми Mathematica крім стандартних додатків розробленовелика кількість професійних додатків - пакетів,. Розширюютьможливості програми в спеціальних областях. Бібліотека додатків вданий час містить 23 різних пакету, з яких 18 розробленокорпорацією, а решта - іншими розробниками. Причому ця бібліотекадуже швидко поповнюється.
Перерахуємо лише деякі з професійних додатків,що демонструють їх різноманіття: Structural Mechanics, Experimental Data
Analyst, Time Series, Finance Essentials, Fuzzy logic і т.д. p>
p>