在下面的代码(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]
实际的答案是
我想找出错误并改正
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)
打印(不正确,因为值溢出):
要更正它,请使用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]
1条答案
按热度按时间6yoyoihd1#
您可能正在32位平台上运行此代码(其中整数为32位):
打印(不正确,因为值溢出):
要更正它,请使用64位值:
图纸: