## 7 Algorithms for HPC Systems in the Exascale Era
### Parallel Solvers for Exascale Computing
#### 7.2.1 \"Implicit-Explicit\" and \"Parallel in Time\"  
Solvers  
Different problem components frequently develop on various temporal scales. Thus, in real-world applications, it is frequently not possible to integrate PDE discretizations in time efficiently using a single time-stepping technique. By utilizing the benefits of several strategies and mitigating the drawbacks of employing a single set strategy, partitioned methods get around these challenges. A class of partitioned time integration methods called implicit-explicit (IMEX) methods, commonly referred to as semi-implicit schemes, expand explicit and implicit schemes that accommodate variable redundant calculations in favor of more scalable algorithms. Proposed IMEX methods are based on an approach that uses extrapolation methods [167] for the solution of ODE [168; 169]. Extrapolation techniques are a subset of numerical analysis that are associated with convergence acceleration techniques, the application of which has been researched and used in numerous contexts for many years. Sequences and series are frequently dealt with in numerical analysis, applied mathematics, and engineering. They are created using approximation techniques based on parameters,iterative processes, and so on. In actuality, certain series or sequences frequently converge so slowly that it seriously hinders their usefulness. In such a context, extrapolation methods can play a role. In the specific context of the ODE solution, extrapolation methods can help to improve the rate of convergence of a _\"time integrator\"_ method. The extrapolation method for ordinary differential equations: The aim is to compute an approximated solution to the the following ODE problem  
\[\dot{u}(t)=F(t,u(t)) \tag{181}\]  
where \(u(t_{0})=u_{0}\), \(u(t)\in\Re^{d}\) and where \(t\in\Theta=[t_{0}\ t_{n}]\). As described in Section 6.1.2 about the Time Integration Algorithms, to compute an approximation of the solution in the considered time domain \(\Theta\), a discretization \(\Theta_{N_{n}}\) of \(\Theta\) should be considered. For this purpose, consider \(\Theta_{N_{n}}\) as the set made up of the \(N_{n}+1\) equally spaced points \(\{t_{k}\}_{k=0,\ldots,N_{n}}\) where \(t_{k}=t_{0}+\Delta_{n}*k,k=1,\ldots,\ N_{n}\) and where \(\Delta_{n}=\frac{t_{n}}{N_{n}}\). The approximation \(u_{\Delta_{n}}\) in \(\Theta_{N_{n}}\) is constructed recursively with the operator \(\Psi^{k,k-1}_{\Delta_{n}}\) (a so-called \"one step method\") with step size \(\Delta_{n}\) and order of accuracy \(p\). The rate at which a numerical approximation of a differential equation converges to the actual solution is measured in numerical analysis by the order of accuracy. Consider a differential equation's exact solution, \(u\), and its numerical approximation, \(u_{h}\), where \(h\) is a parameter that describes the approximation, and the numerical solution \(u_{h}\) is said to be pth-order accurate if the error \(E(h):=\|u-u_{h}\|\) is limited above by a value proportional to \(h\) to the pth power:  
\[E(h):=\|u-u_{h}\|\leq Ch^{p} \tag{182}\] \[u_{\Delta_{n}}(t_{0}) = u_{0},\] \[u_{\Delta_{n}}(t_{k}) = \Psi^{k,k-1}_{\Delta_{n}}u_{\Delta_{n}}(t_{k-1}). \tag{183}\]  
Let \(\left\{\eta_{j}\right\}_{j=1,\ldots,M}\) be a set of positive integers representing a sequence such that \(n<n_{j}<n_{j+1}\), and let  
\[T_{1,j}=\prod_{k=1}^{I}\Psi^{k,k-1}_{\Delta_{n_{j}}}u_{\Delta_{n_{j}}}(t_{0}),\ 0<l\leq n_{j}. \tag{184}\]  
Given the \(M\) couples \(\left(\Delta_{n_{j}},T_{n_{j},j}\right)\) and an integer value \(\omega\geq 1\), there exists a unique polynomial \(\pi\in\Pi\) where  
\[\Pi=\left\{\Delta\mapsto a_{0}+\sum_{l=0}^{M-1}a_{p+l}\Delta^{p+\omega l}:\ a_{l}\in\Re^{d}\right\},\]  
such that interpolates all the above \(M\) couples, that is, \(\tau\left(\Delta_{n_{j}}\right)=T_{n_{j},j}\), \(\forall j=1,\ldots,M\)[169]. The value \(T_{n,0}=u_{\Delta_{n}}(t_{n})\) can then be obtained by evaluating \(\pi\) in \(0\), that is, \(T_{n,0}=\pi(0)\).