矩阵分解
我有一个 n*n 方阵 S ,必须分解为两个矩阵 - A1 和 A2 的乘积,其中 A2 是转置矩阵到 A1 (A2=A1^T) ,所以 A1 * A2 = S。有效执行此类操作的算法? C#/C++ 解决方案会很好。
I have a square n*n matrix S that has to be decomposed into a product of two matrices - A1 and A2, where A2 is transposed matrix to A1 (A2=A1^T) , so A1 * A2 = S. Are there any algorithms to do such operation effectively? C#/C++ solution would be nice.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
正如安德烈(Andrei)建议的那样,您似乎正在尝试进行乔列斯基分解(Cholesky Decomposition)。
波兰语 wiki 站点中提供了 C++ 代码它。
“C 中的数值方法”中也有单独的小节(2.9 Cholesky 分解,可以在这里找到:http://www.nrbook.com/a/bookcpdf/c2-9.pdf)
As Andrei suggested, it seems you are trying to do Cholesky Decomposition.
There is provided C++ code in polish wiki site for it.
There is also separate subsection in "Numerical recipes in C" (2.9 Cholesky decomposition, can be found here: http://www.nrbook.com/a/bookcpdf/c2-9.pdf )
在这种情况下,您可能需要 http://en.wikipedia.org/wiki/Cholesky_decomposition
In that case you probably want http://en.wikipedia.org/wiki/Cholesky_decomposition
我不太确定你想做什么,但
这里是可能有帮助的 GSL 库
14 线性代数
I'm not quite sure what you want to do but
here is the GSL lib that might help
14 Linear Algebra