14 мая 2011 года стала доступной для загрузки стабильная версия 1.6.0 расширения языка Python для научных вычислений - NumPy.
NumPy содержит функции для операций с многомерными массивами и матрицами, а также стандартные функции линейной алгебры, преобразования Фурье, генераторы случайных чисел и инструменты для интеграции C/C++ и Fortran кода.
NumPy был разработан на базе кода двух пакетов для Python: Numeric и Numarray и является неотъемлемой базовой частью проекта SciPy - набора библиотек для вычислений в прикладной математике и науке на языке Python.
Работа над Numeric и Numarray прекратилась в 2005 и 2006 годах соответственно, и теперь NumPy рекомендуется для их замены.
Вычислительная сила NumPy заключается в интерпретации большинства вычислительных алгоритмов в операции над массивами и матрицами, что уменьшает проигрыш NumPy в быстродействии компилируемым языкам, таким как C или Fortran.
Этим NumPy очень напоминает интерпретируемый язык MATLAB'a и потому считается одной из его перспективных альтернатив, конечно, в комплекте со специализированными пакетами для Python, такими как вышеупомянутый SciPy, matplotlib, GMPY и другими.
Функции линейной алгебры в NumPy основаны на коде библиотеки LAPACK.
NumPy 1.6.0 совместим и с Python 2.4 - 2.7, и с Python 3.1 - 3.2.
Среди основных изменений в этом выпуске:
- новый итератор, увеличивающий быстродействие большого количества функций
- добавление поддержки 16-битного формата чисел с плавающей точкой половинной точности - IEEE 754-2008 binary16 (half precision), как тип данных numpy.half
- добавлены полиномы Лежандра (Legendre), Лягерра (Laguerre), Эрмита (Hermite)
- поддержка генератором F2py (Fortran to Python) массивов с динамическими размерами (assumed shape arrays) по стандарту Fortran 90
- дополнения в C API
- добавление ряда новых функций и замена части старых
С полным списком изменений можно ознакомиться в архиве с исходными кодами или на странице загрузки на sourceforge.net.
Numpy распространяется под лицензией BSD.
Кроме исходных кодов предоставляются также бинарные сборки для ОС Windows и Mac OS X.
>>> Исходный код NumPy
>>> Краткий список изменений