2015-12-07 271 views
0

我想乘阵列和矩阵迭代的方式:numpy的阵列和矩阵乘法 - 返回矩阵

for i in range(n): 
    V = np.dot(M, V) 

np.dot返回一个矩阵。我显然可以将矩阵转换为numpy数组,但有没有一种正常的方法来执行这个任务?

+1

numpy的没有“向量”;只是数组(可能是1d)。 'matrix'是一个总是2d的子类,使用它的函数通常返回相同的东西。如果它让你感到困惑,请避免使用该课程。你expresion需要编辑。 – hpaulj

回答

1

扩大在什么@hpaulj说:

我猜你的初始化代码是一样的东西

V = np.array([1,2,3]) 
M = np.matrix([ 
    [1,2,3], 
    [4,5,6], 
    [7,8,9]]) 

很抱歉的混乱,但总的建议是:不要使用矩阵,永远。只需使用np.array

V = np.array(...) 
M = np.array(...) 

np.dot正常工作有两个array小号

Matrix类放入因为Python 3.5之前,没有独立的MATMUL经营者,人们就想了一个办法说M*V并得到矩阵乘法(在3.5中,你可以说:[email protected])。矩阵类导致更多的问题比它解决。任何希望得到另一个的代码都是错误的。

你正在做使用np.dot正确的事情,为这个特殊的问题这里还有np.linalg.matrix_power

+0

谢谢,这有帮助。我不知道矩阵类的事情,也不知道如何将矩阵提升为权力。 –