1. Blok Krylov metotlarının yüksek başarımlı uygulanması.
- Author
-
Dınler, Ali and Oruçoğlu, Kamil
- Subjects
- *
LINEAR systems , *SYSTEMS theory , *ENGINEERING , *MATRICES (Mathematics) , *VECTOR analysis , *NAVIER-Stokes equations , *SYMMETRIC matrices , *SYMMETRIC functions , *NUMERICAL analysis - Abstract
Multiple large linear systems with a same coefficient matrix but different right-hand side vectors arise in several problems of engineering such as in solution of Navier-Stokes equations in different directions (Dinler, 2007). Moreover, seeking an optimum or a special solution of a multi-dimensional PDE with a parameter-dependent moving source term or changing force term, or variable boundary conditions requires repeated solution of this PDE with changing values of the parameter. In that case, we need to solve multiple large linear systems with a same coefficient matrix but different right-hand side vectors. To solve these large block linear systems efficiently, block Krylov subspace methods (in short block Kylov methods) are an important tool. Krylov subspace methods are projection methods that search the solution of a linear system iteratively in the Krylov subspace. Comparing with direct methods such as Gauss elimination or LU decomposition, direct methods are prohibitive to solve large linear systems however Krylov subspace methods are efficient. Moreover in several engineering problems, block Krylov methods are an important tool for solution of large linear systems with multiple right hand sides. In addition to that, block methods reduce memory-access cost and increase efficient data reuse because they allow multiple matrixvector products with less memory access. However, their robustness problem and preconditioning are difficult to handle. So, to come up with a robust implementation of block Krylov methods, we initiated BIM++ (Block Iterative Methods) project, which is devoted to research and development of block Krylov methods to make them easier to use. BIM++ package is a high performance implementation of block Krylov methods written in C/C++ under GPL license, for solution of both symmetric and nonsymmetrical large linear systems with multiple right hand sides. In addition to this BIM++ includes important non-block Krylov methods such as CG (conjugate gradient), BICGSTAB (bi-conjugate gradient stabilized), GMRES (generalized minimal residual) and GMRES(m) (GMRES restarted). While developing BIM++, we stick to "keep-it-easy rule" and put performance first. Easy-to-use and easy-to-install are also important. While developing BIM++, our goals are 1) creating an environment for easy implementation and easy development of advanced numerical linear algebra algorithms, 2) creating a high performance and user friendly package, 3) enable to utilize C++ technologies, 4) enable to programming Krylov methods shorter and more readable, 5) enable to use block Krylov methods handy, 6) creating reusable, portable and easily upgradeable package, 7) enable to use BIM++ in Windows PCs, 8) creating a clear documentation and a webpage. To achieve these goals, we borrowed many good ideas from LAPACK++ and IML++.… [ABSTRACT FROM AUTHOR]
- Published
- 2009