Научные вычисления на Python основаны на простом ванильном языке и включают несколько модулей, каждый из которых реализует некоторые аспекты функциональности MATLAB. Таким образом, опыт научного программирования на Python немного скучен. MATLAB. Однако Python как язык намного чище. Так и идет.
Основными необходимыми модулями для научных вычислений в Python являются Numpy
, Matplotlib
, SciPy
, а если вы делаете 3D-черчение, то Mayavi/VTK
. Все эти модули зависят от Numpy.
Numpy Реализует новый тип массива, который ведет себя подобно массивам MATLAB (то есть, быстрые векторные вычисления). Он также определяет загрузку функций для выполнения этих вычислений, которые обычно называются так же, как аналогичные функции в MATLAB.
Matplotlib Позволяет выполнять двухмерное построение с командами, очень похожими на MATLAB. Matplotlib также определяет pylab , который является модулем, который - с помощью одного импорта - переносит большинство функций Numpy и Matplotlib в глобальное пространство имен. Это полезно для быстрых / интерактивных сценариев, когда вы не хотите набирать много префиксов пространства имен.
SciPy - это набор модулей Python, расположенных под зонтиком SciPy, которые полезны для ученых. Процедуры установки поставляются в модулях SciPy. Numpy является частью Scipy.
Spyder - это десктопная среда разработки (на основе QT), которая свободно пытается эмулировать MATLAB IDE. Он является частью дистрибутива Python-XY.
IPython предоставляет улучшенную интерактивную оболочку Python, которая полезна для тестирования кода, запуска ваших сценариев и взаимодействия с результатами. Теперь его можно использовать как для веб-интерфейса, так и для традиционной консоли. Он также встроен в IDE Spyder.
Распределения
Запуск всех этих модулей на вашем компьютере может занять много времени, поэтому есть несколько дистрибутивов, которые упаковывают их (плюс многие другие модули) для вас.
Python-XY , WinPython , Enthought и в последнее время Anaconda - это все полные дистрибутивы пакетов, которые включите все основные модули, хотя Enthought не поставляется с Spyder.
Sage - это еще одна среда программирования, которая обслуживается через Интернет или через командную строку, а также поставляется в виде полного пакета, включающего множество других модулей. Традиционно это был образ VMWare, основанный на установке Linux. Хотя вы пишете Python в среде Sage, он немного отличается от обычного программирования на Python, он в некотором роде определяет свой собственный язык и методологию, основанную на Python.
Если вы используете Windows, я бы установил WinPython. Он устанавливает все, что вам нужно, в том числе Scipy и Spyder (который является лучшей заменой для MATLAB для Python IMHO), и поскольку он спроектирован как автономный, он не будет мешать другим установкам Python, которые вы можете иметь в своей системе. Если вы работаете в OSX, Enthought, вероятно, является лучшим способом - Spyder может быть установлен отдельно, например, с помощью. MacPorts. Для Linux вы можете установить компоненты (Numpy, SciPy, Spyder, Matplotlib) отдельно.
Мне лично не нравится, как Sage работает с Python, «спрятанным под капотом», но вы можете предпочесть это.