Почти за 15 лет массового использования средств вычислительной техники для решения указанных задач у российских пользователей сложилось стереотипное представление о наборе коммерческих («правовладельческих»1) программных средств.
Во врезке приведены характерные представители стереотипного набора программ обработки данных с указанием фирм-разработчиков и цен на одно рабочее место (если есть расширения, приводятся цены базового комплекта). Легко видеть, что использование данных программ пробивает ощутимую брешь в бюджете (как личном, так и в бюджете любого проекта). С другой стороны, использование пиратских копий этих программ становится все более проблематичным как из-за ужесточения законодательства в области защиты авторских прав и контроля за его соблюдением, так и по причине встраивания «антипиратских» механизмов в эти продукты.
Из этого следует, что использование таких программ в учебном процессе (несмотря на наличие специальных цен) является неэтичным (если ориентироваться на легально приобретаемые копии) либо аморальным и преступным в прямом смысле (если использовать пиратские копии и на это же ориентировать обучаемых).
На фоне возрастающего интереса пользователей к свободному ПО имеет смысл обратить внимание на свободные проекты, связанные с обработкой данных и научными расчетами. Полезно вспомнить, что бесплатное распространение программ является старой академической традицией, и занимались этим как раз ученые и сотрудники различных образовательных организаций, передавая друг другу утилиты, созданные «для себя» с целью решения конкретных исследовательских задач.
Основной «справочник» по таким программам — ресурс www.sourceforge.net/softwaremap — предлагает более 15 тыс. проектов в категории «Scientific/Engineering». Естественно, физически невозможно даже кратко рассмотреть их все, поэтому ниже приведен обзор только нескольких прикладных пакетов.
Начнем с электронных таблиц, поскольку в них имеются уже довольно большие возможности по обработке данных, а потом перейдем к рассмотрению более «тяжеловесных» (и более профессиональных) пакетов.
OpenOffice.org Calc — электронная таблица из пакета OpenOffice.org. Содержит набор функций для описательной статистики, позволяет вычислять F- и T-тесты, а кроме того, в категории «Подключаемый модуль» имеются функции комплексного переменного, а также функции Бесселя. Пакет OpenOffice.org интересен по двум причинам: во-первых, он по умолчанию поддерживает форматы документов ISO/IEC 26300 (OpenDocument Format), а во-вторых, работает практически на всех операционных системах. Недостатком является бедность встроенных возможностей по построению трехмерных графиков.
Gnumeric — электронная таблица из проекта GNOME Office. В дополнение к набору функций, аналогичных OpenOffice.org Calc, здесь имеются усиленные возможности по анализу данных, и в частности дополнительный набор статистических инструментов:
-
однофакторный и двухфакторный дисперсионный анализ;
-
вычисление корреляции и ковариации;
-
прогнозирование методами скользящего среднего и экспоненциального сглаживания;
-
построение гистограмм;
-
Фурье-анализ;
-
вычисление F-, T- и Z-тестов.
Gnumeric также является кросс-платформенным приложением, информацию о наличии сборки под конкретную операционную систему и версиях пакета можно получить на странице http://www.gnome.org/projects/gnumeric. Об этой программе имеется небольшая статья в Wikipedia. Впрочем, Gnumeric также не отличается богатством и разнообразием вариантов графиков.
Grace (xmgrace) — пакет двумерной научной графики. Предназначен для обработки данных и подготовки результатов к публикации. На «входе» пакета, как правило, должен быть текстовый файл со столбцами данных, а на «выходе» получается графический файл заданного типа с высококачественным графиком. Основные возможности пакета в области обработки данных следующие:
-
математические операции (арифметика и применение функций) с рядами данных;
-
построение гистограмм;
-
прямое и обратное преобразование Фурье с возможностью использования цифровой фильтрации;
-
интерполяция методом скользящего среднего и сплайн-интерполяция;
-
численное дифференцирование и интегрирование;
-
анализ временных рядов путем исключения периодической компоненты (seasonal differences);
-
линейная и нелинейная регрессия, нелинейная подгонка;
-
вычисления корреляции, ковариации и свертки;
-
извлечение признаков.
Grace распространяется в исходных текстах (сайт проекта http://plasma-gate.weizmann.ac.il/Grace), но в некоторых дистрибутивах Linux (ALT, Debian, SUSE и др.) существуют готовые сборки. Сборку для Windows не может найти даже Google, однако возможен запуск пакета в Cygwin-окружении. Про этот пакет также имеется небольшая статья в Wikipedia. Кроме того, на русском языке доступен учебник (http://heap.altlinux.ru/HeapContent/category1.html#grace_tutorial) и краткое руководство по использованию на сайте ЛИТ ОИЯИ (http://www.jinr.ru/unixinfo/usersguide/index.php?link=9_).
Maxima — пакет символьной математики, позволяющий проводить символьные преобразования: упрощения выражений, раскрытие скобок, возведение в степень. Кроме того, можно находить корни квадратных (и не только) уравнений, работать с тригонометрическими функциями и комплексными числами, строить двумерные и трехмерные графики. Большое количество встроенных функций, возможность создавать собственные функции и писать программы делают Maxima серьезным инструментом для профессионального применения. Сам по себе пакет работает в текстовом режиме, однако для него существует несколько интерфейсов (оболочек), среди которых наиболее интересен TeXmacs — WYSIWYG-редактор для документов TeX. Сессия Maxima в TeXmacs представляет собой документ с расчетами и формулами типографского качества, который может быть преобразован как в PDF, так и в HTML и TeX, а наличие в TeXmacs презентационного режима позволяет работать в программе прямо в ходе лекции или семинара. Более подробную информацию «из первых рук» можно получить на сайте проекта (maxima.sourceforge.net), а на русском языке доступны как материалы в Wiki (http://ru.wikipedia.org/wiki/Maxima, http://lib.custis.ru/index.php/Maxima), так и учебник в журнале LinuxFormat (номера 7(81)/2006—12(86)/2006, см. www.linuxformat.ru). И сам пакет Maxima, и оболочки к нему (wxMaxima, TeXmacs) являются кросс-платформенными.
SciLab — пакет числовой обработки данных. Основной режим работы командный, однако имеется система визуального моделирования технических систем (Scicos). К основным функциям пакета можно отнести работу с матрицами (в том числе разреженными), решение обыкновенных дифференциальных уравнений, численное дифференцирование и интегрирование, построение двумерных и трехмерных графиков по формулам и по результатам расчетов, решение задач линейного программирования, а также возможность создания пользовательских программ. Пакет является кросс-платформенным, на сайте www.scilab.org можно найти самые последние сборки для различных операционных систем. На русском языке подробную информацию и пособия по работе с пакетом можно получить как на сайте М.И. Павловой (http://www.csa.ru/~zebra/my_scilab/), так и на сайте Е.Р. Алексеева и О.В. Чесноковой (http://www.scilab.land.ru/).
GRETL (GNU Regression, Econometrics and Time-series Library) — профессиональный кросс-платформенный пакет для решения задач эконометрики и анализа временных рядов (что и видно по названию). На сайте проекта (gretl.sourceforge.net) можно найти сборки для различных платформ, а также дополнительные библиотеки и файлы примеров (на английском языке). Русские интернет-ресурсы, посвященные пакету, отыскать довольно трудно, однако в начале 2007 г. в издательстве «Горячая линия-Телеком» вышла книга
Т. Куфеля «Эконометрика. Решение задач с применением пакета программ GRETL» (ISBN N 5-93517-307).
* * *
Описанные выше несколько программ, конечно, не исчерпывают всего разнообразия свободных программных средств для научных расчетов и обработки данных, однако могут составить некий базовый набор, с помощью которого можно обеспечить существенную экономию средств при решении научных и исследовательских задач. Из всех перечисленных программ только Grace не является кросс-платформенной, но работает в Windows через опять-таки бесплатный эмулятор Cygwin. Таким образом, можно практически даром организовать мощную станцию для научных расчетов с использованием любимой операционной системы. А специально для людей, занимающихся научными расчетами, но не знающих иностранных языков, появляется все больше литературы на русском.
Об авторе
Иван Анатольевич Хахаев — кандидат физ.-мат. наук, начальник Информационно-вычислительного центра С.-Петербургского Торгово-экономического института.
1 Термин «правовладельческий» означает, что в данном случае разработчик программы является владельцем всех прав на эту программу, а пользователь имеет право только пользоваться ею.
Коротко о продуктах / Коммерческое ПО
PTC MathCad 14
Оценка: ****
Универсальная вычислительная система, работающая с формулами, записанными в форме, близкой к естественной. Позволяет проводить расчеты как в аналитическом, так и в численном виде.
Системные требования: определяются операционной системой.
Поддерживаемые ОС: Windows.
Размер дистрибутива: данных от производителя нет.
Язык интерфейса: английский.
Цена: около 40 000 руб.
Разработчик: PTC, www.ptc.com, www.pts-russia.com
Statistica Base for Windows 6
Оценка: ****
Пакет статистического анализа, включая анализ временных рядов и методы контроля качества.
Системные требования: определяются операционной системой.
Поддерживаемые ОС: Windows.
Размер дистрибутива: данных от производителя нет.
Язык интерфейса: русский.
Цена: около 38 600 руб.
Разработчик: StatSoft, www.statsoft.com, www.statsoft.ru
Microsoft Office 2007
Оценка: ****
Интегрированный офисный пакет. Компонент электронных таблиц — Excel — часто используется для проведения научно-технических и статистических расчетов и обработки данных.
Системные требования: процессор от 500 МГц, оперативная память от 256 Мбайт, дисковое пространство не менее 2 Гбайт.
Поддерживаемые ОС: MS Windows XP SP2, MS Windows Server 2003 SP3.
Размер дистрибутива: около 500 Мбайт (точных данных от производителя нет).
Особенности: для Mac OS X — другие версии.
Язык интерфейса: русский.
Цена: около 10 300 руб.
Разработчик: Microsoft Corp., www.microsoft.com
MATLAB 7.0
Оценка: ****
Численные расчеты, техническая графика, визуализация и интуитивный программный язык для применения в науке и технике.
Системные требования: в зависимости от используемой операционной системы.
Поддерживаемые ОС: Linux, Linux x86—64, Mac OS X (Intel), Mac OS X (PPC), Solaris 64, Windows, Windows x64.
Размер дистрибутива: данных от производителя нет.
Язык интерфейса: английский.
Цена: для 32-разрядной Windows-версии — около 83 000 руб.
Разработчик: The MathWorks, www.matworks.com
Wolfram Research Mathematica
Оценка: ****
Численные расчеты, техническая графика, визуализация и интуитивный программный язык для применения в науке и технике.
Системные требования: в зависимости от используемой операционной системы.
Поддерживаемые ОС: Windows (32- и 64-разрядные версии), Mac OS X (32- и 64-разрядные версии), Linux (32- и 64-разрядные версии), Linux (системы с процессором Itanium), Sun Solaris (x86—64, SPARC), HP Tru64 UNIX, HP-UX, IBM AIX.
Размер дистрибутива: данных от производителя нет.
Язык интерфейса: английский.
Цена: около 50 000 руб.
Разработчик: Wolfram Research, www.wolfram.com
Origin
Оценка: ****
Пакет научной графики (двумерной и трехмерной) с возможностями анализа данных и подгонки кривых.
Системные требования: процессор линии Intel Pentium от 133 МГц, оперативная память от 64 Мбайт, дисковая память от 100 Мбайт, наличие CD-ROM и SVGA-графики.
Поддерживаемые ОС: 32-разрядные версии Windows.
Размер дистрибутива: около 40 Мбайт (точных данных от производителя нет).
Язык интерфейса: английский.
Цена: 699 долл. (в России не продается).
Разработчик: OriginLab, www.originlab.com
Maple 11 Professional Edition
Оценка: ****
Комплексная система компьютерной математики с программной средой для разработки математических приложений.
Системные требования: оперативная память 512 Мбайт, дисковая память 650 Мбайт, требования к процессору определяются установленной операционной системой.
Поддерживаемые ОС: 32-разрядные версии Windows (2000—2003), 32- и 64-разрядные версии Linux, Mac OS X 10.4.4 и выше, Sun Solaris 8 и выше.
Размер дистрибутива: около 300 Мбайт (точных данных от производителя нет).
Язык интерфейса: английский.
Цена: около 55 400 руб.
Разработчик: MapleSoft, www.maplesoft.com
Коротко о продуктах / Свободно распространяемое ПО
OpenOffice.org
Оценка: ****
Интегрированный офисный пакет. Компонент электронных таблиц — Calc — часто используется для проведения научно-технических и статистических расчетов и обработки данных.
Системные требования: ОЗУ от 128 Мбайт (от 256 для Mac OS X), дисковая память 200—400 Мбайт в зависимости от установленной операционной системы.
Поддерживаемые ОС: 32-разрядные версии Windows, Linux, Sun Solaris 8 и выше, Mac OS X 10.3.5 и выше.
Размер дистрибутива: около 100 Мбайт в зависимости от платформы и сборки.
Язык интерфейса: русский.
Условия распространения: лицензия LGPL.
Разработчик: открытое сообщество, www.openoffice.org
Gnumeric
Оценка: ****
Электронная таблица с дополнительными возможностями анализа данных.
Системные требования: в зависимости от используемой операционной системы.
Поддерживаемые ОС: 32-разрядные версии Windows (2000 и выше), POSIX-совместимые ОС (Linux, xBSD, Solaris и т.д.)
Размер дистрибутива: около 16 Мбайт.
Язык интерфейса: русский.
Условия распространения: лицензия GPL.
Разработчик: открытое сообщество, www.gnome.org/projects/gnumeric/
Grace (xmgrace)
Оценка: ****
Пакет двумерной научной графики с возможностями анализа данных и подгонки кривых.
Системные требования: в зависимости от используемой операционной системы.
Поддерживаемые ОС: POSIX-совместимые ОС (Linux, xBSD, Solaris и т.д.), для Windows — через эмулятор POSIX-среды Cygwin.
Размер дистрибутива: около 16 Мбайт.
Язык интерфейса: английский.
Условия распространения: лицензия GPL
Разработчик: Grace Development Team, http://plasma-gate.weizmann.ac.il/Grace
Maxima
Оценка: ****
Система компьютерной алгебры с возможностью числовых расчетов.
Системные требования: в зависимости от используемой операционной системы и оболочки (front-end).
Поддерживаемые ОС: 32-разрядные версии Windows, POSIX-совместимые ОС (Linux, xBSD, Solaris и т.д.).
Размер дистрибутива: около 15 Мбайт (для Windows).
Язык интерфейса: в зависимости от используемой оболочки (front-end).
Условия распространения: лицензия GPL.
Разработчик: открытое сообщество, http://maxima.sourceforge.net
SciLab
Оценка: ****
Системные требования: в зависимости от используемой операционной системы.
Поддерживаемые ОС: Windows NT и выше, Linux, Mac OS X 10.3 и выше, HP-UX от 11.11.
Размер дистрибутива: около 15 Мбайт.
Язык интерфейса: английский.
Условия распространения: собственная лицензия.
Разработчик: INRIA-ENPC (Scilab Consortium), www.scilab.org
GRETL
Оценка: ****
Программа для эконометрического и статистического анализа, а также анализа временных рядов.
Системные требования: в зависимости от используемой операционной системы.
Поддерживаемые ОС: Windows NT и выше, Linux, Mac OS X.
Размер дистрибутива: 8—15 Мбайт (в зависимости от библиотек).
Язык интерфейса: английский.
Условия распространения: лицензия GPL.
Разработчик: открытое сообщество, http://gretl.sourceforge.net