gpt4 book ai didi

Python:负数,当用numpy将矩阵乘以向量时

转载 作者:行者123 更新时间:2023-11-28 22:53:15 27 4
gpt4 key购买 nike

A = numpy.matrix([[36, 34, 26],
[18, 44, 1],
[11, 31, 41]])

X1 = numpy.matrix([[46231154], [26619349], [37498603]])

需要将矩阵乘以向量。我试过:

>>>A*X1
matrix([[ -750624208],
[ 2040910731],
[-1423782060]])
>>> numpy.dot(A,X1)
matrix([[ -750624208],
[ 2040910731],
[-1423782060]])

为什么是负数?较小的数字也没关系,例如:

A = numpy.matrix([[36, 34, 26],
[18, 44, 1],
[11, 31, 41]])
X1 = numpy.matrix([[8], [6], [6]])

>>>A*X1
matrix([[58],
[38],
[40]])

最佳答案

我相信您使用的是 32 位系统,并且您看到了整数溢出。尝试使用关键字参数 dtype=np.int64 定义矩阵和向量,看看您是否会得到更有意义的答案。

在我的 64 位机器上,我有以下输出

In [1]: import numpy

In [2]: A = numpy.matrix([[36, 34, 26],
...: [18, 44, 1],
...: [11, 31, 41]])

In [3]:

In [3]: X1 = numpy.matrix([[46231154], [26619349], [37498603]])

In [4]: A*X1
Out[4]:
matrix([[3544343088],
[2040910731],
[2871185236]])

关于Python:负数,当用numpy将矩阵乘以向量时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19616277/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com