w******g 发帖数: 15 | 1 sorry, I can not input chinese on this PC
I am doing instability analysis and I need to compute the inverse of a
matrix with size about 20000 by 20000
currently I do this using matlab, but it keep saying error ' out of memory'.
I have increased the PC memory to 4gb and tried all I can think of to free
up memory.
any one know about computation of inverse of large matrix? Is there any
better way to do it? comments will be appreciated! thanks! | l*****i 发帖数: 3929 | 2 More information needed: Is the matrix sparse? Is it positive definite?...
If symmetric, you can try ma27 or lu factorization ("\"). If it's sparse and
positive definite, try CG.
'.
free
【在 w******g 的大作中提到】 : sorry, I can not input chinese on this PC : I am doing instability analysis and I need to compute the inverse of a : matrix with size about 20000 by 20000 : currently I do this using matlab, but it keep saying error ' out of memory'. : I have increased the PC memory to 4gb and tried all I can think of to free : up memory. : any one know about computation of inverse of large matrix? Is there any : better way to do it? comments will be appreciated! thanks!
| w******g 发帖数: 15 | 3 sparse, not symmetric
not sure about positive definite
what's ma27 and CG? Just got hand on this project not long ago, much to
learn. thanks!
and
【在 l*****i 的大作中提到】 : More information needed: Is the matrix sparse? Is it positive definite?... : If symmetric, you can try ma27 or lu factorization ("\"). If it's sparse and : positive definite, try CG. : : '. : free
| l*****i 发帖数: 3929 | 4 If it's not symmetric, ma27 and CG don't work for you.
【在 w******g 的大作中提到】 : sparse, not symmetric : not sure about positive definite : what's ma27 and CG? Just got hand on this project not long ago, much to : learn. thanks! : : and
| c*******h 发帖数: 1096 | 5 A\speye(n)
if not work or too slow, try BICG, BICGSTAB, CGS, GMRES, QMR with/without
all sorts of preconditioners
【在 w******g 的大作中提到】 : sparse, not symmetric : not sure about positive definite : what's ma27 and CG? Just got hand on this project not long ago, much to : learn. thanks! : : and
| s***t 发帖数: 195 | 6 get a 64-bit system. but if you use the dense matrix method, it will
take a long long time.
and usually you shouldn't use the inverse directly. do a qr or svd
instead.
'.
free
【在 w******g 的大作中提到】 : sorry, I can not input chinese on this PC : I am doing instability analysis and I need to compute the inverse of a : matrix with size about 20000 by 20000 : currently I do this using matlab, but it keep saying error ' out of memory'. : I have increased the PC memory to 4gb and tried all I can think of to free : up memory. : any one know about computation of inverse of large matrix? Is there any : better way to do it? comments will be appreciated! thanks!
| k******n 发帖数: 35 | 7 You did not mention why you need the inverse. Without this, others could not
help you much.
(1) At first, I have to ask do you really need the inverse?
The inverse matrix would be dense. I do not think you have enough memory to
manipulate it. Even you can compute this inverse, you have nothing to do
with it, since you have no idea how accurate it is. Most time, what you need
is the product of the inverse and a vector/matrix, say inv(A)*B. In some
cases, people want eigenvalues or singular values
【在 w******g 的大作中提到】 : sorry, I can not input chinese on this PC : I am doing instability analysis and I need to compute the inverse of a : matrix with size about 20000 by 20000 : currently I do this using matlab, but it keep saying error ' out of memory'. : I have increased the PC memory to 4gb and tried all I can think of to free : up memory. : any one know about computation of inverse of large matrix? Is there any : better way to do it? comments will be appreciated! thanks!
| c****n 发帖数: 21367 | 8 well... just program it in C and allocate the memory by yourself
(if you really want the inverse, but it is really a rare request)
20k x 20k is not too bad, i had done same order not-so-sparse matrix
operations on single work station with 4G ram, highly time consuming
but feasible. you really need a SCSI HDD to cache the intermidiate
results.
the final accuracy is in doubt so you might need to store partial
operation procedures and evaluate them at the finalization procedure
also do take notes o
【在 w******g 的大作中提到】 : sorry, I can not input chinese on this PC : I am doing instability analysis and I need to compute the inverse of a : matrix with size about 20000 by 20000 : currently I do this using matlab, but it keep saying error ' out of memory'. : I have increased the PC memory to 4gb and tried all I can think of to free : up memory. : any one know about computation of inverse of large matrix? Is there any : better way to do it? comments will be appreciated! thanks!
| c****n 发帖数: 21367 | 9 wooops, it is sparse... 20k x 20k sparse is really not too bad
however, for sparse matrix inversion, the first of the first is to
check whether there is empty row/column...
try "help sparse" in matlab...
..
【在 w******g 的大作中提到】 : sparse, not symmetric : not sure about positive definite : what's ma27 and CG? Just got hand on this project not long ago, much to : learn. thanks! : : and
| d******n 发帖数: 42 | 10 what do you need the inverse for? |
|