【发布时间】:2013-05-10 00:36:03
【问题描述】:
根据标题,仅使用行列式定义和使用 LU 分解方法来计算 n 维叉积的最佳方法是这样做,还是你们能推荐一个更好的方法?
谢谢
编辑:为了清楚起见,我的意思是 http://en.wikipedia.org/wiki/Cross_product 而不是笛卡尔积
编辑:使用莱布尼茨公式似乎也可能有所帮助——尽管我不知道这与 LU Decomp 相比如何。在这一刻。
【问题讨论】:
-
你不想要大 N 的莱布尼茨公式——它很快就会变得昂贵!对于N>4,LU分解法大概是要走的路。
-
你所说的“交叉产品”到底是什么意思?您引用的维基百科文章陈述了一个七维,然后说“在一般维度中,没有直接类似的二进制叉积可以专门产生一个向量”。你的意思是楔形产品还是别的什么?
-
@MvG 是的,抱歉,我想是楔形产品?我的意思是这部分“。另外,使用方向和度量结构,就像传统的 3 维叉积一样,可以在 n 维中取 n - 1 个向量的乘积来产生一个垂直于所有这些向量的向量。但是如果该产品仅限于具有矢量结果的非平凡二元产品,它仅存在于三维和七维中。”特别是假设它存在的 n-1 个向量的乘积 - 你怎么知道它是否仅限于非平凡的二元乘积?例如。支票?
-
“二元积”意味着您需要一个将两个向量作为输入的操作,而不是您提到的 $n-1$ 个向量。 “非平凡”意味着它不会简单地“计算”独立于其输入的空向量。楔积也是二进制的。你关心结果的长度,还是只关心它的正交性?如果是后者,那么您只是在寻找由输入向量形成的 $(n-1)\times n$ 矩阵的 kernel 的(一个元素)。有多种方法可以计算该内核,例如使用 Lapack。
标签: math optimization vector cross-product