SciPy - 基本功能

默认情况下,所有 NumPy 函数都可通过 SciPy 命名空间使用。导入 SciPy 时,无需明确导入 NumPy 函数。NumPy 的主要对象是同质多维数组。它是一个元素表(通常是数字),所有元素均为同一类型,由正整数元组索引。在 NumPy 中,维度称为轴。的数量称为等级

现在,让我们回顾一下 NumPy 中向量和矩阵的基本功能。由于 SciPy 建立在 NumPy 数组之上,因此了解 NumPy 基础知识是必要的。由于线性代数的大部分内容只处理矩阵。

NumPy 向量

向量可以通过多种方式创建。下面介绍其中一些方法。

将 Python 数组类对象转换为 NumPy

让我们考虑以下示例。

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

上述程序的输出如下。

[1 2 3 4]

内在 NumPy 数组创建

NumPy 具有用于从头开始创建数组的内置函数。下面将解释其中一些函数。

使用 zeros()

zeros(shape) 函数将创建一个具有指定形状的数组,其中填充了 0 个值。默认 dtype 为 float64。让我们考虑以下示例。

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

上述程序的输出如下。

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

使用ones()

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]])

当我们转置矩阵时,我们会创建一个新矩阵,其行是原始矩阵的列。另一方面,共轭转置会交换每个矩阵元素的行和列索引。矩阵的逆矩阵是如果与原始矩阵相乘,则得到单位矩阵的矩阵。