我正在尝试为网格编写一个小的解包器。这使用有限元方法来求解扁平和原始表面之间的最小线性应力。目前有一些顶点被固定以获得结果。没有这个,三角形就会随机旋转和翻译......
但由于这个固定不是问题所必需的,更好的解决方案是直接求解奇异矩阵。 Petsc通过提供有关零空间的一些信息,确实提供了一些解决单一系统的方法。 http://www.mcs.anl.gov/petsc/petsc-current/docs/manual.pdf#section.4.6我想知道在Eigen中是否有任何替代方案。如果没有,在没有固定/固定顶点的情况下是否还有其他可能解决这个问题。
感谢, 很高兴的问候
另见此链接以获取更多信息: dev history
答案 0 :(得分:1)
Eigen为SVD分解提供了一种算法:Jacobi SVD。
SVD分解给出零空间。按照wikipedia article的符号,让M = U D V
成为M的SVD分解,其中D
是奇异值的对角矩阵。然后,从Range, null space and rank:
对应于M的消失奇异值的右奇异向量[V]跨越M的零空间