Пройдемся по некоторым:
Numpy это библиотека матричных вычислений на Python. Его особенностью является использование С++ и С кода для реализации матричных вычислений.Это дает хороший прирост скорости,так как все эти операции сразу используют скомпилированные расширения python, написанные на С/С++ c использованием низкоуровневой библиотеки LAPPACK(решатель задач линейной алгебры). Эта же библиотека лежит в основе MATLAB
Но одной линейной алгебры мало нам и по сему обратим свой взор к Scipy она использует numpy и предоставляет такие возможности(взято из Википедии):
Доступные субпакеты
- constants: Физические константы и коэффициенты пересчёта (с версии 0.7.0)
- cluster: Векторное квантование
- fftpack: Дискретные алгоритмы преобразования Фурье
- integrate: Инструменты для интегрирования
- interpolate: Инструменты для интерполяции
- io: Ввод/вывод данных
- lib: Врапперы Python для внешних библиотек
- linalg: Линейная алгебра
- misc: Разные утилиты
- optimize: Средства оптимизации
- sandbox: Экспериментальный код
- signal: Обработка сигналов
- sparse: Поддержка разреженных матриц
- special: Специальные функции
- stats: Статистические функции
- weave: Позволяет включение кода C/C++ внутри кода Python
Дополнительная функциональность:
Основной функционал SciPy расширяется за счёт других инструментов.
Например:
Графика. На данный момент рекомендованным пакетом для отрисовки двухмерной графики является Matplotlib, тем не менее существует множество других, например HippoDraw, Chaco, и Biggles. Также популярными являются Python Imaging Library и MayaVi (для 3D визуализации)
Оптимизация. Хотя SciPy имеет свой пакет для оптимизации, OpenOpt имеет доступ к большему количеству оптимизационных пакетов и решателей
Продвинутый анализ данных. При помощи RPy, SciPy обеспечивает интерфейс к статистическому пакету R предназначенному для сложного анализа данных.
База данных. SciPy может взимодействовать с PyTables, иерархической базой данных разработанной для эффективного управления большими объёмами данных на основе HDF5.
Интерактивная оболочка. IPython это интерактивная среда которая обеспечивает дебаггинг и создание кода в стиле близком к MATLAB. Ну что ж мне кажется Вики все вполне хорошо описала для затравки.
Символьная математика. Существует несколько библиотек для Python, такие как PyDSTool, Symbolic и SymPy-- которые позволяют работать с символьной математикой.Библиотеки
Как видите это довольно серьезный набор для математика.Кроме того такие библиотеки как NetworkX,Boost.Python,igraph позволяют работать со структурами типа графов.
Если же касаться вопроса о символьной математике детальней, то остановемся на Sympy
Это библиотека позволяет дифференцировать, интегрировать, раскладывать в ряды и производить упрощения символических выражений. Библиотека свободная для использования под лицензией BSD, а по сему вы можете делать на ее основе и коммерческие продукты. В конце статьи будут приведены некоторые дополнительные ссылки.
А если мы хотим написать игру? Пожалуйста BSD библиотека PyGame спешит нам на помощь.Она позволит нам:
Создать нестандартный интерфейс
Работать с текстурами
Звуком
Другими графическими файлами
Библиотека использует средства OpenGL. Кроссплатформеная. Легка в инсталяции. На ее основе сделаны различные разработки в области графики кроме 2D игр.
Кстати если вы психолог, то вас может заинтересовать система проведения экспериментов в области восприятия PsychoPy. Это открытая разработка интгерирующая в себе инструменты для проведения экспериментов и их последующую численную обработку. Начинается все с того что вы пишите python скрипт, который описывает будущий эксперимент. Затем уже по его результатам система позволит провести различные статистические рассчеты по его результатам. Поддерживается весьма широкий спектр статических и прочих математических функций.
А захотелось нам например реализовать задачи связанные со сложной обработкой и анализом текстов. Пожалуйста! для этого у нас есть такой инструмент как NLTK (опять же под лицензией Apache).Эта библиотека разработана для того, чтобы предоставить инструменты анализа слов, синтаксического анализа и максимально облегчить работу с информацией текстового характера. Вокруг этой библиотеки реализовано много академических и учебных проектов. Кроме того на основе этой библиотеки написан учебник по синтаксическому анализу и прочим вопросам работы с текстовой информацией: Natural Language Processing with python.Книжечка зарубежная и непереведенная, но сама в рунете есть. Можете поискать ее в списке книг на форуме сайта python.su
На самом деле есть еще большое множество иных библиотек, которые в обзор не попали. А для многих компонентов Linux и OpenSource приложений поставляются python-библиотеки, открывающие доступ к возможностям последних. Вобщем возможности python заслцуживают внимания:)
Ссылки:
Расширения Python,упомянутые в заметке:
Статьи:
Неплохая заметка. Список расширений радует :)
ОтветитьУдалитьПС : а что не добавишь гаджет с ярлыками - удобнее скакать по блогу, имхо О:)
Ну что ж добавлю)
ОтветитьУдалить