问题标签 [matrix-multiplication]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4694 浏览

opengl - OpenGL 2D旋转问题

在下面的程序中,我试图画一个简单的房子。坐标在房屋数组中定义。我需要旋转房子并显示旋转的房子和原来的房子。但是为什么旋转的房子没有显示出来呢?

0 投票
2 回答
7643 浏览

c++ - CUDA 中的稀疏矩阵向量乘法

我正在尝试在 GPU 上实现矩阵向量乘法(使用 CUDA)。

在我的 C++ 代码 (CPU) 中,我将矩阵加载为密集矩阵,然后使用 CUDA 执行矩阵向量乘法。我还使用共享内存来提高性能。

  1. 知道我的矩阵是稀疏矩阵,如何以有效的方式加载矩阵?

下面是我加载矩阵的 C++ 函数:

下面是我处理矩阵向量乘法的 CUDA 内核函数:

  1. 考虑到我的矩阵是稀疏矩阵,我必须对我的 CUDA 代码进行哪些必要的更改?
  2. 我从一个论坛发现我们也可以使用填充来优化性能,但这需要我改变读取矩阵/排序矩阵的方式。任何想法如何以我读取矩阵并执行计算的方式实现此填充?
0 投票
2 回答
1272 浏览

matlab - MATLAB 矩阵问题

我有一个有 5 个未知数的方程组(总共 5 个)。我已将这些设置为矩阵以尝试解决,但我不确定这是否正确。基本上设置是AX = B, 其中A,XB是矩阵。A是 5x5,X是 1x5,B是 5x1。

当我使用 MATLAB 求解X使用公式X = A\B时,它给了我一个警告:

并为所有 5 X 未知数给我 0,但如果我说它X = B\A没有,并给我 5 个X未知数的值。

有人知道我在做什么错吗?如果这很重要,这就是我的X矩阵的样子:

哪里C3, P1, P2, P3,P4是我的未知数。

0 投票
12 回答
58933 浏览

performance - 为什么 MATLAB 的矩阵乘法速度如此之快?

我正在使用 CUDA、C++、C#、Java 进行一些基准测试,并使用 MATLAB 进行验证和矩阵生成。当我使用 MATLAB 执行矩阵乘法时,2048x2048甚至更大的矩阵几乎立即相乘。

只有 CUDA 具有竞争力,但我认为至少 C++ 会有些接近,而不是慢 60 倍。我也不知道如何看待 C# 结果。该算法与 C++ 和 Java 相同,2048但从1024.

MATLAB 执行矩阵乘法的速度如何?

C++ 代码:

0 投票
10 回答
7334 浏览

c# - 为什么 2048x2048 与 2047x2047 数组乘法相比,性能会受到巨大影响?

我正在做一些矩阵乘法基准测试,正如前面提到的 为什么 MATLAB 在矩阵乘法中如此之快?

现在我遇到了另一个问题,当将两个 2048x2048 矩阵相乘时,C# 与其他矩阵之间存在很大差异。当我尝试仅乘以 2047x2047 矩阵时,这似乎很正常。也添加了一些其他的进行比较。

1024x1024 - 10 秒。

1027x1027 - 10 秒。

2047x2047 - 90 秒。

2048x2048 - 300 秒。

2049x2049 - 91 秒。(更新)

2500x2500 - 166 秒

对于 2k x 2k 的情况,这是三分半钟的差异。

使用 2dim 数组

0 投票
5 回答
24970 浏览

c++ - 如何优化矩阵乘法运算

我需要在我的应用程序中执行大量矩阵运算。最耗时的是矩阵乘法。我是这样实现的

有没有更好的写法??到目前为止,矩阵乘法运算在我的应用程序中花费了大部分时间。也许有做这种事情的好/快图书馆吗?但是,我宁愿不能使用使用图形卡进行数学运算的库,因为我在带有集成图形卡的笔记本电脑上工作。

0 投票
1 回答
4526 浏览

android - 使用 Matrix.rotateM 旋转向量

我制作了一个名为 Vector3 的简单类。这是一个带有一些基本数学实现的 3 维向量。现在我希望能够旋转这个单一的向量,但我得到了一个例外。

我有这个:

我打电话给我:

我得到的是一个 IllegalArgumentException:

它说

长度 - 偏移 < n

有没有人知道我做错了什么?

这个Vector3函数不是我一开始就写的,是从《开始安卓游戏》一书中借来的

0 投票
1 回答
1193 浏览

c# - C# XNA 矩阵 - 矩阵乘法后找出当前位置

我正在制作太阳系的 3D 模拟

对于每个行星,我都有一个Celestial Body类的实例。我正在使用以下代码进行太阳、行星及其卫星的公转和自转。

  • 旋转是我的浮动变量,用于行星绕自己的轴旋转
  • 革命是我的浮动变量,用于行星在轨道上的旋转
  • 位置是我的 vector3 变量,以将身体置于轨道上或距离中心的半径处,例如postion = new Vector3(70,0,0)

现在它工作得很好。

但问题是我需要找到\得到我的星球的位置,在矩阵乘法之后,它在x,y,x坐标中被翻译到哪里。

如何 ?获取我星球的当前 X , Y , Z 坐标

对我来说,另一个选择是使用一些数学公式为我计算二维圆。

0 投票
2 回答
2303 浏览

c# - C# XNA 矩阵 - 用矩阵计算月球绕轴旋转

我正在构建一个 3D 模拟。

我正在使用一个类来显示具有不同大小、纹理、速度和轨道的太阳、行星和月亮。这是我的代码,它完成了计算旋转+旋转的神奇工作

  • size是我单独缩放对象的变量
  • 旋转是我的变量,用于围绕自己的轴旋转对象
  • 位置是我将行星定位在轨道上的变量,新 Vector3(240,0,0)
  • 革命是我的变量,使地球围绕原点旋转

现在我想展示围绕地球和其他行星的卫星,但我不知道该怎么做。就矩阵乘法而言。

复杂之处在于月球的公转是围绕着一个不属于起源并且一直在变化的行星。

怎么做 ?

0 投票
2 回答
617 浏览

python - Python Numpy 问题和 Python 版本问题

我想在 Python 3.2 中使用 Numpy,但它不起作用;它说我需要3.1。除了使用 3.1 之外,有谁知道如何解决这个问题?为了在 python 程序中工作,我必须导入什么?

我想在 python 中表示一个矩阵,并获得矩阵的范数。我将如何使用 Numpy 进行此操作?那是在 Numpy 还是 Python 里面?矩阵乘法呢?此外,这个矩阵实际上是一个以 x 和 y 为变量的向量。

最后一个问题。这里的一些成员认为使用 Python 3.2 并不是创建专业产品的最佳方式,尽管在 Python.org 上,他们明确指出使用 3.2 或 2.7 是当今可用的最稳定的版本。我在这里错了吗?如果是,我应该使用哪个版本的 Python?提前致谢。

另外,我没有足够的代表来发布三个单独的问题,所以如果你能回答一部分,将不胜感激。