Jack Elemental's HermitianEig routines are already wrapped. I'm using them, and this seems to work fine.
I will need about 10^5 of the 10^6 eigenvalues, so HermitianEig seems to be the way to go. Thanks for Elemental! -erik On Tue, Mar 8, 2016 at 11:23 PM, Jack Poulson <[email protected]> wrote: > Scratch that; I misread your request as I was forwarded a link to this with > the title "Big SVD". > > You should look into wrapping Elemental's HermitianEig and/or the > appropriate routine from ELPA, unless you only want a small number of modes, > in which case a Krylov subspace technique would likely be preferred. > > Jack > > > On Tuesday, March 8, 2016 at 8:20:10 PM UTC-8, Jack Poulson wrote: >> >> There were several recent extensions to Elemental's SVD support, as >> detailed here: >> https://github.com/elemental/Elemental/issues/125 >> >> In particular, FULL_SVD, THIN_SVD, COMPACT_SVD, and PRODUCT_SVD are now >> all supported, where the latter should used if you do not need small >> triplets as it uses a more parallelizable reduction to tridiagonal form of >> A^H A rather than a reduction to bidiagonal form of A (as well as a more >> parallelized MRRR Hermitian tridiagonal eigensolver instead of a QR >> algorithm for the bidiagonal SVD). >> >> With that said, it's worth asking if your friend only needs the top k >> triplets for modest k, as something like Jiahao and Andreas's TSVD >> implementation on top of a distributed dense matrix-vector product likely be >> the way to go (otherwise, a wrapper to SLEPc would be warranted). >> >> Jack >> >> On Tuesday, March 8, 2016 at 12:19:07 PM UTC-8, Tony Kelman wrote: >>> >>> May also want to look into Elemental. Last I checked Elemental uses >>> Scalapack in a handful of places but I don't think it would be the case >>> here. >>> >>> >>> On Tuesday, March 8, 2016 at 8:19:15 AM UTC-8, Erik Schnetter wrote: >>>> >>>> A colleague mentioned to me that he needs to diagonalize (find >>>> eigenvalues and eigenvectors) of a symmetric dense matrix with n=10^6 >>>> (i.e. the matrix has 10^12 entries). ScaLapack seems to be the way to >>>> go for this. >>>> >>>> I'm happy to see there is >>>> <https://github.com/JuliaParallel/ScaLAPACK.jl>. Saying its >>>> documentation is "Spartan" is an understatement. There is a file >>>> "test/test.jl" that seems to not be included from "runtests.jl", and >>>> which thus might be intended as example. >>>> >>>> The package doesn't pass its tests. If you know more about whether >>>> this just needs a brush-up or whether major surgery is required I'd >>>> appreciate feedback. >>>> >>>> -erik >>>> >>>> -- >>>> Erik Schnetter <[email protected]> >>>> http://www.perimeterinstitute.ca/personal/eschnetter/ -- Erik Schnetter <[email protected]> http://www.perimeterinstitute.ca/personal/eschnetter/
