Sparse matrices (scipy.sparse). К разреженными относятся матрицы с преимущественно нулевыми элементами. Такие типы матриц типичны для научных вычислений при численном решении краевых задач для дифференциальных уравнений. В модуле sparse реализованы функции создания, храпения и трансформаций’ разреженных матриц. Поддерживаются различные структуры данных, которые включают, в частности, стандартные CSR (Compressed Sparse Row) и CSC (Compressed Sparse Column) форматы для разреженных матриц.
Sparse linear algebra (scipy.sparse.linalg). В модуле sparse.linalg пакета SciPy представлены функции, с помощью которых решаются основные задачи линейной алгебры. Для разреженных матриц реализованы алгоритмы вычисления собственных значений и собственных функций, прямые и основные итерационные методы решения систем уравнений с симметричными и несимметричными разреженными матрицами.
Spatial algorithms and data structures (scipy.spatial). Предназначен
для работы с пространственными структурами данных и алгоритма-
ми. Модуль spatial содержит функции работы с KD-деревьями, в частности, для нахождение ближайшего соседа, примерного соседа и поиск всех ближайших пар.
Special functions (scipy.special). Модуль special обеспечивает работу пакета SciPy с многими специальными функциями математической физики (функции Эйри, Бесселя, гипергеометрическис функции и т.д.). Statistical functions (scipy.stats). Модуль stats пакета SciPy имеет большое количество основных процедур обработки статистических данных. Реализованы множество генераторов случайных величин как для дискретных и для непрерывных распределений.
Image Array Manipulation and Convolution (scipy.stsci). Поддерживаются вычисления средних и экстремальных величин, свертки для массивов изображений.
С/СН—Ь integration (scipy.weave). С помощью модуля weave обеспечивается включение кода С/Сн—h внутри кода Python, что позволяет существенно ускорить вычисления.
Многие из модулей пакета SciPy непосредственно ориентированы на научные вычисления, связанные, прежде всего, с решением задач вычислительной математики. С учетом этой направленности ниже приведено более детальное описание отдельных модулей.
Специальные функции
Специальные функции рассматриваются как классы функций, которые обычно возникают в прикладных задачах при решении дифференциальных уравнений. Наибольшего внимания заслуживают ортогональные многочлены, сферические и цилиндрические функции, гипергеометрические функции, вырожденные гипергеометрические функции, гамма-функция, эллиптические функции, интегральный синус, косинус, показательная функция, логарифм, интеграл вероятности. В модуле special пакета SciPy представлены все основные специальные функции. Мы проиллюстрируем работу с некоторые из них, для более полного знакомства воспользуйтесь документацией к модулю special.
Одними из широко используемых специальных функций являются ортогональные многочлены (полиномы): система многочленов {рп{х)}, п = 0,1,2,.... ортогональных с весом р(х) па отрезке I — [а, Ь). В пакете SciPy представлены основные из них (табл. 3.10).
С помощью программы
import scipy.special as spec import numpy as np import matplotlib.pyplot as pit x = np.linspace(-l., 1., 100)
|
Таблица 3.10 Ортогональные полиномы
|
|
Do'stlaringiz bilan baham: |