Чтение онлайн

на главную - закладки

Жанры

Язык программирования Python
Шрифт:

reshape(a, shape) Возвращает массив нужной формы (нового массива не создает). Количество элементов в исходном и новом массивах должно совпадать

resize(a, shape) Возвращает массив с произвольной новой формой shape. Размер исходного массива не важен

searchsorted(a, i) Для каждого элемента из i найти место в массиве a. Массив a должен быть одномерным и отсортированным. Результат имеет форму массива i

shape(a) Возвращает форму массива a

sometrue(a[, axis]) Логическое ИЛИ по всему измерению axis массива a

sort(a[, axis]) Сортировка элементов массива по заданному измерению

sum(a[, axis]) Суммирование по измерению axis массива a

swapaxes(a, axis1, axis1) Смена измерений (частный случай транспонирования)

take(a, indices[, axis]) Выбор частей массива a на основе индексов indices по измерению axis

trace(a[, k[, axis1[, axis2]]]) Сумма элементов вдоль диагонали, то есть add.reduce(diagonal(a, k, axis1, axis2))

transpose(a[, axes]) Перестановка измерений в соответствии с axes, либо, если axes не заданы — расположение их в обратном порядке

where(cond, a1, a2) Выбор элементов на основании условия cond из a1 (если не нуль) и a2 (при нуле) поэлементно. Равносилен choose(not_equal(cond, 0), (y, x)). Формы массивов–аргументов a1 и a2 должны совпадать

zeros(shape[, type]) Массив из нулей заданной формы shape и обозначения типа type

В этой таблице в качестве обозначения типа type можно указывать рассмотренные выше константы: Int, Float и т.п.

Модуль Numeric также определяет константы e (число e) и pi (число пи).

Модуль LinearAlgebra

Модуль LinearAlgebra содержит алгоритмы линейной алгебры, в частности нахождение определителя матрицы, решений системы линейных уравнений, обращение матрицы, нахождение собственных чисел и собственных векторов матрицы, разложение матрицы на множители: Холецкого, сингулярное, метод наименьших квадратов.

Функция LinearAlgebra.determinant находит определитель матрицы:

Листинг

>>> import Numeric, LinearAlgebra

>>> print LinearAlgebra.determinant(

… Numeric.array([[1, — 2],

… [1, 5]]))

7

Функция LinearAlgebra.solve_linear_equations решает линейные уравнения вида ax=b по заданным аргументам a и b:

Листинг

>>> import Numeric, LinearAlgebra

>>> a = Numeric.array([[1.0, 2.0], [0.0, 1.0]])

>>> b = Numeric.array([1.2, 1.5])

>>> x = LinearAlgebra.solve_linear_equations(a, b)

>>> print «x =", x

x = [-1.8 1.5]

>>> print «Проверка:", Numeric.dot(a, x) - b

Проверка: [ 0. 0.]

Когда матрица a имеет нулевой определитель, система имеет не единственное решение и возбуждается исключение LinearAlgebraError:

Листинг

>>> a = Numeric.array([[1.0, 2.0], [0.5, 1.0]])

>>> x = LinearAlgebra.solve_linear_equations(a, b)

Traceback (most recent call last):

File "<stdin>", line 1, in ?

File "/usr/local/lib/python2.3/site–packages/Numeric/LinearAlgebra.py», line 98,

in solve_linear_equations raise LinAlgError, 'Singular matrix'

LinearAlgebra.LinAlgError: Singular matrix

Функция LinearAlgebra.inverse находит обратную матрицу. Однако не следует решать линейные уравнения с помощью LinearAlgebra.inverse умножением на обратную матрицу, так как она определена через LinearAlgebra.solve_linear_equations:

Листинг

def inverse(a):

return solve_linear_equations(a, Numeric.identity(a.shape[0]))

Функция LinearAlgebra.eigenvalues находит собственные значения матрицы, а LinearAlgebra.eigenvectors - пару: собственные значения, собственные вектора:

Листинг

>>> from Numeric import array, dot

>>> from LinearAlgebra import eigenvalues, eigenvectors

>>> a = array([[-5, 2], [2, — 7]])

>>> lmd = eigenvalues(a)

>>> print «Собственные значения:", lmd

Собственные значения: [-3.76393202–8.23606798]

>>> (lmd, v) = eigenvectors(a)

>>> print «Собственные вектора:"

Собственные вектора:

>>> print v

[[ 0.85065081 0.52573111]

[-0.52573111 0.85065081]]

>>> print «Проверка:", dot(a, v[0]) - v[0] * lmd[0]

Проверка: [ -4.44089210e–16 2.22044605e–16]

Проверка показывает, что тождество выполняется с достаточно большой точностью (числа совсем маленькие, практически нули): собственные числа и векторы найдены верно.

Модуль RandomArray

В этом модуле собраны функции для генерации массивов случайных чисел различных распределений и свойств. Их можно применять для математического моделирования.

Функция RandomArray.random создает массивы из псевдослучайных чисел, равномерно распределенных в интервале (0, 1):

Листинг

>>> import RandomArray

>>> print RandomArray.random(10) # массив из 10 псевдослучайных чисел

[ 0.28374212 0.19260929 0.07045474 0.30547682 0.10842083 0.14049676

0.01347435 0.37043894 0.47362471 0.37673479]

>>> print RandomArray.random([3,3]) # массив 3x3 из псевдослучайных чисел

[[ 0.53493741 0.44636754 0.20466961]

Поделиться:
Популярные книги

Я Гордый часть 7

Машуков Тимур
7. Стальные яйца
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Я Гордый часть 7

Идеальный мир для Демонолога 10

Сапфир Олег
10. Демонолог
Фантастика:
боевая фантастика
юмористическая фантастика
аниме
5.00
рейтинг книги
Идеальный мир для Демонолога 10

Газлайтер. Том 21

Володин Григорий Григорьевич
21. История Телепата
Фантастика:
боевая фантастика
аниме
попаданцы
5.00
рейтинг книги
Газлайтер. Том 21

Последний Паладин. Том 9

Саваровский Роман
9. Путь Паладина
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Последний Паладин. Том 9

Кодекс Охотника. Книга XXVI

Винокуров Юрий
26. Кодекс Охотника
Фантастика:
попаданцы
5.00
рейтинг книги
Кодекс Охотника. Книга XXVI

Бояръ-Аниме. Газлайтер. Том 34

Володин Григорий Григорьевич
34. История Телепата
Фантастика:
фэнтези
боевая фантастика
аниме
5.00
рейтинг книги
Бояръ-Аниме. Газлайтер. Том 34

Черный Маг Императора 15

Герда Александр
15. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
сказочная фантастика
фэнтези
фантастика: прочее
5.00
рейтинг книги
Черный Маг Императора 15

Кодекс Охотника. Книга ХХ

Винокуров Юрий
20. Кодекс Охотника
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга ХХ

Последний Герой. Том 3

Дамиров Рафаэль
3. Последний герой
Фантастика:
попаданцы
альтернативная история
фантастика: прочее
5.00
рейтинг книги
Последний Герой. Том 3

Неудержимый. Книга XXI

Боярский Андрей
21. Неудержимый
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Неудержимый. Книга XXI

Поход

Валериев Игорь
4. Ермак
Фантастика:
боевая фантастика
альтернативная история
6.25
рейтинг книги
Поход

Мастер 8

Чащин Валерий
8. Мастер
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Мастер 8

Князь Андер Арес 3

Грехов Тимофей
3. Андер Арес
Фантастика:
рпг
аниме
фэнтези
5.00
рейтинг книги
Князь Андер Арес 3

Неудержимый. Книга XXXII

Боярский Андрей
32. Неудержимый
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Неудержимый. Книга XXXII