Учебники

SciPy — основная функциональность

По умолчанию все функции NumPy были доступны через пространство имен SciPy. При импорте SciPy не требуется явно импортировать функции NumPy. Основным объектом NumPy является однородный многомерный массив. Это таблица элементов (обычно чисел) одного типа, проиндексированных набором натуральных чисел. В NumPy размеры называются осями. Количество осей называется рангом .

Теперь давайте пересмотрим основные функциональные возможности векторов и матриц в NumPy. Поскольку SciPy построен поверх массивов NumPy, необходимо понимание основ NumPy. Поскольку большинство частей линейной алгебры имеет дело только с матрицами.

NumPy Vector

Вектор может быть создан несколькими способами. Некоторые из них описаны ниже.

Преобразование массивоподобных объектов Python в NumPy

Давайте рассмотрим следующий пример.

import numpy as np
list = [1,2,3,4]
arr = np.array(list)
print arr

Вывод вышеуказанной программы будет следующим.

[1 2 3 4]

Внутреннее создание массива NumPy

NumPy имеет встроенные функции для создания массивов с нуля. Некоторые из этих функций описаны ниже.

Использование нулей ()

Функция нулей (форма) создаст массив, заполненный 0 значениями с указанной формой. По умолчанию dtype — это float64. Давайте рассмотрим следующий пример.

import numpy as np
print np.zeros((2, 3))

Вывод вышеуказанной программы будет следующим.

array([[ 0., 0., 0.],
[ 0., 0., 0.]])

Используя те ()

Функция ones (shape) создаст массив, заполненный 1 значением. Он идентичен нулям во всех остальных отношениях. Давайте рассмотрим следующий пример.

import numpy as np
print np.ones((2, 3))

Вывод вышеуказанной программы будет следующим.

array([[ 1., 1., 1.],
[ 1., 1., 1.]])

Использование arange ()

Функция arange () будет создавать массивы с регулярно увеличивающимися значениями. Давайте рассмотрим следующий пример.

import numpy as np
print np.arange(7)

Вышеуказанная программа сгенерирует следующий вывод.

array([0, 1, 2, 3, 4, 5, 6])

Определение типа данных значений

Давайте рассмотрим следующий пример.

import numpy as np
arr = np.arange(2, 10, dtype = np.float)
print arr
print "Array Data Type :",arr.dtype

Вышеуказанная программа сгенерирует следующий вывод.

[ 2. 3. 4. 5. 6. 7. 8. 9.]
Array Data Type : float64

Использование linspace ()

Функция linspace () создаст массивы с указанным количеством элементов, которые будут равномерно распределены между указанными начальными и конечными значениями. Давайте рассмотрим следующий пример.

import numpy as np
print np.linspace(1., 4., 6)

Вышеуказанная программа сгенерирует следующий вывод.

array([ 1. , 1.6, 2.2, 2.8, 3.4, 4. ])

матрица

Матрица — это специализированный двумерный массив, который сохраняет свою двумерную природу посредством операций. Он имеет определенные специальные операторы, такие как * (матричное умножение) и ** (матричная степень). Давайте рассмотрим следующий пример.

import numpy as np
print np.matrix('1 2; 3 4')

Вышеуказанная программа сгенерирует следующий вывод.

matrix([[1, 2],
[3, 4]])

Конъюгат транспонирования матрицы

Эта функция возвращает (сложную) сопряженную транспозицию себя . Давайте рассмотрим следующий пример.

import numpy as np
mat = np.matrix('1 2; 3 4')
print mat.H

Вышеуказанная программа сгенерирует следующий вывод.

matrix([[1, 3],
        [2, 4]])

Транспонирование матрицы

Эта функция возвращает транспонирование себя. Давайте рассмотрим следующий пример.

import numpy as np
mat = np.matrix('1 2; 3 4')
mat.T

Вышеуказанная программа сгенерирует следующий вывод.

matrix([[1, 3],
        [2, 4]])

Когда мы транспонируем матрицу, мы создаем новую матрицу, строки которой являются столбцами оригинала. Сопряженное преобразование, с другой стороны, чередует строку и индекс столбца для каждого элемента матрицы. Инверсия матрицы — это матрица, которая при умножении на исходную матрицу приводит к тождественной матрице.