怎么在python中输入矩阵,python 输入矩阵

  怎么在python中输入矩阵,python 输入矩阵

  最简单的解决方案

  使用numpy.dot或a.dot(b)。请参考此处的文档。

  a=NP.array ([ 5,1,3),

  [ 1,1,1 ],

  [ 1,2,1 ] )

  b=NP.array ([ 1,2,3 ]).

  打印点(b).

  数组([ 16,6,8 ])

  这是因为numpy数组通过元素而不是矩阵来处理标准操作*、-和/数组。而是尝试使用numpy.matrix *作为矩阵乘法。

  其他解决方案

  我知道还有其他选择:

  如下所述,当使用python3.5时,@操作符按预期工作。

  Print (a @ b))。

  数组([ 16,6,8 ])

  过度杀戮时,请使用numpy.einsum本文档为你提供了它是如何工作的,但说实话,直到你看了这个答案,自己摆弄了一下,你才完全明白如何使用它。

  NP。Einsum(Ji,i-j),a,b)).

  数组([ 16,6,8 ])

  从2016年中期(numpy 1.10.1))开始,尝试使用Experimenting numpy . mat mul numpy . dot的功能与以下两个主要例外相同:没有标量乘法,但可以在矩阵堆栈中使用。

  NP.matmul(a,b)).

  数组([ 16,6,8 ])

  Numpy.inner以同样的方式工作。Numpy.dot表示不同的矩阵矩阵和矩阵向量乘法的卡德尔乘法。(请看维基百科的内积和点积的区别是很常见的,或者它的SO答案是关于numpy的实现。)。

  内部的.

  数组([ 16,6,8 ])

  # bewareusingformatrixmultiplicationthough!

  b=a.T

  NP.dot(a,b))。

  数组([ 35,9,10 ],

  [ 9,3,4 ],

  [ 10,4,6 ] )

  内部的.

  数组([ 29,12,19 ],

  [ 7,4,5 ],

  [ 8,5,6 ] )

  边缘很难选择。

  如果kadyl(维数大于或等于1的数组)存在,numpy.tensordot可以使用axes=1和可选参数。

  NP.tensordot(a,b,axes=1)).

  数组([ 16,6,8 ])

  如果有numpy.vdot复矩阵,请不要使用。将矩阵展平为一维数组,试图找到展平后的矩阵与向量之间的复共轭点积(因大小不匹配而失败)(n*mvs n)。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: