Hallo Bill; could you please explain or post some reference about that specialised version you mention of the QL iteration to get directly the first components of the normalised eigenvectors. As I am working with complex, non-hermitian, symmetric eigenvalue problems it would be of great help. Thanks!
El miércoles, 16 de octubre de 2013 03:16:33 UTC+2, Bill McLean escribió: > > Steven, thanks for pointing out Base.gauss. My package relies, via eig, > on the Lapack eigensystem routines for a symmetric tridiagonal matrix, but > it would be possible to write such an eigensolver in Julia and so support > higher precision. If I find the time I will try to do this. In fact, to > generate the Gauss rules you need only the eigenvalues and the first > component of each normalized eigenvector, and there is a specialised > version of the QL iteration that does this without having to compute the > other components of the eigenvectors. > > On Tuesday, October 15, 2013 6:38:54 AM UTC+11, Steven G. Johnson wrote: >> >> Note that this functionality (for constant weight functions) is already >> in Base, e.g. >> >> x, w = Base.gauss(Float64, 17) >> >> gives a 17-point Gauss rule on [-1,1]. There is also Base.kronrod for >> Gauss-Kronrod rules. (Currently, these are not documented; that >> functionality use used internally by the quadgk function.) >> >> It is nice to have Gauss quadrature rules for different weight functions, >> though. You might want to look at the Base implementation (in >> base/quadgk.jl), however, and possibly exploit some of its subroutines, >> since the Base implementation supports computation of points and weights in >> arbitrary precision. >> >> On Saturday, October 12, 2013 9:05:53 PM UTC-4, Bill McLean wrote: >>> >>> I have written a Julia package to generate the points and weights of the >>> classical Gauss quadrature rules. I did not succeed in following the >>> instructions in the manual to add it to the list of available packages, but >>> you can obtain the package from >>> https://github.com/billmclean/GaussQuadrature.jl >>> >>>
