SciPy 基本功能
默认情况下,所有 NumPy 函数都可以通过 SciPy 命名空间使用。导入 SciPy 时,无需显式导入 NumPy 函数。NumPy 的主要对象是同构多维数组。它是一个元素表(通常是数字),所有类型都相同,由正整数元组索引。在 NumPy 中,维度被称为轴。轴的数量称为rank。
现在,让我们修改 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 具有用于从头开始创建数组的内置函数。下面解释了其中的一些功能。
使用 zeros()
zeros(shape) 函数将创建一个用指定形状填充 0 值的数组。默认数据类型是 float64。
mport numpy as np
print(np.zeros((2, 3)))
运行结果如下
array([[ 0., 0., 0.],
[ 0., 0., 0.]])
使用 ones()
ones(shape) 函数将创建一个填充有 1 个值的数组。其余的都和 zeros() 函数相同
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]])
矩阵的共轭转置
此功能返回self的(复数)共轭转置。让我们看一下以下示例。
import numpy as np
mat = np.matrix('1 2; 3 4')
print(mat.H)
运行结果如下
matrix([[1, 3],
[2, 4]])
矩阵的转置
此功能返回 self 的转置。
import numpy as np
mat = np.matrix('1 2; 3 4')
print(mat.T)
运行结果如下
matrix([[1, 3],
[2, 4]])
当我们转置矩阵时,我们创建了一个新矩阵,其行是原始矩阵的列。另一方面,共轭转置交换每个矩阵元素的行和列索引。矩阵的逆矩阵是一个矩阵,如果与原始矩阵相乘,则结果为单位矩阵。