我在 Matlab 43916x43916 中有一个稀疏矩阵,由以下等式计算:
B=(speye(nV,nV)-alpha*NeMatrix+beta*NeMatrix*NeMatrix);
是nV
一个int,alpha
一个int,NeMatrix
一个稀疏矩阵和beta
一个int。
我不能做 inv(B) 因为它增加了 RAM 的使用直到它崩溃。我已经尝试过LU,但没有成功。
我该如何计算这个逆矩阵?
我在 Matlab 43916x43916 中有一个稀疏矩阵,由以下等式计算:
B=(speye(nV,nV)-alpha*NeMatrix+beta*NeMatrix*NeMatrix);
是nV
一个int,alpha
一个int,NeMatrix
一个稀疏矩阵和beta
一个int。
我不能做 inv(B) 因为它增加了 RAM 的使用直到它崩溃。我已经尝试过LU,但没有成功。
我该如何计算这个逆矩阵?
The inverse will be a dense matrix. Thus you should check, whether you can handle a matrix of this size. Try, e.g., to set up ones(nV,nV)
...
If you have enough storage, you may consider to compute the inverse column wise. The i-th column would be B\ei
, where ei
is the i-th unit vector.
HOWEVER, in numerical computations you hardly ever need the inverse of a matrix B
. Most times B\v
is enough, where v
is a vector. So you better check, whether you really need the full inverse...