numpy python中的这个矩阵乘法有什么问题

wlzqhblo  于 2023-10-19  发布在  Python
关注(0)|答案(1)|浏览(115)

在下面的代码(Jupiter notebook)中,输出给出的是错误的,如何纠正代码?

import numpy as np

A = [1,22,231,1540]

B = [[-1,1,0],[1,-1,1],[0,6,0],[0,6,0]]

C = [[113401201],[10649],[1]]

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

print(result)

输出

[-1800609408]

实际的答案是

我想找出错误并改正

6yoyoihd

6yoyoihd1#

您可能正在32位平台上运行此代码(其中整数为32位):

A = np.array(A, dtype=np.int32)
B = np.array(B, dtype=np.int32)
C = np.array(C, dtype=np.int32)

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

print(result)

打印(不正确,因为值溢出):

[-1800609408]

要更正它,请使用64位值:

A = np.array(A, dtype=np.int64)
B = np.array(B, dtype=np.int64)
C = np.array(C, dtype=np.int64)

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

print(result)

图纸:

[2494357888]

相关问题