gpt4 book ai didi

algorithm - 如何求解线性矩阵方程 : AX-XA=B efficiently?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:08:03 26 4
gpt4 key购买 nike

最近我一直致力于使用 Fortran 解决一些数学问题。我想到一个线性矩阵方程:

AX-XA=B

其中 A 和 B 是已知的 n*n 矩阵,X 是需要求解的矩阵。我知道这看起来像一个典型的李雅普诺夫方程。但是,为了空间友好地求解这个方程,可以使用迭代的方式来得到当克罗内克积时X的数值结果:

A*I-I*A(T)

是非奇异的(T 表示转置)。

不幸的是,这不是我的情况。我的问题中的克罗内克积是奇异的。因此,我不能使用空间友好的迭代方法来解决问题,而是使用非常耗费空间的方法来显式生成和存储 Kronecker 产品!!!然后我使用矩阵算法的 Moore-Penrose pseudoinverse 来生成这个巨大矩阵的伪逆,并使用库矩阵向量乘法例程来求解方程。

对于小矩阵,这没问题。但是当矩阵的大小增加时(例如当 n 增加到几百时)我的计算机内存已经完全用完了。任何人都可以帮助解决这个问题,以便我可以使用空间友好的算法来解决这样的问题吗?非常感谢。

小号

最佳答案

这不是严格意义上的答案,但它可能会帮助您取得一些进步。如果我正确理解你的问题,你想解决一个西尔维斯特方程,即这里 http://en.wikipedia.org/wiki/Sylvester_equation

你有没有试过LAPACK,也许:http://www.netlib.org/lapack/lawn41/node112.html -> 搜索 TGSY2

或者可能是这样的:http://manpages.ubuntu.com/manpages/precise/man3/stgsyl.3lapack.html

甚至可能:http://www8.cs.umu.se/~isak/recsy/

祝你好运:)

关于algorithm - 如何求解线性矩阵方程 : AX-XA=B efficiently?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22987516/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com