问题标签 [row-major-order]
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.
python - Python行主要到列主要顺序向量
有一个像这样的矩阵
我想得到一个像这样的向量:
numpy
为了尝试得到它,我正在使用reshape
但它不起作用。
但我得到:
对于任何矩阵大小,最好的方法是什么?我的意思是,例如,如果矩阵不是平方的:
我想得到:
c - 列与行的二维数组初始化
如果我有一个 3 行 5 列的数组,如下所示:
现在我想输入一些数字,所以我喜欢这样:
现在数组设置如下:
但我想要的是实际上数组中的第一列元素设置如下:
我如何交换或更改数组顺序是这样的?
matlab - 如何从 Matlab 中的行主向量中获取矩阵?
我有以下矩阵:
我现在将矩阵转换为向量,但以行为主。这给出了以下向量:
现在我想把这个向量变成和上面一样的矩阵。问题是这reshape(matrix,[3,5])
不起作用,因为 Matlab 以列为主。
如何有效地做到这一点(对于大型矩阵)?
c - Can you call qsort on section of an array/matrix (row major order)?
Can you call qsort on section of an array or matrix in row major order?
I would like to call qsort on separate parts of an array within pthreads, is this thread safe and okay to do?
I am working on separating the given array or matrix by the amount of threads or cores given as a global variable n_threads
and then calling qsort on each section in the same arrays memory. I want to use a start value and a total values to get the start and end index of the qsort function.
multidimensional-array - Rust 多维数组行是否主要且紧凑?
我正在为我的项目编写一个 3D 数学库,我想知道 Rust 是列专业还是行专业?例如,我有一个二维数组作为矩阵,我想将它提供给 C 库(如 OpenGL 或 Vulkan),对于这些库来说,拥有一个紧凑的列主数组很重要。
arrays - 在 MATLAB 中,对于 2D 数组,我如何获得将首先迭代另一个维度的索引
我有一个算法,它使用单个索引填充 2x3 子图数组i=1:6
。
根据文件,
subplot(m,n,p)
将当前图窗划分为 m×n 网格,并在 p 指定的位置为子图创建轴。MATLAB® 按行对其子图进行编号,这样第一个子图是第一行的第一列,第二个子图是第一行的第二列,依此类推。
因此,当使用 迭代 2x3 子图数组时i=1:6
,将导致以下行主要顺序:
如果我想以列优先顺序填充子图,我必须将我的索引 1 2 3 4 5 6 转换为 1 4 2 5 3 6。
我怎样才能做到这一点?
python - dtype 如何影响 Numpy 中的行和列操作速度?
我试图了解如何最好地利用 numpy 数组的 C 排序来编写高性能代码。我的期望是遍历行的操作应该比遍历列的操作更快。事实上,这对于我尝试的第一个示例是正确的:
这会产生输出:
这是我所期望的,因为沿行求和应该比沿列求和更快。
这是我非常困惑的地方。如果我将 dtype 更改为 float64,那么列操作的速度几乎是行操作的两倍:
产生输出:
有人可以澄清为什么会这样吗?
编辑:评论中建议我使用较小的矩阵(1000,1000)再次尝试。当我运行时:
我得到输出:
所以效果是持久的。
c++ - 使用行主矩阵时奇怪的特征矩阵乘法行为
以下对我来说工作得很好:
但是,由于这将用于 OpenGL,并且我不喜欢处理转置,但我可以简单地切换到行主矩阵:
不幸的是,一切都破裂了。有趣的是,反转最终的矩阵乘法(这是错误的)解决了这个问题:
几乎就好像 eigen 在假设存储是列主要的情况下执行矩阵乘法,而不管我的模板标签是什么,但这不可能。
我分别测试了两个矩阵,并且在单独使用时它们在行优先模式下按我想要的方式执行,只有两个矩阵的乘积是错误的。
我对 Eigen 处理行主矩阵的方式有什么不理解?
编辑:
这是我将数据发送到 OpenGL 的有效方法。我的代码有很多额外的样板,但归结为:
和 glsl:
c++ - 逆离散傅里叶
显然我的代码有些问题,但是经过一天的搜索,我不知道如何继续。
输出看起来像是计算了正确的像素值,但存储在错误的位置。传递给该方法的两个指针都指向一个 Vector 对象,该对象具有相同的大小并且采用 row mayor 布局。那么指数公式(k*M+l)应该是对的吧?
M是宽度,N是图像的高度。
谢谢!