默认情况下,所有NumPy函数都可以在SciPy(命名空间)中使用。当导入SciPy时,不需要显式地导入NumPy函数。NumPy的主要对象是n次多维数组ndarray,SciPy构建在ndarray数组之上,ndarray是存储单一数据类型的多维数组。在NumPy中,维度称为轴,坐标轴的数量称为秩。
通常线性代数主要处理矩阵运算,现在,让我们复习一下NumPy中向量/数组和矩阵的基本功能。
NumPy ndarray数组
ndarray是NumPy中最重要的类。
标准的Python列表(list)中,元素是对象。如:L = [1, 2, 3],需要3个指针和三个整数对象,对于数值运算比较浪费资源。
与此不同,ndarray中元素直接存储为原始数据,元素的类型由ndarray对象中的属性dtype描述。
当ndarray数组中的元素,通过索引或切片返回时,会根据dtype,从原始数据转换成Python对象,以便外部使用。
示例
将Python类数组对象转换为NumPy数组
输出
创建NumPy数组
NumPy中,可以使用下面介绍的内置函数创建ndarrray数组。
zeros()
zeros()
函数创建数组,并且把数组元素的值初始化为0,可以指定数组形状和数据类型。
示例
输出
ones()
ones()
函数创建数组,并且把数组元素的值初始化为1,可以指定数组形状和数据类型。
示例
输出
arange()
arange()
函数创建递增数组。
示例
输出
数组的数据类型
数据类型对象dtype,是描述数组中元素数据类型的对象。
示例
输出
linspace()
linspace()
函数创建一个数组,该数组包含指定区间内均匀分布的值。
示例
输出
矩阵
矩阵是一种特殊的二维数组,它有一些特殊的运算符,如*(矩阵乘法)和**(矩阵幂)。
示例
输出
矩阵转置
将矩阵的行列互换得到的新矩阵,称为转置矩阵。
示例
输出
矩阵的共轭转置
共轭就是矩阵每个元素都取共轭(复数的实部不变,虚部取负)。
共轭转置就是先取共轭,再取转置。
示例
输出
单位矩阵
单位矩阵在矩阵的乘法中,起着特殊的作用,如同数的乘法中的1。单位矩阵是个方阵,从左上角到右下角的对角线(称为主对角线)上的元素均为1,除此以外全都为0。
示例
创建单位矩阵:
输出
逆矩阵
逆矩阵的数学定义:存在矩阵M以及矩阵N,假如M*N = 矩阵I(Identify Matrix单位矩阵),那么矩阵M和矩阵N互为逆矩阵。
示例
求一个矩阵的逆矩阵:
输出
本文来自博客园,作者:大码王,转载请注明原文链接:https://www.cnblogs.com/huanghanyu/