1、矩阵的创建

1.1 利用np.array()创建一个矩阵,注意array()里面是一个python列表或者元组

1.2 利用np.zeros()创建矩阵

1.3 利用np.ones()创建矩阵

1.4 利用np.arange()创建矩阵

1.5 利用np.linspace()创建矩阵

        np.linspace()的作用和np.arange()类似,但是略有不同

        np.arange(begin, end, step)中指定起始区间,和步长,np.linspace(begin, end, num)中指定起始起始区间和需要取的数字。

         

python numpy创建一个33的身份矩阵 python如何创建一个矩阵_一维数组

2 矩阵的基本属性

2.1 导入numpy库

                

python numpy创建一个33的身份矩阵 python如何创建一个矩阵_数组_02

2.2、python下numpy元素的类型

        

python numpy创建一个33的身份矩阵 python如何创建一个矩阵_数组_03

2.3 ndarray.ndim 函数,求解矩阵的维数

               

python numpy创建一个33的身份矩阵 python如何创建一个矩阵_一维数组_04

2.4 ndarray.shape 函数,求解矩阵的规模

                  

python numpy创建一个33的身份矩阵 python如何创建一个矩阵_函数返回_05

2.5  ndarray.size 函数,返回矩阵元素的个数,等于ndarray.shape元素之积

2.6  ndarray.dtype 函数,返回矩阵中元素的类型

           类型可以是自己创建的类型或者是标准的python类型,在Numpy中也有自己的类型,有numpy.int32, numpy.int16, numpy.float64等等类型

              

python numpy创建一个33的身份矩阵 python如何创建一个矩阵_一维数组_06

2.7 ndarray.itemsize函数,返回矩阵中每个元素所占的字节数

              如同C语言中的sizeof(int)所占4个字节,ndarray.dtype表示当前元素的类型为int32,因此占32/8=4个字节

                

python numpy创建一个33的身份矩阵 python如何创建一个矩阵_一维数组_07

2.8  ndarray.data 返回矩阵在内存中的具体信息

                  

python numpy创建一个33的身份矩阵 python如何创建一个矩阵_函数返回_08

3、矩阵的基本运算

3.1 矩阵的加法、减法和数乘

                            

python numpy创建一个33的身份矩阵 python如何创建一个矩阵_一维数组_09

                           

python numpy创建一个33的身份矩阵 python如何创建一个矩阵_数组_10

                                   

python numpy创建一个33的身份矩阵 python如何创建一个矩阵_数组_11

3.2 数组索引

              Numpy数组每个元素,每行元素,每列元素都可以用索引访问。

              

python numpy创建一个33的身份矩阵 python如何创建一个矩阵_函数返回_12

3.3 数组的拷贝

            数组的拷贝分浅拷贝和深拷贝两种,浅拷贝通过数组变量的赋值完成,深拷贝使用数组对象的copy方法。

            浅拷贝只拷贝数组的引用,如果对拷贝进行修改,源数组也将修改。如下:

                    

python numpy创建一个33的身份矩阵 python如何创建一个矩阵_一维数组_13

深拷贝会复制一份和源数组一样的数组,新数组与源数组会存放在不同内存位置,因此对新数组的修改不会影响源数组。如下:

                  

python numpy创建一个33的身份矩阵 python如何创建一个矩阵_函数返回_14

4、Numpy线性代数相关函数

4.1 numpy.dot()

         此函数返回两个数组的点积。 对于二维向量,其等效于矩阵乘法。 对于一维数组,它是向量的内积。 对于 N 维数组,它是a的最后一个轴上的和与b的倒数第二个轴的乘积

          

python numpy创建一个33的身份矩阵 python如何创建一个矩阵_函数返回_15

4.2 numpy.vdot()

             此函数返回两个向量的点积。 如果第一个参数是复数,那么它的共轭复数会用于计算。 如果参数id是多维数组,它会被展开。

              

python numpy创建一个33的身份矩阵 python如何创建一个矩阵_数组_16

4.3 numpy.inner()

          此函数返回一维数组的向量内积。 对于更高的维度,它返回最后一个轴上的和的乘积。

                

python numpy创建一个33的身份矩阵 python如何创建一个矩阵_数组_17

4.4  numpy.matmul()

          函数返回两个数组的矩阵乘积。 虽然它返回二维数组的正常乘积,但如果任一参数的维数大于2,则将其视为存在于最后两个索引的矩阵的栈,并进行相应广播。另一方面,如果任一参数是一维数组,则通过在其维度上附加 1 来将其提升为矩阵,并在乘法之后被去除。

                                    

python numpy创建一个33的身份矩阵 python如何创建一个矩阵_函数返回_18

4.5  numpy.linalg.det()

           行列式在线性代数中是非常有用的值。 它从方阵的对角元素计算。 对于 2×2 矩阵,它是左上和右下元素的乘积与其他两个的乘积的差

                      

python numpy创建一个33的身份矩阵 python如何创建一个矩阵_一维数组_19

4.6  numpy.linalg.solve()

                     该函数给出了矩阵形式的线性方程的解。

                      

python numpy创建一个33的身份矩阵 python如何创建一个矩阵_函数返回_20

                     可表示为AX=B    即求X=A^(-1)B  逆矩阵可以用numpy.linalg.inv()函数来求

                    

python numpy创建一个33的身份矩阵 python如何创建一个矩阵_数组_21

     注意:*执行的是点乘,对应点相乘,而dot是矩阵乘法

                         计算线性方程的解

              

python numpy创建一个33的身份矩阵 python如何创建一个矩阵_一维数组_22