1. 线性代数
numpy对于多维数组的运算在默认情况下并不使用矩阵运算,进行矩阵运算可以通过matrix对象或者矩阵函数来进行;
matrix对象由matrix类创建,其四则运算都默认采用矩阵运算,和matlab十>分相似:
a = np.matrix([[1,2,3],[4,5,6],[7,8,9]])
matrix([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
a * a
matrix([[ 30, 36, 42],
[ 66, 81, 96],
[102, 126, 150]])
a + a
matrix([[ 2, 4, 6],
[ 8, 10, 12],
[14, 16, 18]])
a ** -1
matrix([[ -4.50359963e+15, 9.00719925e+15, -4.50359963e+15],
[ 9.00719925e+15, -1.80143985e+16, 9.00719925e+15],
[ -4.50359963e+15, 9.00719925e+15, -4.50359963e+15]])
由于numpy中已经有ndarray,再用matrix比较容易弄混;
矩阵乘积运算:
对于ndarray对象,numpy提供多种矩阵乘积运算:dot()、inner()、outer()
dot():对于两个一维数组,计算的是这两个数组对应下标元素的乘积和,即:内积&