Finding Null space of a large sparse matrix in MATLAB -


over course of finite difference discretization of elliptic equation , application of neumann bcs on sides of 2d domain have large sparse matrix. need find null space of transpose enforce consistency condition on either side. computational domain of 50x50 , 100x100 able available ram of 32 gb in mathematica , matlab available full matrix commands of nullspace , null respectively.

if computational domain 500x250 (which of order of have in general) ram required storage of matrix of size (500x250)x(500x250) 125 gb , highly prohibitive. use sparse matrices store super-matrix , don't have have space constraint anymore. can't use 'null" command on full matrices. matlab suggests use "svds" command on sparse matrices. svds(a) gives first 6 singular values , singular vectors. there command svds(a,k,sigma) gives "k" singular values , vectors around scalar singular value of "sigma". when use sigma=0 find singular vector corresponding the "zero" value, vector null space basis error "sigma" close eigen value of matrix.

my matrix singular , hence 1 of eigen values "zero". how circumvent error? or there better way tools @ hand. have both matlab , mathematica @ hand.

thanks in advance , suggestions.

best trinath

i guess can try sort of decomposition.

http://www.mathworks.co.uk/matlabcentral/fileexchange/11120-null-space-of-a-sparse-matrix

have tried this?

or maybe this?

http://www.mathworks.co.uk/matlabcentral/newsreader/view_thread/249467

i confident should work, have not tried them myself. way of proceeding qr decomposition (which give permutation of first k independent columns, if k rank of matrix. vectors k+1 n provide basis null space).

hope helps.

cheers,

gl


Comments

Popular posts from this blog

Unable to remove the www from url on https using .htaccess -