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()
功能可能适合这个研究。
推荐阅读
- visual-studio-2017 - 如何在 Visual Studio 2017 的解决方案资源管理器中隐藏项目
- c# - asp.net-core / c# - 检查具有 2 个主键的表中是否存在行?
- angular - .net core 1.1 angular 5 windows 身份验证 401 未经授权
- javascript - 没有为直接子元素返回元素高度
- oracle - 带有 if 语句的 Oracle 游标错误
- javascript - React Native + Redux Form - 在 maxLength 上转到下一个字段
- c - 在调试 C 代码时处理模棱两可的结构声明
- c# - 在 C# 中从 SoftwareBitmap 创建子位图
- ios - 适用于 iOS 的 Realm DB 引发架构不匹配错误,提供架构版本 84 小于上次设置的版本 86
- c# - IEnumerable
foreach 返回结果中的所有页面;foreach 而不是 for 循环