[julia-users] Re: Gauss quadrature package
Although Alex Townsend also wrote a package: https://github.com/ajt60gaibb/FastGaussQuadrature.jl It would be better to decide on a single quadrature package before putting them into the METADATA. Alex's implementation uses fancier (and more efficient) algorithms. On Thursday, December 4, 2014 9:15:03 PM UTC-5, Steven G. Johnson wrote: > > According to http://pkg.julialang.org/ it never got put in the official > package listing. Maybe file an issue at > https://github.com/billmclean/GaussQuadrature.jl ? >
[julia-users] Re: Gauss quadrature package
According to http://pkg.julialang.org/ it never got put in the official package listing. Maybe file an issue at https://github.com/billmclean/GaussQuadrature.jl ?
[julia-users] Re: Gauss quadrature package
Hi All, Did Bill's work above for non-constant weight functions get merged into base or a registered package? I'm particularly interested in the Gauss-Hermite quadrature rules. If not, I'll happily use the unregistered package. Vishal On Tuesday, March 25, 2014 9:54:03 PM UTC-7, Bill McLean wrote: > > Hello Santi Ponte, > > I am not any kind of expert on the QL iteration. All I can suggest is to > check the references listed in the source file src/GaussQuadrature.jl at > lines 65-71 and 303-306. Essentially, I just > rewrote the original Fortran version gaussq.f first into Fortran 90 and > then into Julia. > > Regards, > Bill. > > On Tuesday, March 25, 2014 4:45:50 AM UTC+11, Santi Ponte wrote: >> >> 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 > >
[julia-users] Re: Gauss quadrature package
Hello Santi Ponte, I am not any kind of expert on the QL iteration. All I can suggest is to check the references listed in the source file src/GaussQuadrature.jl at lines 65-71 and 303-306. Essentially, I just rewrote the original Fortran version gaussq.f first into Fortran 90 and then into Julia. Regards, Bill. On Tuesday, March 25, 2014 4:45:50 AM UTC+11, Santi Ponte wrote: > > 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
[julia-users] Re: Gauss quadrature package
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 >>> >>>