矩阵运算与Thumb代码详解
1. 数据正确排序
在进行矩阵计算时,正确且一致地排序数据非常重要。这能确保计算的是正在处理的矩阵中所需的相同元素。在某些情况下,需要将信息从源位置移动到可操作的位置。可以将向量视为一维数组,内存占用线性空间,也是一维区域,而矩阵是二维对象,例如4x4矩阵有16个“单元格”,排列成四行四列的数组。那么如何将其合理且方便地移动到向量中进行处理呢?
在计算中,行主序和列主序是将多维数组存储在线性存储中的最常用方法。
- 列主序 :数据按列依次存储。例如,对于一个矩阵,第0列的数据1、4、7会被放置在向量的前三个位置,接着是第1列(2、5、8),最后是第3列(3、6、9)。
- 行主序 :数据按行依次存储。先存储第一行(1、2、3),然后是第二行(4、5、6),最后是第三行(7、8、9)。
无论矩阵大小如何,这个过程都是相同的。如果知道数组的大小和存储方法,就可以安全地解构和重构矩阵而不出错。这也是一种快速高效地排序和移动数据的方法。通常,你可以决定使用哪种数据存储方式,也可能由你使用的例程或最终工作的语言环境(如C或Python)规定。不过,了解Neon后,无论如何都可以在两者之间操作数据,但为了简单起见,最好坚持使用一种方式。
2. 矩阵数学运算
2.1 矩阵加法
矩阵加法是将两个矩阵对应列的元素相加,得到一个包含结果的新矩阵。以下是一个将两个4x4矩阵相加的程序示例(Program 26c):
/* Add two
超级会员免费看
订阅专栏 解锁全文
27

被折叠的 条评论
为什么被折叠?



