![]() |
ScalES-PPM
|
generic solve function and multi-precision iterative refinement More...
Data Types | |
interface | solve |
general solve function to solve Ax = b in single/double precision More... | |
Functions/Subroutines | |
integer function | iter_refinement (a_dp, a_sp, b, x, ext_x, exchange_sp, tol_opt, maxiter_opt) |
multi-precision iterative refinement | |
integer function | solve_sp (a, b, x, ext_x, exchange, tol_opt, maxiter_opt) |
integer function | solve_dp (a, b, x, ext_x, exchange, tol_opt, maxiter_opt) |
generic solve function and multi-precision iterative refinement
integer function solver_all::iter_refinement | ( | external subroutine(real(dp), dimension(:,:), intent(in) field, real(dp), dimension(:,:), intent(out) res_field) | a_dp, |
external subroutine(real(sp), dimension(:,:), intent(in) field, real(sp), dimension(:,:), intent(out) res_field) | a_sp, | ||
real(dp), dimension(:,:), intent(in) | b, | ||
real(dp), dimension(:,:), intent(inout) | x, | ||
type(extent), dimension(:), intent(in) | ext_x, | ||
external subroutine(real(sp), dimension(:,:), intent(inout) a0, character (len=*), intent(in), optional text) | exchange_sp, | ||
real(dp), intent(in), optional | tol_opt, | ||
integer, intent(in), optional | maxiter_opt ) |
multi-precision iterative refinement
[in] | A_dp | linear operator like matrix multiplication in double precision |
[in] | A_sp | linear operator like matrix multiplication in single precision |
[in] | b | right hand side in double precision |
[in,out] | x | start vector in double precision, hold solution in the end |
[in] | ext_x | extent of x |
[in] | exchange_sp | single precision boundary exchange function |
[in] | tol_opt | optional stopping tolerance for relative residual |
[in] | maxiter_opt | optional maximum number of iterations |
Das diesem Bericht zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung, und Forschung unter dem Förderkennzeichen 01IH08004E gefördert. Die Verantwortung für den Inhalt dieser Veröffentlichung liegt beim Autor.