finding eigenvalues of huge and very sparse matrix -


i have following problem. there matrix a of size nxn, n = 200 000. sparse, there m elements in each row, m={6, 18, 40, 68, 102} (i have 5 different scenarios), rest zeros.

now eigenvalues , eigenvectors of matrix a.

problem is, cannot put matrix a memory around 160 gb of data. looking software allows nice storing of sparse matrix (without zeros, matrix few mb) , putting stored matrix without zeros algorithm calculates eigenvalues , vectors.

can of recommend me software that?

edit: found out can reconfigure matrix a becomes band matrix. use lapack eigenvalues , eigenvectors (concretely: http://software.intel.com/sites/products/documentation/doclib/iss/2013/mkl/mklman/guid-d3c929a9-8e33-4540-8854-aa8be61bb08f.htm). problem is, need vectors, , since matrix nxn, cannot allow lapack store solution (all eigenvectors) in memory. best way function give me first k eigenvectors, rerun program next k eigenvectors , on, can save results in file.

you may try use slepc library http://www.grycap.upv.es/slepc/description/summary.htm :

"slepc scalable library eigenvalue problem computations, software library solution of large sparse eigenproblems on parallel computers."

read second chapter of users'manual, "eps: eigenvalue problem solver". focused on methods preserve sparcity...but limited number of eigenvalues , eigenvectors computed.

i hope our matrices have properties (positive definite instance...).

 epsispositive(eps eps,petscbool *pos); 

you may interrested in "spectrum slicing" compute eigenvalues in given interval... or may set target , compute closest eigenvalue around target.

see http://www.grycap.upv.es/slepc/documentation/current/docs/manualpages/eps/epssetwhicheigenpairs.html#epssetwhicheigenpairs

see examples http://www.grycap.upv.es/slepc/documentation/current/src/eps/examples/tutorials/index.html

why need compute eigenvectors such large matrices ?

bye,


Comments

Popular posts from this blog

javascript - Count length of each class -

What design pattern is this code in Javascript? -

hadoop - Restrict secondarynamenode to be installed and run on any other node in the cluster -