GSoC 2017: Native Julia Implementations of Iterative Solvers for Numerical Linear Algebra
This article details the outcomes of a Google Summer of Code (GSoC) 2017 project focused on implementing iterative solvers for numerical linear algebra natively in the Julia programming language. The primary achievement is the development of JacobiDavidson.jl, a package designed to compute approximate solutions for large, sparse generalized eigenvalue problems using the Jacobi-Davidson method. To support this, significant improvements were made to IterativeSolvers.jl, enhancing the speed and memory efficiency of algorithms like GMRES and CG, while adding new methods such as MINRES and BiCGStab(l). Additionally, the project addressed the need for effective preconditioners by creating ILU.jl, which implements incomplete LU factorization for sparse matrices based on established academic research. These tools aim to provide robust, high-performance alternatives for solving complex linear systems and eigenvalue problems within the Julia ecosystem. The packages are reported as ready for use, with ongoing work focused on optimizing Hermitian problem handling and merging function interfaces. This contribution significantly expands Julia's capabilities in scientific computing and numerical analysis.
Wire timeline
GSoC 2017: Native Julia Implementations of Iterative Solvers for Numerical Linear Algebra
This article details the outcomes of a Google Summer of Code (GSoC) 2017 project focused on implementing iterative solvers for numerical linear algebra natively in the Julia programming language. The primary achievement is the development of JacobiDavidson.jl, a package designed to compute approximate solutions for large, sparse generalized eigenvalue problems using the Jacobi-Davidson method. To support this, significant improvements were made to IterativeSolvers.jl, enhancing the speed and memory efficiency of algorithms like GMRES and CG, while adding new methods such as MINRES and BiCGStab(l). Additionally, the project addressed the need for effective preconditioners by creating ILU.jl, which implements incomplete LU factorization for sparse matrices based on established academic research. These tools aim to provide robust, high-performance alternatives for solving complex linear systems and eigenvalue problems within the Julia ecosystem. The packages are reported as ready for use, with ongoing work focused on optimizing Hermitian problem handling and merging function interfaces. This contribution significantly expands Julia's capabilities in scientific computing and numerical analysis.
JuliaLang - The Julia programming language