You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jupyter Notebook中Python numpy矩阵乘法结果错误,如何修正?

问题排查与修正

错误原因

numpy 默认使用 int32 类型进行整数运算,而你的计算过程中产生的中间结果总和(2494357888)超过了 int32 的最大值(2147483647),导致整数溢出,最终输出错误的负数结果。

修正方案

将数组显式指定为 np.int64 类型(64位整数,支持更大的数值范围),避免溢出问题。修正后的代码如下:

import numpy as np

# 将所有数组转换为int64类型
A = np.array([1, 22, 231, 1540], dtype=np.int64)
B = np.array([[-1, 1, 0], [1, -1, 1], [0, 6, 0], [0, 6, 0]], dtype=np.int64)
C = np.array([[113401201], [10649], [1]], dtype=np.int64)

result = np.dot(np.dot(A, B), C)
print(result)

补充说明

运行修正后的代码,输出结果为 [2494357888],这是符合矩阵乘法规则的正确数学结果。你提到的"实际正确结果为10372390"可能存在矩阵定义或预期结果的笔误,若确实需要得到该结果,请检查矩阵的维度、元素值或乘法顺序是否正确。

内容的提问来源于stack exchange,提问作者Pruthviraj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 14:00:32