矩阵运算的重新理解

来源:互联网 发布:mac 图像处理软件 编辑:程序博客网 时间:2024/06/16 13:00

矩阵分块

对矩阵按列分块,再进行线性组合

Ax=(α1,α2,,αn)x1x2xn=x1α1+x2α2++xnαn

所以当 x=(1,0,,0)T 以及其他某一位元素为1,其他元素为0的向量,左乘以某一矩阵 A 时,矩阵向量乘法的结果在于对矩阵某一列的选择

矩阵按行分块:

Ax=βT1βT2βTmx=βT1xβT2xβTmx

或者按行分块的形式如下:

xTA=[x1,x2,,xm]βT1βT2βTm=x1βT1+x2βT2++xmβTm

注:矩阵右乘一个列向量,是对矩阵的列的线性组合,得一列;矩阵左乘一个行向量是对矩阵行的线性组合,得一行。

理解高斯消元

有了上文矩阵向量的乘法运算的从线性组合的观点的理解,我们将很容易进行下下式的计算:

[1,2,3]1,2,34,5,67,8,9=1[1,2,3]+2[4,5,6]+3[7,8,9]

import numpy if __name__ == '__main__':    A = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])    x = np.array([1, 2, 3])    m, n = A.shape    b = np.zeros(n).astype(int)    for i in range(m):        b += x[i]*A[i]          print(b)                # [30 36 42]    print(x.dot)                # [30 36 42]        

矩阵右乘一个列向量同理可得,不再赘述。

0 0
原创粉丝点击