В статье Инженерное ПО собраны приложения и библиотеки, которые так или иначе могут быть применены при проектировании или расчётах инженером или студентом технической специальности для решения поставленного технического задания.
Большинство пунктов снабжены кратким описанием на русском языке. Большинство этих описаний — просто переводы с официальных сайтов, однако часть является результатом личного ознакомления составителей статьи с ПО.
Если вы находите, что некоторые важные аспекты не были упомянуты или, наоборот, упомянуты неверно, внесите правки в саму статью или в комментарии к статье.
Также смело добавляйте тематическое ПО в статью, если оно здесь не упомянуто. Обязательно добавьте ссылку на официальный сайт проекта.
При подборке ПО кроме собственного опыта были использованы материалы LOR-FAQ-Scientific, [1], новости и обсуждения на L.O.R., разделы "Связанные проекты и ссылки" сайтов упомянутых ниже утилит.
Пролистать оглавление и перейти к тексту статьи
Краткое оглавление
Полное оглавление
Scilab — свободный открытый кроссплатформенный пакет для выполнения расчётов для образовательных, научных и инженерных задач с собственным MATLAB-оподобным языком.
Содержит большое количество встроенных функций для вычислений, визуализации, оптимизации, обработки сигналов, расчёта систем управления итп. Также существуют ряд модулей для расширения стандартного функционала, они поставляются отдельно, но доступны для загрузки на официальном сайте.
Также в поставку Scilab'a входит графическая среда моделирования Xcos на базе Scicos, который тоже продолжает развиваться, подробная документация с примерами, конвертор MATLAB'овских M-файлов.
Кроме официальной документации по Scilab есть достаточно много руководств и на английском, и на русском языке. Вот лишь одно из них из библиотеки ALT Linux
GNU Octave — высокоуровневый интерпретируемый язык для расчётов в учёбе и науке. идентичен языку MATLAB'a (небольшие различия лишь в наборе функций). Встроенные библиотеки и компоненты позволяют проводить операции с матрицами и полиномами, численное дифференцирование и интегрирование, оптимизацию, статистические расчёты, обработку сигналов, строить 2D и 3D графики и другое. С недавних пор обзавёлся официальным графическим интерфейсом Octave GUI, исходный код доступен в бранче gui основного репозитория (подкаталог gui).
Те, кому мало встроенных пакетов, могут доустановить недостающие из Octave-Forge.
Как и Scilab, Octave имеет превосходную документацию с примерами.
FreeMat — ещё один пакет для научных вычислений, который гоняется за славой MATLAB'a. В версии 4.0 заявлена 95% совместимость по количеству функций.
Документация доступна на официальном сайте.
Sage — предоставляет основанный на Python интерфейс к почти сотне популярных программных пакетов для математических расчётов, символьных вычислений, статистического анализа, программирования, построения графиков и многого другого.
Работать с Sage можно в командной строке с использованием IPython или через интерфейс "Notebook" в браузере благодаря SageNB (The Sage Notebook server). Благодаря последнему, Sage совсем не обязательно устанавливать на свой компьютер или, например, на все компьютеры в аудитории: можно установить Sage на один высокопроизводительный компьютер в локальной сети или же можно воспользоваться одним из тестовых Sage-серверов. Список официальных публичных Sage-серверов доступен на главной странице проекта, один из публичных Sage-серверов также работает в Институте кибернетики им. Глушкова НАН Украины при поддержке НаУКМА (Национального университета "Киево-Могилянская академия").
Cantor (KDE) — часть проекта KDE Edu, фронтенд к Sage, Maxima, R или KAlgebra (на выбор). Предоставляет интерфейс в виде рабочих листов.
SMath Studio — символьная среда вычислений, разрабатываемая петербуржцем Андреем Ивашовым и программистом из Бреста Романом Стрильцом на Mono. Smath во многом похож на Mathcad и даже умеет полностью импортировать .xmcd файлы, если те содержат уже имплементированные функции.
Jasymca: Programmable Java calculator — Java-апплет с функционалом неплохой системы компьютерной алгебры (CAS): арифметика, операции с матрицами, полиномами, символические вычисления, интегрирование, дифференцирование, визуализация, програмирование. Самый главный плюс, что версия 3.0 поставляется в том числе под Android, а иметь такой программируемый калькулятор на смарте очень даже неплохо.
Maxima — свободная кроссплатформенная система компьютерной алгебры (CAS), написанная на Common Lisp.
Имеет несколько графических интерфейсов, среди которых самыми ходовыми являются Xmaxima и wxMaxima. При этом с Maxima можно работать и в командной сроке, и при помощи дополнительных расширений в буфере GNU Emacs или в браузере.
Mathomatic — кроссплатформенная система компьютерной алгебры (CAS) с командным интерфейсом, написанная на C. Среди возможностей: решение уравнений, дифференцирование, операции с полиномами, операции с действительными и комлексными числами и другое.
Документация в комплекте.
Singular — система компьютерной алгебры (CAS), специализирующаяся на операциях над полиномами, а именно их применении в коммутативной и некоммутативной алгебре, алгебраической геометрии, теории особенностей (singularity theory).
Функционал может быть расширен за счёт дополнительных библиотек и линковки с другими приложениями.
Документация на официальном сайте.
Axiom — свободная кроссплатформенная система компьютерной алгебры (CAS). Код Axiom разрабатывается в лучших традициях Literate Programming Дональда Эрвина Кнута.
OpenAxiom: Scientific Computation System — живой форк Axiom.
FriCAS — ещё один живой форк Axiom.
ARIBAS — малость устаревший, но рабочий кроссплатформенный интерактивный интерпретатор для арифметических операций с большими целыми числами и числами с плавающей точкой с произвольной точностью с синтаксисом, напоминающим Pascal/Modula, написанный на C. Поскольку часть кода написана на ассемблере ARIBAS работает только на 32-битных системах.
REDUCE — написанная на диалекте Lisp'a Standard Lisp система для алгебраических расчётов. Умеет работать с полиномами, матрицами, выполнять аналитическое дифференцирование и интегрирование, факторизацию и полиномизацию и другое.
R — это язык программирования и среда для статистических расчётов и визуализации их результатов.
GNU PSPP — программа для статистического анализа больших наборов данных. Имеет как командный, так и графический интерфейс, а также встроенные функции для обработки данных и визуализации.
gretl — кроссплатформенный пакет для эконометрического анализа, написанный на C. Поддерживает несколько форматов входных файлов (XML, CSV, Excel, Gnumeric).
JMulTi — приложение на Java для анализа временных рядов. Версия для Linux заброшена разработчиками в силу ряда причин, однако всё ещё доступна для загрузки.
Stata — коммерческое ПО для статистического анализа, доступна версия для Linux.
IBM SPSS Statistics — мощный коммерческий пакет от IBM для статистических расчётов. Есть триальные версии некоторых компонентов, работающие в Linux (32-bit only), например SPSS Statistics Desktop, доступные после регистрации.
GMP — свободная открытая библиотека для расчётов с произвольной точностью над целыми числами, рациональными дробями и числами с плавающей запятой. Написана с использованием языка ассемблера и C. Считается одной из самых быстрых среди себе равных, как при вычислениях с операндами малой разрядности, так и при расчётах с большим количеством разрядов, благодаря оптимизированному коду и использованию асимптотически оптимальных алгоритмов.
Функции в GMP поделены на категории для удобства использования:
GSL - GNU Scientific Library написана на C и содержит значительное количество функций - от элементарных математических операций и операций с комплексными числами до численных методов дифференцирования, интерполяции, аппроксимации, решения дифференциальных уравнений, wavelet-преобразования и многих других.
MPFR — C-шная библиотека для расчётов с произвольной точностью над числами с плавающей точкой с высокоточным округлением.
MPFR++ MPFI — C++ интерфейс к MPFR и основанная на MPFR библиотека интерфальной арифметики с произвольной точностью соответственно.
MPIR — библиотека для вычислений с произвольной точностью, форк GMP. Главные особенности: поддержка сборки при помощи Microsoft Visual Studio 2010 (32-bit and 64-bit) и полная интерфейсная совместимость с GMP.
LAPACK — библиотека на Fortran 90 для решения различных систем линейных уравнений, поиска решений линейных систем уравнений методом наименьших квадратов, задач на собственные значения (краевые задачи), сингулярных задач. Особенность состоит в оптимизации по сравнению с EISPACK или LINPACK в операциях с памятью и при распараллеливании.
LinBox — C++ библиотека для точных высокопроизводительных алгебраических расчётов с плотными, разрежёнными и структурированными матрицами над целыми числами и конечными полями.
NTL — библиотека на С++, содержащая структуры и алгоритмы для операций с знаковыми целыми числами произвольной точности, а также векторами, матрицами и полиномами над целыми числами и конечными полями.
BLAS (Basic Linear Algebra Subprograms) — библиотека для операций над векторами и матрицами на Fortran 77 (да-да). Если вы не страдаете подобным некрофильством, то есть версии BLAS от производителей аппаратных платформ. Также не стоит забывать о более современных ATLAS, Goto BLAS2, поддерживающих многопоточность.
GotoBLAS2 и GotoBLAS — вариации библиотеки BLAS от Texas Advanced Computing Center. Сейчас уже не разрабатывается, но исходный код открыт под лицензией BSD.
Automatically Tuned Linear Algebra Software (ATLAS) предоставляет интерфейсы на C и Fortran77 к кроссплатформенной производительной реализации BLAS, а также некоторым функциям из LAPACK.
Eigen — библиотека для операций с матрицами любых размеров, содержащих целые числа, числа с плавающей запятой, комплексные числа.
ESSL — Engineering and Scientific Subroutine Library (ESSL) and Parallel ESSL от IBM это коллекция специально спроектированных функций для инженерных и научных расчётов на серверах и блейд-серверах с процессорами IBM POWER™.
IML — библиотека реализованных на C алгоритмов для расчёта точных решений плотных систем целочисленных линейных уравнений. IML показано использовать совместно с ATLAS/BLAS и GMP.
GLPK (GNU Linear Programming Kit) — набор библиотек на ANSI C для решения задач масштабного линейного программирования (large-scale linear programming), смешанного целочисленного программирования и других. Поддерживает язык моделирования GNU MathProg.
SciPy — одна из двух базовых для Python библиотек для научных вычислений. Содержит модули для статистических расчётов, оптимизации, численного интегрирования, решения дифференциальных уравнений, линейной алгебры, преобразования Фурье, обработки сигналов, обработки изображений и прочих функций.
NumPy — одна из двух базовых для Python библиотек для научных вычислений. Содержит функции для операций с многомерными массивами и матрицами, а также стандартные функции линейной алгебры, преобразования Фурье, генераторы случайных чисел и инструменты для интеграции C/C++ и Fortran кода.
mpmath — библиотека на Python для арифметических операций произвольной точности над числами с плавающей точкой. Местами использует асимптотически оптимальные алгоритмы, при наличии gmpy ускоряет операции за счёт использования GMP/MPIR вместо собственной реализации.
gmpy — wrapper к GMP на Python.
Pynac — аналог C++'ового GiNaC на Python для операций с символьными выражениями.
SymPy — библиотека на Python для символьной математики.
Pyrex — фактически язык, который представляет смесь C и Python, позволяя, например, смешивать типы данных и собирать результат в C-шное расширение для Python.
RPy — биндинг к R для Python
CVXOPT — пакет для выпуклой оптимизации на Python.
FLINT: Fast Library for Number Theory — быстрая, оптимизированная в том числе для многоядерных и многопроцессорных систем, библиотека функций на C для теории чисел.
PolyBoRi — C++ библиотека с интерфейсом на Python предоставляющая высокоуровневые типы данных для работы с булевыми многочленами и одночленами и др., основываясь на CUDD: CU Decision Diagram Package и M4RI(e).
GAP - Groups, Algorithms, Programming
Givaro — C++ библиотека для различных арифметических и алгебраических операций: от арифметики с произвольной точностью над целыми числами и расчётов с дробями до дейстий с векторами и матрицами. Основан на GMP.
GiNaC — (GiNaC is Not a CAS), предназначенна для неинтерактивных операций с символьными математическими выражениями.
CLN — C++ библиотека для операций с произвольной точностью над целыми, рациональными дробными, комплексными числами, числами с плавающей точкой. Оборудована сборщиком мусора, умножением Карацубы и Schönhage-Strassen.
jsMath — метод внедрения математических записей в веб-страницы. В зависимости от наличия шрифтов (лучше TeX шрифты, но можно и Unicode) выдаёт результат немного отличающегося но приемлемого качества в большинстве браузеров.
M4RI(e) названа в честь "Method of the Four Russians" multiplication algorithm by Gregory Bard. Представляет из себя библиотеку для быстрой арифметики над плотными матрицами через F₂.
SWIG (Simplified Wrapper and Interface Generator) — этот программный продукт позволяет подключать написанные на C/C++ программы к ряду других языков программирования.
PARI/GP — C-шная библиотека и интерактивная консоль, прдоставляющая функционал системы компьютерной алгебры (CAS).
PDL (Perl Data Language) — основанный на Perl язык, предназначенный для операций с N-мерными массивами данных. Стремится стать заменой MATLAB или IDL, поставляется вместе со встроенными интерактивными оболочками.
Tachyon — Multiprocessor Ray Tracing System (зачем я её сюда добавил?)
CGAL - Computational Geometry Algorithms Library — открытая библиотека, написанная на C++, реализующая множество структур данных и алгоритмов вычислительной геометрии. В библиотеке реализованы различные методы триангуляции и построения диаграмм Вороного, операции над треугольниками и многогранниками, алгоритмы генерации сеток, алгоритмы геометрической обработки (geometry processing), структуры и алгоритмы разбиения пространства и поиска, алгоритмы оптимизации, а также многие другие.
Код достаточно хорошо оптимизирован и сопровождается адекватной документацией. Библиотека распространяется под лицензией QPL (частично LGPL).
DICOM toolkit - библиотека для чтения и записи файлов медицинской информации формата DICOM. Написана на C++. Читает большинство версий формата. Есть возможности для экспорта снимков. Достаточно большое описание тэгов. Проста при использовании совместно с библиотекой визуализации vtk.
Grassroots DICOM - библиотека для доступа к файлам медицинской информации формата DICOM. Написана на C++. Имеет непосредственное отношение к проекту itk.
Xcos — аналог Simulink MATLAB'a в Scilab, основан на Scicos, заменил его с версии Scilab 5.2, имеет некоторые улучшения в плане эргономики, цикл разработки синхронизирован с циклом разработки Scilab.
Scicos — аналог Simulink MATLAB'a в Scilab.
Qucs — свободный симулятор электрических цепей, пока что на Qt3.
QucsStudio — свежий форк Qucs, правда пока только для Windows.
KTechlab — довольно медленно, но верно развивающаяся по направлению к KDE4 и Qt4 программа для симуляции электрических цепей и микроконтроллеров (пока что PIC от MICROCHIP) в этих цепях (да, прямо как в Proteus).
Gnucap (Gnu Circuit Analysis Package) [1] — современный (?) симулятор электрических цепей.
SPICE — это целый класс и не одно поколение численных симуляторов аналоговых электрических цепей.
QSapecNG — символьный симулятор линейных электрических цепей, преемник SAPWIN (Symbolic Analysis Program for Windows), переписанный на Boost C++ по модульному принципу с графической оболочкой на Qt. В отличие от симуляторов семейства SPICE (Simulation Program with Integrated Circuit Emphasis), использующих численные методы, производит расчёты на базе аналитических выражений, с использованием преобразования Лапласа и операционного исчисления.
Logisim — достаточно простое средство для симуляции цифровых электричечких схем, написанное на Java. Годится для демонстрации при обучении основам цифровой схемотехники.
NuSMV — приложение для символической проверки моделей, базирующееся на BDD (Binary decision diagram).
DLSim 3 — бесплатный для образовательных целей, требуется регистрация 1, 2.
KLogic — медленно, но верно портируемое на KDE4 приложение для симуляции цифровых цепей как и положено с функцией построения временных диаграмм.
TKGate — цифровой схемный симулятор с интерфейсом на Tcl/Tk с поддержкой скриптов, различных моделей логических уровней, настраиваемыми моделями задержек, точками останова, построением временных диаграмм и многими другими вкусностями. Ждём выхода версии 2.0.
Electric — среда разработки принципиальных электрических и интегральных схем и их симуляции. Написана на Java.
SimulAVR — программный симулятор для микроконтроллеров AVR от Atmel.
gpsim — программный симулятор для микроконтроллеров PIC от Microchip.
MPLAB® X Integrated Development Environment — новая кроссплатформенная среда разработки от Microchip Technology, разработчика и производителя микроконтроллеров семейства PIC® и цифровых сигнальных контроллеров dsPIC®. По окончанию beta-тестирования, наверное, заменит MPLAB IDE, которая не имеет официальной версии для Linux.
По информации с официальной страницы, MPLAB X IDE базируется на NetBeans Platform и имеет ряд выгодных преимуществ по сравнению с MPLAB IDE, такие как свобода в разработке и подключению плагинов, гибкий настраиваемый интерфейс, расширенные возможности редактора и встроенная система управления версиями.
Естественно, MPLAB X IDE имеет программный симулятор для всех микроконтроллеров семейства PIC® и цифровых сигнальных контроллеров dsPIC®.
SimCAS — аналитический симулятор аналоговых электрических схем.
Verilator — один из быстрейших симуляторов Verilog HDL. Как указывает автор, предназначен для больших проектов, где важна быстрая симуляция, а особенно хорош для создания исполняемых моделей ЦПУ при проектировании встраиваемых систем.
Icarus Verilog — средство симулирования и синтезирования для языка Verilog HDL.
ISE Design Suite — проприетарная IDE для разработки на языках HDL для ПЛИС Xilinx.
Quartus II — проприетарная IDE для разработки на языках HDL для ПЛИС Altera.
FreeHDL — часть Qucs, симулятор VHDL.
GHDL — симулятор VHDL.
zamiaCAD — модульная среда разработки на языках описания аппаратуры (HDL). Поддерживается разработка на VHDL 2003, поддержку парсера и синтаксического дерева VHDL 2003 и Verilog 2005, имеется симулятор, средство построения временных диаграмм.
VeriWell — симулятор Verilog HDL.
Step (KDE) — часть проекта KDE Edu, умеет симулировать механику, пружины, гравитацию, кулоновские силы и молекулярную динамику жидкостей и газов.
Algodoo (Phun) — замена симулятора Phun. Доступна демка, по словам разработчиков, в Algodoo много улучшений касательно физического движка, возможностей симулятора и визуализации.
Toped — кроссплатформенный редактор макетов интегральных схем, поддерживающий форматы GDS, OASIS и CIF.
LayoutEditor — приложение-редактор проектов для производства MEMS/IC (Microelectromechanical systems/Integrated circuit - микроэлектромеханических систем/интегральных схем). Также может быть использован для разработки Multi-Chip-Modules (MCM), Chip-on-Board (COB), Low temperature co-fired ceramics (LTCC), Monolithic Microwave Integrated Circuits (MMIC), printed circuit boards (PCB), thick film technology. Имеет интегрированный SchematicEditor для разработки принципиальных электрических схем.
KLayout — просмотрщик и редактор макетов интегральных схем с поддержкой GDS и OASIS файлов с интерфейсом на Qt.
Glade (Gds, Lef And Def Editor) — проприетарный редактор макетов интегральных схем с поддержкой GDS2, OASIS, LEF and DEF с бесплатной версией в том числе под Linux, с графическим интерфейсом на Qt, аппаратной OpenGL акселерацией и поддержкой скриптов на Python при помощи SWIG wrapping фугкций C++.
OpenSCAD - The Programmers Solid 3D CAD Modeller — неинтерактивная среда проектирования сплошных 3D деталей. Не такая живописная и красочная как Blender, больше подходит для технических задач. OpenSCAD использует Qt4, библиотеки OpenCSG и CGAL. Для создания 3D модели необходимо написать скрипт с описанием объекта и затем запустить рендеринг. Работает одним из двух способов: либо полностью описание объекта скриптом, либо DXF/STL/OFF файл двумерного объекта и соответствующая обработка этого "сечения" скриптом.
gEDA — GPL Electronic Design Automation, комбайн, объединивший несколько отдельных программ для проектирования электроники в общем цикле разработки. В gEDA входят:
KiCad EDA Suite — програмный пакет для автоматизированного проектирования принципиальных электрических схем и печатных плат. В его состав входят:
EAGLE by CadSoft — коммерческое ПО для разработки печатных плат, в том числе для Linux. EAGLE Light Edition для некоммерческих организаций с ограничениями проектирования одно/двухсторонней платы размером не более 100 x 80 мм, максимум одним листом схемы и поддержкой лишь по почте и через форум доступен бесплатно.
atlc - Arbitrary Transmission Line Calculator (for transmission lines and directional couplers) — специфичная среда, предназначенная для расчёта распределённых линий с довольно оригинальным способом ввода данных. У кого читали математическую физику на электрофаке, те, думаю, оценят возможности утилиты.
QCAD — кроссплатформенное приложение для создания 2D-чертежей, имеющее как коммерческую платную версию, так и свободную открытую community-версию. Свободно снабжается большим количеством примеров, готовых чертежей деталей и запчастей (более 4500) и документацией.
FreeCAD — открытая среда 3D проектирования, создания чертежей и моделей, с интерфейсом на Qt и геометрическим ядром Open CASCADE и трёхмерным движком Coin 3D. Имеет модульную архитектуру, Python API, импорт/экспорт из/в STEP, IGES, OBJ, DXF, SVG, U3D, STL.
BRL-CAD — многофункциональная кроссплатформенная система автоматизированного проектирования и моделирования объёмных тел методами конструктивной блочной геометрии (CSG - Constructive Solid Geometry) с более чем 20-летней историей.
LibreCAD — ещё одна среда для разработки 2D-чертежей.
Ayam — свободное окружение 3D моделирования для интерфейса RenderMan.
XTrackCAD — есть в мире OpenSource и такое - система автоматизированного проектирования железнодорожных путей.
Archimedes — свободная CAD, написанная на Java программистами из Бразилии. В скриншотах почему-то приведены примеры проектирования комнаты, хотя, лично проверил, умеет он не только это.
Sweet Home 3D — свободная САПР для дизайна интерьеров на Java в 2D с 3D просмотром. В какой-то степени покрывает функционал проприетарной PRO100 для дизайна мебели и интерьеров.
OpenCASCADE — трехмерное и численное моделирование. Требует регистрацию для загрузки. Напишите отзыв.
VariCAD — коммерческий 2D/3D CAD. Умеет экспорт STEP (3D), STL (3D), IGES (3D and 2D), DWG (2D), DXF (2D) и импорт STEP (3D), DWG (2D), DXF (2D), IGES (2D). Стоит относительно недорого. Есть 30-дневный триал.
DraftSight by Dassault Systèmes (DS) — бесплатный 2D CAD в Beta стадии с официальной поддержкой 32-bit Ubuntu, Fedora, openSUSE и Mandriva. Требует бесплатную активацию в течение 30 дней через интернет и последующую реактивацию через 6 месяцев и затем каждый год. Открывает DWG/DXF файлы и экспортирует в PDF.
MEDUSA4 Personal — бесплатный 2D/3D CAD для частного некоммерческого использования. Требует бесплатную регистрацию и активацию каждые 6 месяцев. Имеет достаточно интересную возможность получить платное разрешение для коммерческого использования конкретного чертежа.
Bricscad от ООО Кадсофт (Волгоград) — коммерческий 2D/3D CAD с поддержкой формата DWG с версией для Linux. Доступная 30-дневная trial версия.
Siemens NX 7 — коммерческий CAD/CAE/CAM от Siemens. Имеется версия для Linux/Unix.
Autodesk® — как ни странно, но у Autodesk® есть коммерческие продукты под Linux, кроме web-based, правда немного и почти все они так или иначе связаны с 3D и рекомендуемая ОС, естественно, RHEL или на худой конец Fedora. Связана такая печальная ситуация с поддержкой Linux с тем, что Autodesk® не гнушается использовать для своих мощных продуктов .NET и при этом писать нехилые требования к оборудованию.
Перечень на июнь 2011 года (информация о поддержке Linux может изменяться от версии к версии - могут как убрать, что более вероятно, так и добавить, что менее вероятно):
Тут прямо скажем и выбор невелик, и названия какие-то однообразные. Как заметил автор первого проекта, Роман Савоченко в одном из интервью: "Тёзки". :)
OpenSCADA — разработка Романа Савоченко из Днепродзержинска представляет собой уже вполне надёжную SCADA систему с модульной организацией и графическим интерфейсом, разрабатываемым с использованием Qt. К LTS версии 0.7.0 реализована поддержка протоколов OPC_UA, ModBUS, SNMP, DCON, собственного протокола OpenSCADA на физических последовательных интерфейсах (RS232, RS485, Modem ...) и Ethernet, а также баз данных и ряда конкретного оборудования.
FIXME: Приглашаем Романа Савоченко собственноручно исправить или дополнить вышенаписанное
openSCADA — эта SCADA система разрабатывается на Java с тестовым клиентом на GTK разработчиками из Германии во главе с Йенсом Райменом (Jens Reimann) и Юргеном Розе (Jürgen Rose). Проект состоит из двух частей: Atlantis, содержащий имплементацию openSCADA интерфейсов на Java к таким внешним системам как Siemens S7 PLC, OPC, SNMP, реляционные базы данных и т. п., и Utgard - 100% pure JAVA OPC Client API с поддержкой интерфейса OPC DA 2.0 для соединения с OPC сервером.
gnuplot — кроссплатформенная консольная утилита для построения 2D и 3D графиков.
Not so Frequently Asked Questions по gnuplot - [2].
Qgfe (Qt3) - очень старый, но рабочий проект Дэвида Иши (David Ishee), подойдёт для начального ознакомления с функционалом gnuplot.
UniGNUPlot (Tcl/Tk) - проект также заброшен, но само приложение всё ещё рабочее.
Gnuplot.py — интерфейс к gnuplot для Python.
JavaPlot — интерфейс к gnuplot для Java.
Информация по интерфейсам к gnuplot на ANSI C, C++, Perl, Fortran доступна собственно на сайте gnuplot и на сайте Николаса Девиларада (Nicolas Devillard), разработчика интерфейса к gnuplot на ANSI C.
FIXME: Собрать ответы на вопросы по gnuplot в отдельную статью gnuplot
QtiPlot (Qt4) — кроссплатформенное приложение базирующееся на Qt4 и библиотеках Qwt (класс QwtPlot) и QwtPlot3D для построения 2D и 3D графиков с функциями аппроксимации, анализа построенных графиков, интегрирования LaTeX, экспорта в различные графические форматы. По функционалу близок к Origin. В платной версии доступна поддержка скриптов на Python, что позволяет использовать QtiPlot в связке с SciPy, NumPy, SymPy и т. д.
SciDAVis — форк QtiPlot, базирующееся на Qt4 приложение для построения 2D и 3D графиков, круговых и столбчатых диаграмм. Данные для построений могут быть введены как интерактивно, так и импортированы из ASCII файлов или вычислены при помощи стандартных функций или функций Python. Как и многие приложения этого класса, позволяет экспортировать результаты в различные форматы, от растровых и векторных графических до EPS и PDF. Проект сотрудничает с LabPlot, работая над созданием общего бэкенда, оставаясь при этом независимым от библиотек KDE.
LabPlot (KDE) — приложение для анализа и визуализации данных для KDE с большим перечнем возможностей, среди которых построение 2D, 3D графиков, поверхностей, экспорт и импорт как результатов построений, так и данных и многое другое. По функционалу напоминает проприетарный пакет Origin и умеет импортировать файлы его проектов.
Veusz — основанный на Qt4 пакет для визуализации. Написан на Python с использованием PyQt4 для построений и графического интерфейса пользователя, и NumPy для манипуляций с числовыми данными. Veusz разработан для получения Postscript/PDF/SVG файлов качества, приемлемого для сопровождения публикаций графическим материалом.
Kst — ПО для визуализации данных в KDE.
ROOT — разрабатываемое CERN на C++ приложение и набор библиотек для визуализации данных. Содержит один из самых полных наборов функций и методов, которые могут понадобиться для построения результатов научных экспериментов, расчётов и анализа данных, несмотря на свою узкую специализацию для задач физики.
GSEGrafix (GNOME) - приложение для построения 2D и 3D графиков в GNOME. Графики строятся с использованием сглаживания при помощи виджета GNOME Canvas. Приложение может считывать данные для построения из ASCII файлов и вызываться из внешних программ и скриптов Octave.
RLPlot — приложение для построения графиков, диаграмм, гистрограмм и др. на основе табличных данных. Имеет функцию экспорта в несколько растровых графических форматов, векторный SVG и в EPS.
Asymptote — is a powerful descriptive vector graphics language that provides a natural coordinate-based framework for technical drawing. Labels and equations are typeset with LaTeX, for high-quality PostScript output.
GLE (Graphics Layout Engine) — скриптовый язык обработки графических данных, разработанный для создания изображений полиграфического качества (например, диаграммы, графики).
OpenDX — открытая свободная версия IBM Visualization Data Explorer для 3D визуализации. После выхода версии 3.1.4B IBM открыл исходники VDE и пригласил к разработке сообщество. Графический интерфейс основан на OSF/Motif и X Window System.
CLUCalc 4.3.3 - программа для трехмерной визуализации и научных расчетов. Разрешено свободное использование в некоммерческих целях.
MayaVi Mayavi2 — две генерации средства 3D визуализации на Python.
VisIt — инструмент для визуализации данных, специализация на обработке больших объёмов данных, в том числе скалярных и векторных полей, с использованием распараллеливания вычислений, а также возможность реализации особенных алгоритмов обработки и работы с нестандартными моделями данных. VisIt имеет мощный графический пользовательский интерфейс, также имеются интерфейсы на C++, Python и Java. Для сборки нужны библиотеки VTK 5.0.0i, HDF4 4.2.5, Xdmf 2.1.1 версий не ниже, чем указаны.
ParaView — кроссплатформенное приложение для анализа и визуализации данных с упором на обработку экстремально больших объёмов данных в системах с распределённой памятью. Тем не менее никто не запрещает использовать его для небольших наборов данных.
VTK, VTKEdge, ITK — продукты компании Kitware для визуализации, обработки изображений, 3D графики. Базовым является VTK, предоставляющий C++ классы и интерфейсы на Tcl/Tk, Java и Python. VTKEdge и ITK базируются на VTK и расширяют функционал.
Grace — визуальный инструмент для двухмерных построений для X Window System и Motif.
GD 1- GD написан на C, однако биндинги доступны для Perl, PHP, Python и др.
KmPlot (KDE) — часть проекта KDE Edu, позволяет строить графики функций, заданных аналитически или параметрически, в прямоугольной или полярной системах координат на плоскости. Умеет строить производные 1-го и 2-го порядков и интеграл от заданных функций. Есть функция экспорта в один из растровых графических форматов (BMP and PNG), в векторный SVG и в формате XML.
KAlgebra (KDE) — часть проекта KDE Edu, позволяет строить 2D и 3D графики, заданные аналитически. Поддерживает язык разметки MathML. Позволяет экспортировать графики в SVG и PNG форматах.
Kig (KDE) — часть проекта KDE Edu, позволяет выполнять геометрически построения на плоскости. Является заменой заброшенного проекта KGeo. Позволяет экспортировать построения в несколько растровых графических форматов (BMP, JPEG, PNG), векторный SVG, формат XFig, XML и даже LaTeX.
KSEG (Qt3) - позволяет выполнять геометрические построения на плоскости. Проект заброшен, хотя при этом доступен во многих дистрибутивах и вполне работоспособен. Имеет встроенный калькулятор с элементарными функциями. Может экспортировать построения в один из нескольких растровых графических форматов и векторный SVG.
Dr. Geo (1) — удобное кроссплатформенное приложение для выполнения геометрических построений на плоскости, написанное на Pharo Smalltalk.
Graphviz — удобное средство для построения графов. Описание графа выполняется на языке DOT. Есть как консольное приложение, так и простой графический интерфейс.
ArgoUML — среда UML моделирования с поддержкой стандарта UML 1.4 написанное на Java.
Dia 1 (GTK+) - редактор блок-схем и диаграмм. Позиционируется как свободный аналог Visio от Microsoft. Умеет экспортировать в большое количество графических форматов, XML, поддерживает язык UML.
Umbrello — Umbrello UML Modeller is a Unified Modelling Language diagram programme for KDE. Версия 2.* в KDE4.
ORA — dynamic meta-network assessment and analysis tool developed by CASOS at Carnegie Mellon. It contains hundreds of social network, dynamic network metrics, trail metrics, procedures for grouping nodes, identifying local patterns, comparing and contrasting networks, groups, and individuals from a dynamic meta-network perspective.
Rocs (KDE) — часть проекта KDE Edu, среда разработки графов с поддержкой Qt Script.
Kivio — часть проекта KOffice. Ещё не доведён до стадии релиза, потому не поставляется в стабильных архивах исходного кода. Получить код можно, склонировав master-branch git-репозитория KOffice или из установив из репозитория вашего дистрибутива.
OpenOffice.org Draw — упомянут здесь исключительно для полноты картины.
LibreOffice Draw — упомянут здесь исключительно для полноты картины.
yEd — редактор блок-схем с поддержкой UML на Java от компании yWorks.
UMLet - UML Tool for Fast UML Diagrams — ещё один редактор UML диаграмм на Java с простым интерфейсом и возможностью экспорта в JPEG, SVG, EPS, PDF. Доступен как плагин к Eclipse, так и отдельным приложением.
Violet — ещё один UML редактор на Java.
NetworkX — пакет к Python для создания, манипуляций и изучения структуры, динамики и функций комплексных сетей. (Взято на wiki.python.org)
Dunnart Constraint-Based Diagram Editor — весьма скромно названный редактор диаграмм, пока с закрытым кодом, но с версией под Linux, посоветованный уважаемым AP в этой теме.
Gaphas — написанный на Python виджет для построения диаграмм для GTK+.
Adaptagrams — библиотека для применения в приложениях, связанных с адаптивным построением диаграмм. Среди возможностей: инструменты для рисования, автоматизированное создание структуры/макета документа/диаграммы, отрисовка графов и макетов диаграмм и др. Кстати, именно она используется в Dunnart, Inkscape, Graphviz, Arcadia, Gaphas.
Gliffy — редактор диаграмм он-лайн.
Qfsm (Qt)- графический редактор диаграмм состояний конечных автоматов с интерактивной симуляцией, генерацией VHDL кода, экспортом в растровые и векторные графические форматы, EPS, LaTeX, HTML, обычный текст.
TimingAnalyzer — редактор и просмотрщик временных диаграмм, написанный на Java, выглядит очень красиво, олдскульно я бы сказал. А также может принимать скрипты на Python для построения временных диаграмм, считывать VCD файлы и экспортировать в SVG, совместим с Visio.
GTKWave — основанный на GTK+ просмотрщик временных диаграмм, умеет читать LXT, LXT2, VZT, FST, GHW файлы, а также стандартные Verilog VCD/EVCD.
Dinotrace — просмотрщик временных диаграмм для X11 от автора Verilator. Умеет читать Verilog Value Change Dumps, ASCII и другие форматы. Есть функции установки курсора, подсветки сигнала, поиска, печати и др. Имеется интерфейс к Emacs, позволяющий комментировать исходный код и файлы журналов значениями сигналов.
Gwave — утилита для визуализации таких данных, как выходные данные SPICE симуляторов. Gwave умеет читать "raw" файлы от spice2G6, spice3F5 и ngspice, табулированные ASCII файлы как от GnuCAP. Также поддерживает ряд бинарных и ASCII файлов коммерческих SPICE симуляторов (hspice, tspice, nanosim).
matplotlib — библиотека языка Python для построения разнообразных 2D графиков. Может использоваться как в Python-скриптах, так и в интерактивной среде iPython. Может быть расширена за счёт ряда тулкитов, в том числе mplot3d для 3D и Natgrid для разреженных сеток.
PLplot — кроссплатформенная библиотека для построения различных типов научных графиков, как 2D, так и 3D. Хотя сама библиотека написана на С, она имеет множество биндингов: Ada, C/C++/D, Fortran 77/90, Java, Lisp (cl-plplot), Lua, OCaml, Octave, Perl, Python, Tcl/Tk. Имеет Cairo, Gtk+, Qt, Tcl/Tk, wxWidgets, X интерфейсы. Может выполнять экспорт в растровые и векторные графические форматы: CGM, GIF, JPEG, LaTeX, PBM, PDF, PNG, PostScript, SVG, Xfig.
Лицензия: LGPL.
MathGL — библиотека для построения более 55 видов 2D и 3D графиков, разрабатываемая Алексеем Абалакиным aka abalakin. Имеет Qt, FLTK, OpenGL интерфейсы, может быть вызвана из C++/C/Fortran/Python/Octave и других программ и выполнять экспорт в растровые и векторные графические форматы. Поддерживает собственный скриптовый язык MGL.
FIXME: Алексей Абалакин aka abalakin, исправьте или добавьте, пожалуйста, что считаете нужным.
UDAV — кроссплатформенный графический фронтенд к MathGL.
Qwt — библиотека классов и компонентов графического интерфейса пользователя, удобных для построения графиков в приложениях, базирующихся на Qt.
PyQwt — биндинги к Qwt для Python.
Korundum/QtRuby — проект, в том числе содержащий биндинги Qwt для Ruby.
QwtPolar — дополнение к Qwt, библиотека классов для отображения данных в полярной системе координат.
QwtPlot3D — основанная на Qt и OpenGL C++ библиотека для построение 3D графиков, поверхностей, векторных полей.
DISLIN — поддерживает работу с Fortran, C, Perl, Python Java. Доступна для не-коммерческого использования. Исходники поставляются только с коммерческими версиями, без права распространения.
OpenCSG — библиотека для рендеринга изображений методами конструктивной блочной геометрии (CSG - Constructive Solid Geometry) при помощи OpenGL.
GLEW - The OpenGL Extension Wrangler Library — кроссплатформенная библиотека на С/С++ с открытым исходным кодом для загрузки расширений OpenGL. GLEW предоставляет эффективные механизмы для определения поддерживаемых на целевой платформе расширений OpenGL.
Lazarus — IDE для FPC, по принципу работы схожа с Delphi IDE.
Geany — простая IDE на GTK+. Поддерживает множество ЯП.
Qt Creator IDE — мощная IDE для ЯП C++ с набором библиотек Qt, умеет хорошее автодополнение, debuger, системы контроля версий и т.д.
PyDev — Eclipse-плагин для разработки на Python, Jython и IronPython.
Komodo IDE — платная IDE для Python, PHP, Ruby, JavaScript, Perl и Web Dev от ActiveState. Кто знает чем она хуже или, может быть, лучше вышеупомянутых свободных - добавьте.
Doxygen - система документирования исходного кода C++, C, Java, Objective-C, Python, IDL (Corba и Microsoft flavors), Fortran, VHDL, PHP, C#, и до некоторой степени D. Может генерировать документацию для просмотра в HTML, в виде справочного описания в LaTeX. Также возможен вывод в форматы: RTF (MS Word), PostScript, hyperlinked PDF, compressed HTML и в страницы помощи Unix man. Документация формируется непосредственно из исходников, что делает более легким сохранение соответствия документации с исходными текстами.
Open System Architect (OSA) by CodeByDesign — свободное открытое ПО для разработки и верификации ERD с встроенным SQL редактором и поддержкой UML в стадии разработки.
DBDesigner — среда для проектирования структуры баз данных. Распространяется в бинарных пакетах.
DB Designer Fork — как ни странно, но это свободный форк вышеупомянутого DBDesigner от fabFORCE, причём вполне живучий, если судить по дате последнего выпуска и коммита. Поддерживает SQL скрипты БД Oracle, SQL Server, MySQL, FireBird, SQLite и PostgreSQL.
Visual Paradigm for UML — платный инструмент для разработки ERD с использованием UML. Доступны Enterprise Trial'ы и бесплатные Community Edition версии для некоммерческого пользования.
MySQL Workbench — кроссплатформенная среда проектирования баз данных для MySQL. С версии 5.2.34 (май 2011) построена на Python 2.7, что, наверное, есть добрый знак для тех, кто ей пользуется.