【发布时间】:2013-05-30 14:36:34
【问题描述】:
我面临一个关于如何将给定对称矩阵(它是距离矩阵)的下三角因子存储到向量中的问题。
一般来说,我想通过只给出矩形网格上一组点的坐标(Y,Z) 来直接生成下三角形条目:实际上这是我被卡住的地方。
因此,我开始考虑从稍微不同的角度解决问题:生成全距离矩阵(再次给出 (Y,Z) 对),然后对距离矩阵进行半向量化。
尽管如此,我对如何通过for 循环实现目标并没有真正的想法。
此外我还知道可能有任何外部Java 库实现vech 函数:vech 返回通过消除方阵X 的所有上对角元素获得的向量和将结果堆叠在一列之上。这在矩阵演算中使用,其中基础矩阵是对称的,将值保持在主对角线之上是没有意义的。
基本上,给定一个矩阵A = {{a,c},{b,d}},通过应用vech(A),结果将是
vech(A) = {a,b,d}.
编辑
我的意思是这样的:
a11 a12 a13 a14
a22 a23 a24
A= a33 a34 (aij = aji)
a44
A上三角的打包存储:
AP = { a11, a12, a22, a13, a23, a33, a14, a24, a34, a44 }
【问题讨论】:
-
最后一句话;到目前为止你尝试过什么?
-
@OliCharlesworth:我尝试了几个 for 循环,但没有成功,我将编辑我的问题,包括我的试用。
-
我建议交换你的问题 - 首先询问如何使用标准 for 循环来做到这一点,然后提到你还想了解一个库,否则这个问题往往没有建设性。