|
Ublas : |
From: Karl Meerbergen (Karl.Meerbergen_at_[hidden])
Date: 2006-02-27 02:43:50
Hi Dima,
If you want all eigenvalues, I doubt that ARPACK is the best software. I
strongly believe you better use LAPACK or another package using the QR
method (or QZ for generalized problems). You first have to store your
matrices in dense format, which may look a waste of memory. But, when
you compute all eigenvalues by ARPACK, two large dense matrices are also
stored (plus some additional auxiliary matrices, which are also large).
For using LAPACK, there is no a binding for generalized problems (ggev),
only for standard ones (geev).
If you want the eigenvalues with smallest magnitude, spectral
transformation is far superior than not using a transformation.
Well, this is just my advise
Best,
Karl
Dima Sorkin wrote:
>Quoting Karl Meerbergen :
>
>
>>What surprises me a bit is that you compute the eigenvalues of a generalized
>>eigenvalue problem from M^{-1} K. Does M have the same sparse structure as K?
>>Which eigenvalues are you looking for?
>>
>>Usually, the spectral transformation (K-s*M)^{-1} M is used for
>>eigencomputations: it is more powerful than M^{-1} K for many applications
>>including structures, acoustics, chemical reactions ...
>>--------------------
>>
>>
>>>I actually solve the generalized
>>>eigen problem
>>> M*v*s = K*v
>>>in the form
>>> (L^-1)*K*(U^-1)*x=x*s
>>>
>>>where L*U = M (with umfpack)
>>>x = U*v
>>>"s" is the eigenvalue.
>>>
>>>
>
>Hi.
> 1) I don't compute A = (L^-1)*K*(U^-1)
> explicitly, as it is dense. K,L,U are sparse compressed.
> I store a matrix K. L and U are stored as umfpack's
> "opaque" objects (See documentation for umfpack and
> umfpack's bindings). In a simplified
> form, each time I have to multiply by A, I actually
> "triangularly solve" with U, then mult by A, then
> again "triangularly solve" with L.
> 2) I have choosen umfpack for inversion of M just because
> I am used to it. Any LU or other solver can be used in
> similar way. It should be easy to rewrite my driver
> for ARPACK, as it is not too smart :) .
> 3) I don't use spectral transform, as I usually want all
> eigenvalues, or some big amount of eigenvalues with
> smallest magnitude. I don't know how to use spectral
> transform in such case.
> 4) ARPACK's performance:I payed attention that for matrices
> I work with (300x300 up to 3500x3500 ) it is much more quick
> to compute all eigenvalues, than some subset of them.
>
>Regards,
> Dima.
>_______________________________________________
>ublas mailing list
>ublas_at_[hidden]
>http://lists.boost.org/mailman/listinfo.cgi/ublas
>
>
>
-- ============================================== Look at our unique training program and Register on-line at http://www.fft.be/?id=35 ---------------------------------------------- Karl Meerbergen Free Field Technologies NEW ADDRESS FROM FEBRUARY 1st ONWARD: Axis Park Louvain-la-Neuve rue Emile Francqui, 1 B-1435 Mont-Saint Guibert - BELGIUM Company Phone: +32 10 45 12 26 Company Fax: +32 10 45 46 26 Mobile Phone: +32 474 26 66 59 Home Phone: +32 2 306 38 10 mailto:Karl.Meerbergen_at_[hidden] http://www.fft.be ============================================