我正在尝试用 C++ 计算一个非常大的矩阵(11300x21500)的逆。到目前为止,我已经尝试过 Eigen 和 Armadillo 库,但都在初始化阶段失败,说没有足够的内存。有什么办法可以克服这种情况吗?
提前致谢
P.S
I should correct the size of the matrix to 21500x21500. As UmNyobe suggested, this is not a square matrix. It is actually the observation matrix, X, and I am trying to calculate (XTX)-1
我有 8GB 内存(在 64 位系统中),但我认为我没有充分利用所有这些内存空间。任务管理器显示出错时的内存使用量为1GB。也许Windows7中有一个操作系统命令,当应用程序的内存使用量超过1GB时,它会关闭该应用程序。
顺便说一句,我最初的目的是对该观察矩阵进行回归。
还有一件事:观察矩阵 X 的每一行中的大多数列都为零。有没有办法利用这一点来限制反转操作中的内存使用?
假设矩阵issquare,您可能正在寻找的是就地矩阵求逆算法。
你应该检查一下this https://math.stackexchange.com/questions/16940/in-place-inversion-of-large-matrices.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)