Numpy 矩阵幂给出负结果

  • 本文关键字:结果 Numpy python-3.x numpy
  • 更新时间 :
  • 英文 :


我正在尝试使用矩阵指数创建一个具有高 n 的斐波那契数,但它给了我负结果。我尝试更改整数对象,但失败了。

import numpy as np
def matrixmul(a,n):
a=np.array([[1,1],[1,0]])
return ((np.array([1,1],[1,0], dtype=np.object))**n)
matrixMul(a,100)

我的输出是 array([[-1869596475, -980107325], [ -980107325, -889489150]]) 但这是错误的。不应有任何负数。

你的问题很难回答。您的代码有一些错误:

  • 您尚未初始化a

  • 此外,定义的函数的名称与使用的名称不同(python区分大小写(

  • 然后在函数中你没有使用a(因为它没有回报(

  • 最重要的是,你不能使用**n太得到矩阵的指数。相反,您可以尝试在scipy库中找到正确的功能。可能expm()函数都适合这种感觉。

最新更新