Uni20
Asynchronous tensor and runtime library.
Loading...
Searching...
No Matches
Public Attributes | List of all members
uni20::krylov::GmresRefinementContext< WorkingSpace, InnerSpace, ResidualSpace, InnerOp, ResidualOp, Preconditioner, Transfer > Struct Template Reference

Bind precision roles and application operations for GMRES refinement. More...

#include <gmres_refinement.hpp>

Public Attributes

InnerSpace inner
 
InnerOp & inner_operator
 
Preconditioner & preconditioner
 
ResidualSpace residual
 
ResidualOp & residual_operator
 
Transfer & transfer
 
WorkingSpace working
 

Detailed Description

template<class WorkingSpace, class InnerSpace, class ResidualSpace, class InnerOp, class ResidualOp, class Preconditioner, class Transfer>
struct uni20::krylov::GmresRefinementContext< WorkingSpace, InnerSpace, ResidualSpace, InnerOp, ResidualOp, Preconditioner, Transfer >

Bind precision roles and application operations for GMRES refinement.

Spaces carry working/update, inner-GMRES and residual precision. Operators must represent the same original problem, evaluated at their declared arithmetic precisions. The fixed preconditioner acts in the inner space; its setup/storage/application precision belongs to its implementation and can differ from the inner arithmetic. Transfer is called as transfer(output, input, destination_precision) and must preserve vector-space metadata while converting values. It must support working-to-residual, residual-to-inner, inner-to-residual, residual-to-working, and residual-to-residual. All callbacks are borrowed; no hidden thread-local precision is set. Spaces own their prototype descriptors; any underlying payload and allocation contexts must remain valid through the solve.

Member Data Documentation

◆ inner

template<class WorkingSpace , class InnerSpace , class ResidualSpace , class InnerOp , class ResidualOp , class Preconditioner , class Transfer >
InnerSpace uni20::krylov::GmresRefinementContext< WorkingSpace, InnerSpace, ResidualSpace, InnerOp, ResidualOp, Preconditioner, Transfer >::inner

◆ inner_operator

template<class WorkingSpace , class InnerSpace , class ResidualSpace , class InnerOp , class ResidualOp , class Preconditioner , class Transfer >
InnerOp& uni20::krylov::GmresRefinementContext< WorkingSpace, InnerSpace, ResidualSpace, InnerOp, ResidualOp, Preconditioner, Transfer >::inner_operator

◆ preconditioner

template<class WorkingSpace , class InnerSpace , class ResidualSpace , class InnerOp , class ResidualOp , class Preconditioner , class Transfer >
Preconditioner& uni20::krylov::GmresRefinementContext< WorkingSpace, InnerSpace, ResidualSpace, InnerOp, ResidualOp, Preconditioner, Transfer >::preconditioner

◆ residual

template<class WorkingSpace , class InnerSpace , class ResidualSpace , class InnerOp , class ResidualOp , class Preconditioner , class Transfer >
ResidualSpace uni20::krylov::GmresRefinementContext< WorkingSpace, InnerSpace, ResidualSpace, InnerOp, ResidualOp, Preconditioner, Transfer >::residual

◆ residual_operator

template<class WorkingSpace , class InnerSpace , class ResidualSpace , class InnerOp , class ResidualOp , class Preconditioner , class Transfer >
ResidualOp& uni20::krylov::GmresRefinementContext< WorkingSpace, InnerSpace, ResidualSpace, InnerOp, ResidualOp, Preconditioner, Transfer >::residual_operator

◆ transfer

template<class WorkingSpace , class InnerSpace , class ResidualSpace , class InnerOp , class ResidualOp , class Preconditioner , class Transfer >
Transfer& uni20::krylov::GmresRefinementContext< WorkingSpace, InnerSpace, ResidualSpace, InnerOp, ResidualOp, Preconditioner, Transfer >::transfer

◆ working

template<class WorkingSpace , class InnerSpace , class ResidualSpace , class InnerOp , class ResidualOp , class Preconditioner , class Transfer >
WorkingSpace uni20::krylov::GmresRefinementContext< WorkingSpace, InnerSpace, ResidualSpace, InnerOp, ResidualOp, Preconditioner, Transfer >::working

The documentation for this struct was generated from the following file: