数组和矩阵的运算

数组运算

*

>>> a1=array([1,2,3])
>>> a2=array([4,5,6])
>>> a1*a2
array([ 4, 10, 18])
>>> a1*2
array([ 2, 4, 6])

multiply

multiply 相当于 * ,
a=[m,n], 可以相乘的为:[1,n],[m,1],[m,n], 其中前两个自动拓展为[m,n]

dot

dot:一维时相当于向量內积,不管是行向量或是列向量都可以乘或混合乘,结果得到int或float
    高维时相当于矩阵乘法,需要满足[m,n]*[n,k] 得到array([m,k])

可以使用转置.transpose() or .T

矩阵相乘

*

>>> m1=mat([1,2,3])     #1行3列
>>> m2=mat([4,5,6]) 
>>> m1*m2.T             #注意左列与右行相等 m2.T为转置操作
matrix([[32]])   

multiply

>>> multiply(m1,m2)     #执行点乘操作,要使用函数,特别注意
matrix([[ 4, 10, 18]])   

dot

dot() 与 * 用法一样,最后得到的结果都是matrix