1 Introduction

In recent years, fractional differential equations have attracted more and more researchers’ attention, since they have inherent advantages to describe the various processes and phenomenon with memory and hereditary properties [1, 2]. Fractional sub-diffusion equation is one of the most typical equations and it is often used to model the viscoelastic anomalous diffusion in disordered media [3], nanoprecipitate growth in solid solutions [4], diffusion process in magnetic resonance imaging [5], and so on. Because of the nonlocal properties, the sub-diffusion equations are more complicated than the classical integer-order differential equations, and it is usually difficult to obtain the analytic solutions of the sub-diffusion equations. Various numerical schemes for such equations are emerging [6,7,8].

The waveform relaxation (WR) method, as an iterative method for time-dependent equations, produces a series of functions with respect to the time variable, to approximate the solution of the equations. The WR method is firstly proposed for the simulation of large circuits [9], and it is able to decouple a complicated large system into a series of weakly coupled small sub-systems, which can be solved simultaneously. It has been proved in [10, 11] that the WR method has superlinear convergence for general nonlinear ordinary differential equations (ODEs) on bounded domain, and is of linear convergence for linear ODEs on unbounded domain. The WR method has been widely used to solve differential algebra equations (DAEs) [12, 13], integral-differential-algebraic equations (IDAEs) [14], and delay-differential equations (DDEs) [15]. To apply the WR method to partial differential equations (PDEs), one popular method is to decompose spatial domain into several sub-domains, and solve a set of systems on sub-domains, which is also called Schwarz WR method [16,17,18]. Moreover, we have also proposed a kind of WR method for reaction diffusion equations [19], in which we preserve the diffusion term and relax the nonlinear reaction term. This kind of WR method converges quickly, and can also be implemented in parallel.

The WR method is also an alternative method for fractional differential equations. In ref. [20], the WR method is used to solve linear and nonlinear time-fractional ODEs, and proper convergent splitting is constructed. Then, the WR method is extended to handle fractional DDEs [21] and DAEs [22]. In ref. [23], a multigrid WR method is proposed for the time-fractional heat equation, and a fast computing technique is also supplied, based on the Toeplitz-like structure of the coefficient matrix. Furthermore, Schwarz WR methods for fractional PDEs are also reported recently [24, 25]. In this paper, we apply the WR method to a kind of fractional sub-diffusion equation with a nonlinear reaction term at the PDE level, which produces a series of linear time-fractional PDEs. The WR method has the same advantages as that for integer-order PDEs in [19], but the convergence is totally different, which is dependent on the order of the fractional derivative, see Theorem 2.1 for details. In order to accelerate the convergence, a windowing technique is combined, and the corresponding discrete windowing WR method is discussed.

The outline of the paper is as follows. In Section 2, we propose the new WR method for a kind of semi-linear fractional sub-diffusion equations, and analyze the convergence. Combing the windowing technique, we introduce the windowing WR method in Section 3. In Section 4, the discrete windowing WR method is constructed, and the convergence and the parallelism are presented, then the fast evaluation formula for the windowing WR method is provided. In Section 5, two numerical experiments are given to verify the effectiveness of the theoretic results. Finally, conclusions are attached in the last section.

2 Waveform relaxation method and convergence

We consider the following fractional-order initial value problem satisfying homogeneous boundary conditions

$$ \left\{ \begin{array}{lll} & {{~}_{0}^{C}\!\mathcal {D}_{t}^{\alpha}} u(x,t) = K u_{xx}(x,t) + f(x,t,u(x,t)), \quad 0<x<L, \quad 0<t<T, \\ & u(x,0) = \varphi(x), \quad 0 \leq x \leq L, \\ & u(0,t)=u(L,t)=0, \quad 0 \leq t \leq T, \end{array} \right. $$
(1)

where the positive constant K is the transport-related coefficient, f(x, t, u(x, t)) is a given nonlinear source/sink term, φ(x) is a prescribed initial value, and \({{~}_{0}^{C}\!\mathcal {D}_{t}^{\alpha }} u(x,t)\) is the Caputo fractional derivative of order α (0 < α < 1) defined by [1]

$$ {{~}_{0}^{C}\!\mathcal {D}_{t}^{\alpha}} u(x,t) := \frac{1}{\Gamma(1-\alpha)} {{\int}_{0}^{t}}\frac{\partial u(x,s)}{\partial s}\frac{ds}{(t-s)^{\alpha}}, $$
(2)

where Γ(⋅) denotes the Gamma function. It can be seen that system (1) involves a nonlinear fractional sub-diffusion equation.

2.1 Construction of the WR method

A typical iterative scheme of the WR method for system (1) is

$$ \left\{ \begin{array}{lll} & {{~}_{0}^{C}\!\mathcal {D}_{t}^{\alpha}} u^{(k+1)}(x,t) = K u_{xx}^{(k+1)}(x,t) + F(x,t,u^{(k+1)}(x,t),u^{(k)}(x,t)), \quad 0\!<\!x\!<\!L, \quad 0\!<\!t\!<\!T, \\ & u^{(k+1)}(x,0) = \varphi(x), \quad 0 \leq x \leq L, \\ & u^{(k+1)}(0,t)=u^{(k+1)}(L,t)=0, \quad 0 \leq t \leq T, \end{array} \right. $$

for k = 0,1,…, where the splitting function F(x, t, u(x, t), v(x, t)) determines the type of WR algorithm, and it always satisfies F(x, t, u(x, t), u(x, t)) = f(x, t, u(x, t)). In this paper, we choose F(x, t, u(k+ 1)(x, t), u(k)(x, t)) = f(x, t, u(k)(x, t)) for simplicity, i.e., the iterative scheme can be written as

$$ \left\{ \begin{array}{lll} & {{~}_{0}^{C}\!\mathcal {D}_{t}^{\alpha}} u^{(k+1)}(x,t) = K u_{xx}^{(k+1)}(x,t) + f(x,t,u^{(k)}(x,t)), \quad 0\!<\!x\!<\!L, \quad 0\!<\!t\!<\!T, \\ & u^{(k+1)}(x,0) = \varphi(x), \quad 0 \leq x \leq L, \\ & u^{(k+1)}(0,t)=u^{(k+1)}(L,t)=0, \quad 0 \leq t \leq T, \end{array} \right. $$
(3)

for k = 0,1,…. The initial guess of the iterations is often chosen as u(0)(x, t) ≡ φ(x), for 0 ≤ tT. The special WR algorithm (3) is also called Picard relaxation algorithm. We can see that WR algorithm (3) leads to a series of linear systems.

For any fixed iteration index k, by the separation of variables, the solution of system (3) has the form

$$ u^{(k)}(x,t) = \sum\limits_{n=1}^{\infty} a_{n}^{(k)}(t) \sin\frac{n \pi x}{L}, \quad (x,t)\in[0,L]\times[0,T], $$
(4)

where the coefficients \(a_{n}^{(k)}\), for n = 1,2,…, are to be determined. We further suppose

$$ f(x,t,u^{(k)}(x,t)) = \sum\limits_{n=1}^{\infty} f_{n}(t) \sin\frac{n \pi x}{L}, \quad \varphi(x) = \sum\limits_{n=1}^{\infty} \varphi_{n} \sin\frac{n \pi x}{L}, $$
(5)

with

$$ f_{n}(t) = \frac{2}{L} {{\int}_{0}^{L}}f(x,t,u^{(k)}(x,t)) \sin\frac{n \pi x}{L} dx, \quad \varphi_{n} = \frac{2}{L} {{\int}_{0}^{L}}\varphi(x) \sin\frac{n \pi x}{L} dx. $$

Substituting expressions (4) and (5) into system (3), we have

$$ \left\{ \begin{array}{lll} & \sum\limits_{n=1}^{\infty} \left[{{~}_{0}^{C}\!\mathcal {D}_{t}^{\alpha}} a_{n}^{(k+1)}(t) + K\left( \frac{n \pi}{L}\right)^{2} a_{n}^{(k+1)}(t) \right]\sin\frac{n \pi x}{L} = \sum\limits_{n=1}^{\infty} f_{n}(t) \sin\frac{n \pi x}{L}, \\ & \sum\limits_{n=1}^{\infty} a_{n}^{(k+1)}(0) \sin\frac{n \pi x}{L} = \sum\limits_{n=1}^{\infty} \varphi_{n} \sin\frac{n \pi x}{L}. \end{array} \right. $$

Comparing the coefficients of the basis functions \(\{ \sin \limits \frac {n \pi x}{L} \}_{n=1}^{\infty }\), we can obtain

$$ \left\{ \begin{array}{lll} & {{~}_{0}^{C}\!\mathcal {D}_{t}^{\alpha}} a_{n}^{(k+1)}(t) + K\left( \frac{n \pi}{L}\right)^{2} a_{n}^{(k+1)}(t) = f_{n}(t) , \\ & a_{n}^{(k+1)}(0) = \varphi_{n}. \end{array} \right. $$
(6)

According to Theorem 5.15 of ref. [26], we get the solution of (6)

$$ \begin{array}{lll} a_{n}^{(k+1)}(t) = &~ \varphi_{n} E_{\alpha} \left[-K\left( \frac{n \pi}{L}\right)^{2} t^{\alpha} \right] \\ & + {{\int}_{0}^{t}} (t - s)^{\alpha-1} E_{\alpha,\alpha} \left[-K\left( \frac{n \pi}{L}\right)^{2} (t - s)^{\alpha} \right] \frac{2}{L}{{\int}_{0}^{L}}f(\xi,s,u^{(k)}(\xi,s))\sin\frac{n \pi \xi}{L} d\xi ds, \end{array} $$

where Eα(z) is the Mittag-Leffler function, defined by [26]

$$ E_{\alpha,\upbeta}(z):= \sum\limits_{i=0}^{\infty} \frac{z^{i}}{\Gamma(i\alpha+\upbeta)}, \quad (\alpha,\upbeta \in \mathbb{C}, \ \mathfrak{R}(\alpha)>0), $$

and

$$ E_{\alpha}(z)=E_{\alpha,1}(z)= \sum\limits_{i=0}^{\infty} \frac{z^{i}}{\Gamma(i\alpha+1)}. $$

Then, the solution of system (3) has the form

$$ \begin{array}{lll} & u^{(k+1)}(x,t) = \sum\limits_{n=1}^{\infty} a_{n}^{(k+1)}(t) \sin\frac{n \pi x}{L} \\ =& \frac{2}{L} \sum\limits_{n=1}^{\infty}{{\int}_{0}^{L}}\varphi(x) \sin\frac{n \pi x}{L} dx E_{\alpha} \left[-K\left( \frac{n \pi}{L}\right)^{2} t^{\alpha} \right]\sin\frac{n \pi x}{L} \\ +& {{\int}_{0}^{t}} \left( \sum\limits_{n=1}^{\infty}\frac{2}{L}{{\int}_{0}^{L}}f(\xi,s,u^{(k)}(\xi,s))\sin\frac{n \pi \xi}{L} d\xi (t-s)^{\alpha-1} \right.\\\times&\left. E_{\alpha,\alpha}\left[-K\left( \frac{n \pi}{L}\right)^{2} (t-s)^{\alpha} \right] \sin\frac{n \pi x}{L}\right) ds. \end{array} $$
(7)

Denote

$$ \begin{array}{lll} a_{n}(t) :=& \frac{2}{L} {{\int}_{0}^{L}}\varphi(x) \sin\frac{n \pi x}{L} dx E_{\alpha} \left[-K\left( \frac{n \pi}{L}\right)^{2} t^{\alpha} \right] \\ & + {{\int}_{0}^{t}} (t-s)^{\alpha-1} E_{\alpha,\alpha} \left[-K\left( \frac{n \pi}{L}\right)^{2} (t-s)^{\alpha} \right] \frac{2}{L}{{\int}_{0}^{L}}f(\xi,s,u(\xi,s))\\&\sin\frac{n \pi \xi}{L} d\xi ds, \end{array} $$

we can verify that the function \(\sum \limits _{n=1}^{\infty }a_{n}(t)\sin \limits \frac {n\pi x}{L}\) satisfies system (1).

2.2 Convergence analysis

In this part, we present the convergence of the iterative sequence by WR algorithm (3). Before that, we still need a preliminary definition and lemmata as follows.

For \(\varphi (t)\in C([0,T],\mathbb {R})\), we define an operator

$$ (\mathcal {A}\varphi)(t) = {{\int}_{0}^{t}} \lambda(t-s)^{\alpha-1} \varphi(s) ds, $$
(8)

where λ is s positive constant. Then, we have

Lemma 2.1

For any positive integer k,

$$ |(\mathcal {A}^{k} \varphi)(t)| \leq \frac{(\lambda {\Gamma}(\alpha) t^{\alpha})^{k}}{\Gamma(k\alpha+1)} \max_{0\leq s \leq t}|\varphi(s)|, \quad t\in[0,T], $$
(9)

where \((\mathcal {A}^{k} \varphi )(t) = (\mathcal {A}(\mathcal {A}^{k-1} \varphi ))(t)\).

Proof

We prove the result by induction. For k = 1, we have

$$ \begin{array}{@{}rcl@{}} |(\mathcal {A} \varphi)(t)| &\leq& {{\int}_{0}^{t}} \lambda(t-s)^{\alpha-1}ds \max_{0\leq s \leq t} |\varphi(s)| = \frac{\lambda t^{\alpha}}{\alpha} \max_{0\leq s \leq t}|\varphi(s)| \\&=& \frac{\lambda {\Gamma}(\alpha) t^{\alpha}}{\Gamma(\alpha+1)} \max_{0\leq s \leq t}|\varphi(s)|. \end{array} $$

Suppose that inequality (9) holds for any fixed index k, then

$$ \begin{array}{lll} |(\mathcal {A}^{k+1} \varphi)(t)| & \leq {{\int}_{0}^{t}} \lambda(t-s)^{\alpha-1} |(\mathcal {A}^{k} \varphi)(s)| ds \\&\leq \lambda {{\int}_{0}^{t}} (t-s)^{\alpha-1} \frac{(\lambda {\Gamma}(\alpha) s^{\alpha})^{k}}{\Gamma(k\alpha+1)} ds \max_{0\leq s \leq t}|\varphi(s)| \\ & = \frac{\lambda^{k+1} {\Gamma}^{k}(\alpha) t^{(k+1)\alpha}}{\Gamma(k\alpha+1)} B(\alpha, k\alpha+1) \max_{0\leq s \leq t}|\varphi(s)| \\ & = \frac{\lambda^{k+1} {\Gamma}^{k}(\alpha) t^{(k+1)\alpha}}{\Gamma(k\alpha+1)} \frac{\Gamma(\alpha){\Gamma}(k\alpha+1)}{\Gamma(k\alpha+\alpha+1)} \max_{0\leq s \leq t}|\varphi(s)|\\ & = \frac{(\lambda {\Gamma}(\alpha) t^{\alpha})^{k+1}}{\Gamma((k+1)\alpha+1)} \max_{0\leq s \leq t}|\varphi(s)|, \end{array} $$

where B(⋅,⋅) denotes the Beta function. The conclusion results. □

Lemma 2.2

For any t ∈ [0, T], α ∈ (0,1), and λ > 0, the series

$$ \sum\limits_{n=1}^{\infty}E_{\alpha,\alpha} (-\lambda n^{2} t^{\alpha}) $$

converges.

Proof

Since function Eα, α(−λn2tα) is completely monotonous with respect to n [27], for any λ, t > 0, the series \({\sum }_{n=1}^{\infty }E_{\alpha ,\alpha } (-\lambda n^{2} t^{\alpha })\) has the same convergence as the integration \({\int \limits }_{1}^{\infty } E_{\alpha ,\alpha } (-\lambda t^{\alpha } x^{2})dx\).

To evaluate the integration, we consider \({{\int \limits }_{1}^{y}} E_{\alpha ,\alpha } (-\lambda t^{\alpha } x^{2})dx\) for y ≥ 1, then we have

$$ \begin{array}{lll} {{\int}_{1}^{y}}E_{\alpha,\alpha} (-\lambda t^{\alpha} x^{2})dx \leq & {{\int}_{1}^{y}}E_{\alpha,\alpha} (-\lambda t^{\alpha} x)dx = {{\int}_{1}^{y}}\sum\limits_{i=0}^{\infty}\frac{(-\lambda t^{\alpha})^{i} x^{i}}{\Gamma(i\alpha+\alpha)}dx \\ = & \sum\limits_{i=0}^{\infty}\frac{(-\lambda t^{\alpha})^{i} (y^{i+1}-1)}{(i+1){\Gamma}(i\alpha+\alpha)} = \sum\limits_{i=1}^{\infty}\frac{\alpha(-\lambda t^{\alpha})^{i} (y^{i}-1)}{(-\lambda t^{\alpha})i\alpha{\Gamma}(i\alpha)} \\ = & \frac{\alpha}{-\lambda t^{\alpha}}\sum\limits_{i=0}^{\infty}\frac{(-\lambda t^{\alpha})^{i} (y^{i} - 1)}{\Gamma(i\alpha+1)} = \frac{\alpha}{\lambda t^{\alpha}}[E_{\alpha}(-\lambda t^{\alpha}) - E_{\alpha}(-\lambda t^{\alpha} y)]. \end{array} $$

For any y ≥ 1, Eα(−λtαy) converges, and then \({\int \limits }_{1}^{\infty } E_{\alpha ,\alpha } (-\lambda t^{\alpha } x^{2})dx\) converges. The conclusion results. □

The convergence of the WR algorithm (3) can be found in the following theorem.

Theorem 2.1

If the nonlinear function f(x, t, u) has a continuous first-order derivative with respect to u, then the iterative sequence of functions {u(k)(x, t)} for k = 1,2,…, generated by the WR algorithm (3) converges to the true solution u(x, t) of system (1), and satisfies

$$ \max_{0\leq x \leq l, 0 \leq t \leq T}|u^{(k)}(x,t)-u(x,t)| \leq \frac{(\bar{M} {\Gamma}(\alpha) T^{\alpha})^{k}}{\Gamma(k\alpha+1)} \max_{0\leq x \leq l, 0 \leq t \leq T}|u^{(0)}(x,t)-u(x,t)|, $$
(10)

where \(\bar {M}\) is a positive constant.

Proof

We define ε(k)(x, t) = u(k)(x, t) − u(x, t), 0 ≤ xL, 0 ≤ tT, which satisfies

$$ \left\{ \begin{array}{lll} & {{~}_{0}^{C}\!\mathcal {D}_{t}^{\alpha}} \varepsilon^{(k+1)}(x,t) = K \varepsilon_{xx}^{(k+1)}(x,t) + f(x,t,u^{(k)}(x,t)) - f(x,t,u(x,t)),\! \quad 0\!<\!x\!<\!L,\! \quad 0\!<\!t\!<\!T, \\ & \varepsilon^{(k+1)}(x,0) = 0, \quad 0 \leq x \leq L, \\ & \varepsilon^{(k+1)}(0,t)=\varepsilon^{(k+1)}(L,t)=0, \quad 0 \leq t \leq T, \end{array} \right. $$
(11)

By the separation of variables, the solution of system (11) is

$$ \begin{array}{lll} \varepsilon^{(k+1)}(x,t) = & {{\int}_{0}^{t}} \left( \sum\limits_{n=1}^{\infty}\frac{2}{L}{{\int}_{0}^{L}}[f(\xi,s,u^{(k)}(\xi,s))-f(\xi,s,u(\xi,s))]\sin\frac{n \pi \xi}{L} d\xi \right.\\ & \quad \left.\times (t-s)^{\alpha-1} E_{\alpha,\alpha} \left[-K\left( \frac{n \pi}{L}\right)^{2} (t-s)^{\alpha} \right] \sin\frac{n \pi x}{L}\right) ds \\ = & {{\int}_{0}^{t}} \left( \sum\limits_{n=1}^{\infty}\frac{2}{L}{{\int}_{0}^{L}}f'(\xi,s,u_{\ast}^{(k)}(\xi,s)) \varepsilon^{(k)}(\xi,s) \sin\frac{n \pi \xi}{L} d\xi \right.\\ & \quad \left.\times (t-s)^{\alpha-1} E_{\alpha,\alpha} \left[-K\left( \frac{n \pi}{L}\right)^{2} (t-s)^{\alpha} \right] \sin\frac{n \pi x}{L}\right) ds. \end{array} $$

where \(u_{\ast }^{(k)} \in [\min \limits (u^{(k)}(x,t),u(x,t)), \max \limits (u^{(k)}(x,t),u(x,t))]\).

We notice that for any 0 ≤ stT,

$$ \begin{array}{@{}rcl@{}} &&\sum\limits_{n=1}^{\infty}\frac{2}{L}{{\int}_{0}^{L}}f^{\prime}(\xi,s,u^{(i)}_{\ast}(\xi,s))\varepsilon^{(i)}(\xi,s) \sin\frac{n\pi\xi}{L}d\xi \sin\frac{n\pi x}{L}\\&&=f^{\prime}(x,s,u^{(i)}_{\ast}(x,s))\varepsilon^{(i)}(x,s), \end{array} $$
(12)

and the function \(E_{\alpha ,\alpha } \left [-K\left (\frac {n \pi }{L}\right )^{2} (t-s)^{\alpha } \right ]\) is bounded and monotonous with respect to n [27]. According to Abel’s test for uniform convergence, the series of functions

$$ \sum\limits_{n=1}^{\infty}\frac{2}{L}{{\int}_{0}^{L}}f^{\prime}(\xi,s,u_{\ast}^{(k)}(\xi,s)) \varepsilon^{(k)}(\xi,s) \sin\frac{n \pi \xi}{L} d\xi E_{\alpha,\alpha} \left[\!-K\!\left( \frac{n \pi}{L}\right)^{2} (\mathit{t} - \mathit{s})^{\alpha}\! \right] \sin\frac{n \pi x}{L} $$

converges uniformly for x ∈ [0, l] and s ∈ [0, t]. Denote

$$ \begin{array}{@{}rcl@{}} \eta(x,t,s)&=&\sum\limits_{n=1}^{\infty}\frac{2}{L}{{\int}_{0}^{L}}f^{\prime}(\xi,s,u_{\ast}^{(k)}(\xi,s)) \varepsilon^{(k)}(\xi,s) \sin\frac{n \pi \xi}{L} d\xi \\&&\times E_{\alpha,\alpha} \left[-K\left( \frac{n \pi}{L}\right)^{2} (t-s)^{\alpha} \right] \sin\frac{n \pi x}{L}, \end{array} $$

then we have

$$ \varepsilon^{(k+1)}(x,t)={{\int}_{0}^{t}} (t-s)^{\alpha-1} \eta(x,t,s)ds. $$

For any fixed t ∈ (0, T], we suppose that there is a s0 ∈ (0, t), such that

$$ \min\limits_{s_{0}\leq s \leq t}\max\limits_{0\leq x \leq L}|f^{\prime}(\xi,s,u_{\ast}^{(i)}(x,s))\varepsilon^{(i)}(x,s)|>0, $$

and denote \(\varepsilon _{0}=\frac {1}{\Gamma (\alpha )}\min \limits _{s_{0}\leq s \leq t}\max \limits _{0\leq x \leq L}|f^{\prime }(\xi ,s,u_{\ast }^{(i)}(x,s))\varepsilon ^{(i)}(x,s)|\). From (12) we know that,

$$ \eta(x,t,t)=\frac{1}{\Gamma(\alpha)} f^{\prime}(x,t,u^{(i)}_{\ast}(x,t))\varepsilon^{(i)}(x,t), $$

so there exist a constant δ1 ∈ (0, t), such that for any s ∈ (tδ1, t),

$$ \left|\eta(x,t,s) - \frac{1}{\Gamma(\alpha)} f^{\prime}(x,t,u^{(i)}_{\ast}(x,t))\varepsilon^{(i)}(x,t)\right| < \frac{\varepsilon_{0}}{2}, $$

and there exist a constant δ2 ∈ (0, t), such that for any s ∈ (tδ2, t),

$$ \left|\frac{1}{\Gamma(\alpha)} f^{\prime}(x,s,u^{(i)}_{\ast}(x,s))\varepsilon^{(i)}(x,s) - \frac{1}{\Gamma(\alpha)} f^{\prime}(x,t,u^{(i)}_{\ast}(x,t))\varepsilon^{(i)}(x,t)\right| <\frac{\varepsilon_{0}}{2}. $$

Let \(s_{1}=\max \limits \{t-\delta _{1},t-\delta _{2},s_{0}\}\). For any s ∈ (s1, t), we have

$$ \begin{array}{lll} & \left|\eta(x,t,s)-\frac{1}{\Gamma(\alpha)}f^{\prime}(x,s,u^{(i)}_{\ast}(x,s))\varepsilon^{(i)}(x,s)\right| \\ \leq & \left|\eta(x,t,s)-\frac{1}{\Gamma(\alpha)}f^{\prime}(x,t,u^{(i)}_{\ast}(x,t))\varepsilon^{(i)}(x,t)\right| \\ & +\left|\frac{1}{\Gamma(\alpha)}f^{\prime}(x,s,u^{(i)}_{\ast}(x,s))\varepsilon^{(i)}(x,s) -\frac{1}{\Gamma(\alpha)}f^{\prime}(x,t,u^{(i)}_{\ast}(x,t))\varepsilon^{(i)}(x,t)\right| \\ \leq & \varepsilon_{0}. \end{array} $$

Therefore,

$$ |\eta(x,t,s)| \leq \frac{1}{\Gamma(\alpha)}|f^{\prime}(x,s,u^{(i)}_{\ast}(x,s))\varepsilon^{(i)}(x,s)| + \varepsilon_{0}, $$

and

$$ \begin{array}{lll} \max_{0\leq x \leq L}|\eta(x,t,s)| \leq & \frac{1}{\Gamma(\alpha)}\max_{0\leq x \leq L} |f^{\prime}(x,s,u^{(i)}_{\ast}(x,s))\varepsilon^{(i)}(x,s)|+\varepsilon_{0} \\ \leq & \frac{2}{\Gamma(\alpha)}\max_{0\leq x \leq L}|f^{\prime}(x,s,u^{(i)}_{\ast}(x,s))\varepsilon^{(i)}(x,s)| \\\leq& \frac{2M}{\Gamma(\alpha)}\max_{0\leq x \leq L}|\varepsilon^{(i)}(x,s)|, \end{array} $$
(13)

where M is a uniform upper bound of \(|f^{\prime }(x,t,u(x,t))|\), for 0 ≤ xL and 0 ≤ tT.

For s ∈ [0, s1], we consider the following series of functions,

$$ G(x,\xi,t-s) = \frac{2}{L}\sum\limits_{n=1}^{\infty} E_{\alpha,\alpha} \left[-K\left( \frac{n \pi}{L}\right)^{2} (t-s)^{\alpha} \right] \sin\frac{n \pi \xi}{L} \sin\frac{n \pi x}{L}. $$
(14)

For any x, ξ ∈ [0, L], we have

$$ \left| E_{\alpha,\alpha} \left[-K\left( \frac{n \pi}{L}\right)^{2} (t-s)^{\alpha} \right] \sin\frac{n \pi \xi}{L} \sin\frac{n \pi x}{L}\right| \leq E_{\alpha,\alpha} \left[-K\left( \frac{n \pi}{L}\right)^{2} (t-s)^{\alpha} \right]. $$

Together with Lemma 2.2, series of functions (14) is convergent uniformly for x, ξ ∈ [0, L], and 0 ≤ sts1. We denote by M1 an upper bound of the series of functions (14), then

$$ \eta(x,t,s)={{\int}_{0}^{L}} G(x,\xi,t-s)f^{\prime}(\xi,s,u_{\ast}^{(k)}(\xi,s)) \varepsilon^{(k)}(\xi,s)d\xi. $$

and

$$ \max_{0\leq x \leq L}|\eta(x,t,s)| \leq LM_{1}M\max_{0\leq x \leq L}|\varepsilon^{(k)}(x,s)|. $$
(15)

We choose \(\bar {M}=\max \limits \{\frac {2M}{\Gamma (\alpha )}, LM_{1}M\}\). By the inequalities (13) and (15), we obtain

$$ \max_{0\leq x \leq L}|\eta(x,t,s)| \leq \bar{M} \max_{0\leq x \leq L}|\varepsilon^{(k)}(x,s)|,\quad s\in [0,t], $$

and

$$ \begin{array}{@{}rcl@{}} \max_{0\leq x \leq L}|\varepsilon^{(k+1)}(x,t)| &\leq& {{\int}_{0}^{t}} (t-s)^{\alpha-1} \max_{0\leq x \leq L}|\eta(x,t,s)|ds \\&\leq& {{\int}_{0}^{t}} \bar{M}(t-s)^{\alpha-1} \max_{0\leq x \leq L}|\varepsilon^{(k)}(x,s)|ds. \end{array} $$

According to Lemma 2.1, we can obtain

$$ \max_{0\leq x \leq L}|\varepsilon^{(k)}(x,t)| \leq \frac{(\bar{M} {\Gamma}(\alpha) t^{\alpha})^{k}}{\Gamma(k\alpha+1)} \max_{0\leq x \leq L, 0\leq s \leq t}|\varepsilon^{(0)}(x,s)|, \quad t\in[0,T], $$

which leads to

$$ \max_{0\leq x \leq L, 0\leq t \leq T}|\varepsilon^{(k)}(x,t)| \leq \frac{(\bar{M} {\Gamma}(\alpha) T^{\alpha})^{k}}{\Gamma(k\alpha+1)} \max_{0\leq x \leq L, 0\leq t \leq T}|\varepsilon^{(0)}(x,t)|. $$

This completes the proof. □

Remark 1

For the convergence rate shown in estimation (10), we denote \(v_{k} = \frac {(\bar {M} {\Gamma }(\alpha ) T^{\alpha })^{k}}{\Gamma (k\alpha +1)}\). Then, we compute

$$ r=\lim_{k\rightarrow \infty} \frac{v_{k+1}}{v_{k}} = \bar{M} {\Gamma}(\alpha) T^{\alpha} \lim_{k\rightarrow \infty} \frac{\Gamma(k\alpha)}{\Gamma(k\alpha+\alpha)}. $$

Based on Stirling’s formula of the Gamma function, we get \(r\sim \mathcal {O}(k^{-\alpha })\), which means that WR algorithm (3) is convergent superlinearly to the true solution of system (1).

3 Windowing WR method

We can see from Theorem 2.1 that the upper bound of the WR iteration is related to the length of the time interval. Therefore, the windowing technique is a proper way to reduce the iteration error [28]. In this section, we combine the windowing technique with the WR method introduced in the last section to establish an improved WR method, say the windowing WR method.

3.1 Construction of the windowing WR method

For the fractional sub-diffusion equation (1), we first divide the time interval [0, T] into N windows, with

$$ 0 = T_{0} < T_{1} < {\ldots} < T_{N} = T. $$

We denote the i-th window by Ωi = [Ti, Ti+ 1], with the length Hi = Ti+ 1Ti, for i = 0,1,…, N − 1, and the maximum length of the windows is \(H=\max \limits _{0\leq i \leq N-1}\{H_{i}\}\).

We denote by \(u_{i}^{(k)}(x,t)\) the k-th waveform on the i-th window Ωi, for k = 0,1,…, ki, where ki is the maximum number of WR iterations on Ωi. Then, the windowing WR method for system (1) on Ωi is given by

$$ \left\{ \begin{array}{lll} & {{~}_{T_{i}}^{C}\!\mathcal {D}_{t}^{\alpha}} u_{i}^{(k+1)}(x,t) + \sum\limits_{j=0}^{i-1} \frac{1}{\Gamma(1-\alpha)}{\int}_{T_{j}}^{T_{j+1}}(t-s)^{-\alpha} \frac{\partial}{\partial s}u_{j}^{(k_{j})}(x,s)ds \\ & \qquad = K \frac{\partial^{2}}{\partial x^{2}}u_{i}^{(k+1)}(x,t) + f(x,t,u_{i}^{(k)}(x,t)), \quad 0<x<L, \quad T_{i}<t<T_{i+1}, \\ & u_{i}^{(k+1)}(x,T_{i}) = u_{i-1}^{(k_{i-1})}(x,T_{i}), \quad 0 \leq x \leq L, \\ & u_{i}^{(k+1)}(0,t)=u_{i}^{(k+1)}(L,t)=0, \quad T_{i} \leq t \leq T_{i+1}, \end{array} \right. $$
(16)

for k = 0,1,…, ki − 1, and i = 0,1,…, N − 1. We define \(u_{-1}^{(k_{-1})}(x,0)=\varphi (x)\) and choose \(u_{i}^{(0)}(x,t)\equiv u_{i-1}^{(k_{i-1})}(x,T_{i})\) as the initial guess on Ωi. We can observe that, when solving the waveforms \(u_{i}^{(k)}\) on Ωi, the approximations of the solution on the previous windows are already known.

For t ∈ [Ti, Ti+ 1] and any fixed k, we denote

$$ \bar{f}_{i}(x,t) = f(x,t,u_{i}^{(k)}(x,t)) - \sum\limits_{j=0}^{i-1} \frac{1}{\Gamma(1-\alpha)}{\int}_{T_{j}}^{T_{j+1}}(t-s)^{-\alpha} \frac{\partial}{\partial s}u_{j}^{(k_{j})}(x,s)ds. $$

Similar to the method shown in sub-section 2.1, we have the solution of system (16) with the form

$$ \begin{array}{lll} u_{i}^{(k+1)}(x,t) = & \sum\limits_{n=1}^{\infty}\frac{2}{L} {{\int}_{0}^{L}}u_{i-1}^{(k_{i-1})}(x,T_{i}) \sin\frac{n \pi x}{L} dx E_{\alpha} \left[-K\left( \frac{n \pi}{L}\right)^{2} (t-T_{i})^{\alpha} \right]\sin\frac{n \pi x}{L} \\ +& {\int}_{T_{i}}^{t} \left( \sum\limits_{n=1}^{\infty}\frac{2}{L}{{\int}_{0}^{L}}\bar{f}_{i}(\xi,s) \sin\frac{n \pi \xi}{L} d\xi (t-s)^{\alpha-1} E_{\alpha,\alpha} \left[-K\left( \frac{n \pi}{L}\right)^{2} (t-s)^{\alpha} \right] \sin\frac{n \pi x}{L}\right) ds. \end{array} $$

3.2 Convergence of the windowing WR method

Before giving the convergence of the windowing WR method (16), we first investigate an operator and its property.

For \(\varphi (t)\in C([0,T],\mathbb {R})\), we define an operator

$$ (\mathcal {B}\varphi)(t) = B_{0} + {\int}_{T_{i}}^{t} \lambda(t-s)^{\alpha-1} \varphi(s) ds, \quad t\in[T_{i}, T_{i+1}], $$
(17)

where B0 and λ are positive constants. Then, we have

Lemma 3.1

For any positive integer k, we have

$$ |(\mathcal {B}^{k} \varphi)(t)| \leq B_{0} \sum\limits_{j=0}^{k-1}\frac{(\lambda {\Gamma}(\alpha) (t-T_{i})^{\alpha})^{j}}{\Gamma(j\alpha+1)} + \frac{(\lambda {\Gamma}(\alpha) (t-T_{i})^{\alpha})^{k}}{\Gamma(k\alpha+1)} \max_{T_{i}\leq s \leq t}|\varphi(s)|, $$
(18)

where \((\mathcal {B}^{k} \varphi )(t) = (\mathcal {B}(\mathcal {B}^{k-1} \varphi ))(t)\).

Proof

We prove the result by induction. For k = 1, we have

$$ |(\mathcal {B} \varphi)(t)| \!\leq\! B_{0} + {\int}_{T_{i}}^{t} \lambda(t-s)^{\alpha-1}ds \max_{T_{i}\leq s \leq t} |\varphi(s)| = B_{0} + \frac{\lambda {\Gamma}(\alpha)(t-T_{i})^{\alpha}}{\Gamma(\alpha+1)} \max_{T_{i}\leq s \leq t}|\varphi(s)|. $$

Suppose that inequality (18) holds for any fixed index k, then

$$ \begin{array}{lll} & |(\mathcal {B}^{k+1} \varphi)(t)| \\ & \leq B_{0} + \lambda {\int}_{T_{i}}^{t} (t-s)^{\alpha-1} \left[B_{0} \sum\limits_{j=0}^{k-1}\frac{(\lambda {\Gamma}(\alpha) (s-T_{i})^{\alpha})^{j}}{\Gamma(j\alpha+1)} + \frac{(\lambda {\Gamma}(\alpha) (s-T_{i})^{\alpha})^{k}}{\Gamma(k\alpha+1)} \max_{T_{i}\leq \mu \leq s}|\varphi(\mu)| \right]ds \\ & = B_{0} + B_{0} \sum\limits_{j=0}^{k-1}\frac{\lambda^{j+1} {\Gamma}^{j}(\alpha)}{\Gamma(j\alpha+1)}(t-T_{i})^{(j+1)\alpha}B(\alpha, j\alpha+1) + \frac{\lambda^{k+1} {\Gamma}^{k}(\alpha)}{\Gamma(k\alpha+1)} (t - T_{i})^{(k+1)\alpha}B(\alpha, k\alpha+1) \\&\max_{T_{i}\leq s \leq t}|\varphi(s)| , \end{array} $$

where we have used the equality

$$ {\int}_{T_{i}}^{t} (t-s)^{\alpha-1} (s-T_{i})^{j\alpha} ds = (t-T_{i})^{(j+1)\alpha}B(\alpha, j\alpha+1), \quad j=0,1,\ldots,k. $$

By the properties of the Beta function B(α, jα + 1), we further have

$$ \begin{array}{lll} &\quad |(\mathcal {B}^{k+1} \varphi)(t)| \\ & \leq B_{0} + B_{0} \sum\limits_{j=0}^{k-1}\frac{\lambda^{j+1} {\Gamma}^{j+1}(\alpha)}{\Gamma((j+1)\alpha+1)}(t-T_{i})^{(j+1)\alpha} + \frac{\lambda^{k+1} {\Gamma}^{k+1}(\alpha)}{\Gamma((k+1)\alpha+1)} (t-T_{i})^{(k+1)\alpha}\\ &\max_{T_{i}\leq s \leq t}|\varphi(s)| \\ & = B_{0} \sum\limits_{j=0}^{k}\frac{(\lambda {\Gamma}(\alpha)(t-T_{i})^{\alpha})^{j}}{\Gamma(j\alpha+1)} + \frac{(\lambda {\Gamma}(\alpha)(t-T_{i})^{\alpha})^{k+1}}{\Gamma((k+1)\alpha+1)} \max_{T_{i}\leq s \leq t}|\varphi(s)| . \end{array} $$

The conclusion results. □

Then, the convergence of the windowing WR method for system (1) can be found in the following theorem.

Theorem 3.1

If the nonlinear function f(x, t, u) has a continuous first-order derivative with respect to u, then the iteration error between the approximation \(\{u_{i}^{(k_{i})}(x,t), i=0,1,\ldots , N-1\}\), generated by the windowing WR method (16), and the true solution {ui(x, t), i = 0,1,…, N − 1} of system (1) restricted in Ωi, can be bounded by

$$ \begin{array}{@{}rcl@{}} &&\max_{T_{i} \leq t \leq T_{i+1}}\max_{0\leq x \leq L}|u_{i}^{(k_{i})}(x,t)-u_{i}(x,t)| \\&&\leq \sum\limits_{j=0}^{i} \bar{\Phi}_{j} \left( \prod\limits_{l=j+1}^{i}{\Theta}_{l} \bar{\Upsilon}_{l} \right) \max_{T_{j} \leq t \leq T_{j+1}}\max_{0\leq x \leq L}|u_{i}^{(0)}(x,t)-u_{i}(x,t)|, \end{array} $$
(19)

where

$$ \begin{array}{@{}rcl@{}} {\Theta}_{i}&=&M_{i}\left( 1+\frac{2}{\Gamma(1-\alpha)}\frac{\pi}{\sin(\pi\alpha)}\right), \quad \bar{\Upsilon}_{i}=\sum\limits_{j=0}^{k_{i}-1}\frac{(MM_{i}{\Gamma}(\alpha)H_{i}^{\alpha})^{j}}{\Gamma(j\alpha+1)}, \\ \bar{\Phi}_{i}&=&\frac{(MM_{i}{\Gamma}(\alpha)H_{i}^{\alpha})^{k_{i}}}{\Gamma(k_{i}\alpha+1)}, \end{array} $$

with M, \(\bar {M}\) positive constants, for i = 0,1,…, N − 1.

Proof

We define \(\varepsilon _{i}^{(k)}(x,t)=u_{i}^{(k)}(x,t)-u_{i}(x,t)\), 0 ≤ xL, TitTi+ 1, which satisfies

$$ \left\{ \begin{array}{lll} & {{~}_{T_{i}}^{C}\!\mathcal {D}_{t}^{\alpha}} \varepsilon_{i}^{(k+1)}(x,t) + \sum\limits_{j=0}^{i-1} \frac{1}{\Gamma(1-\alpha)}{\int}_{T_{j}}^{T_{j+1}}(t-s)^{-\alpha} \frac{\partial}{\partial s}\varepsilon_{j}^{(k_{j})}(x,s)ds \\ & \quad = K \frac{\partial^{2}}{\partial x^{2}}\varepsilon_{i}^{(k+1)}(x,t) + f(x,t,u_{i}^{(k)}(x,t))-f(x,t,u_{i}(x,t)), \quad 0<x<L, \quad \\ &T_{i}<t<T_{i+1}, \\ & \varepsilon_{i}^{(k+1)}(x,T_{i}) = \varepsilon_{i-1}^{(k_{i-1})}(x,T_{i}), \quad 0 \leq x \leq L, \\ & \varepsilon_{i}^{(k+1)}(0,t)=\varepsilon_{i}^{(k+1)}(L,t)=0, \quad T_{i} \leq t \leq T_{i+1}. \end{array} \right. $$
(20)

The solution of system (20) has the form

$$ \begin{array}{lll} \varepsilon_{i}^{(k+1)}(x,t)\! = & \sum\limits_{n=1}^{\infty}\frac{2}{L} {{\int}_{0}^{L}}\varepsilon_{i-1}^{(k_{i-1})}(\xi,T_{i}) \sin\frac{n \pi \xi}{L} d\xi E_{\alpha} \left[-K\left( \frac{n \pi}{L}\right)^{2} (t-T_{i})^{\alpha} \right]\sin\frac{n \pi x}{L} \\ +& {\int}_{T_{i}}^{t} \left( \sum\limits_{n=1}^{\infty}\frac{2}{L}{{\int}_{0}^{L}}g_{i}(\xi,s) \sin\frac{n \pi \xi}{L} d\xi (t - s)^{\alpha-1} E_{\alpha,\alpha} \left[\!-K\!\left( \frac{n \pi}{L}\right)^{2} (t - s)^{\alpha}\! \right] \sin\frac{n \pi x}{L}\!\right) ds. \end{array} $$
(21)

where

$$ \begin{array}{@{}rcl@{}} g_{i}(x,t) &=& f(x,t,u_{i}^{(k)}(x,t))-f(x,t,u_{i}(x,t)) \\&&- \sum\limits_{j=0}^{i-1}\frac{1}{\Gamma(1-\alpha)}{\int}_{T_{j}}^{T_{j+1}}(t-s)^{-\alpha} \frac{\partial}{\partial s}\varepsilon_{j}^{(k_{j})}(x,s)ds. \end{array} $$

Similar to Theorem 2.1, there exist constants Mi, for i = 0,1,…, N − 1, such that

$$ \begin{array}{@{}rcl@{}} \max_{0\leq x \leq L}|\varepsilon_{i}^{(k+1)}(x,t)| &\leq& M_{i} \max_{0\leq x \leq L}|\varepsilon_{i-1}^{(k_{i-1})}(x,T_{i})| + M_{i} {\int}_{T_{i}}^{t}(t-s)^{\alpha-1}\\&& \max_{0\leq x \leq L}|g_{i}(x,s)|ds, \quad t\in[T_{i},T_{i+1}]. \end{array} $$
(22)

We might as well suppose Mi ≥ 1, for i = 0,1,…, N − 1.

Using integration by parts and the property \(\varepsilon _{j}^{(k_{j})}(x,T_{j+1}) = \varepsilon _{j+1}^{(k_{j+1})}(x,T_{j+1})\), we have

$$ \begin{array}{lll} g_{i}(x,t) = & f^{\prime}(x,t,u_{i,\ast}^{(k)}(x,t))\varepsilon_{i}^{(k)}(x,t) + \frac{\alpha}{\Gamma(1-\alpha)}\sum\limits_{j=0}^{i-1} {\int}_{T_{j}}^{T_{j+1}}(t-s)^{-\alpha-1}\varepsilon_{j}^{(k_{j})}\\ &(x,s)ds \\ & - \frac{1}{\Gamma(1-\alpha)}\sum\limits_{j=0}^{i-1} \left[(t-T_{j+1})^{-\alpha}\varepsilon_{j}^{(k_{j})}(x,T_{j+1})-(t-T_{j})^{-\alpha}\varepsilon_{j}^{(k_{j})}(x,T_{j})\right] \\ = & f^{\prime}(x,t,u_{i,\ast}^{(k)}(x,t))\varepsilon_{i}^{(k)}(x,t) - \frac{1}{\Gamma(1-\alpha)}(t-T_{i})^{-\alpha}\varepsilon_{i-1}^{(k_{i-1})}(x,T_{i}) \\ & + \frac{\alpha}{\Gamma(1-\alpha)}\sum\limits_{j=0}^{i-1} {\int}_{T_{j}}^{T_{j+1}}(t-s)^{-\alpha-1} \varepsilon_{j}^{(k_{j})}(x,s)ds, \end{array} $$

where \(u_{i,\ast }^{(k)} \in \left [\min \limits (u_{i}^{(k)}(x,t),u_{i}(x,t)), \max \limits (u_{i}^{(k)}(x,t),u_{i}(x,t))\right ]\). Then,

$$ \begin{array}{lll} \max_{0\leq x \leq L}|g_{i}(x,t)| \leq & M\max_{0\leq x \leq L}|\varepsilon_{i}^{(k)}(x,t)| + \frac{1}{\Gamma(1-\alpha)}(t-T_{i})^{-\alpha}\max_{0\leq x \leq L}|\varepsilon_{i-1}^{(k_{i-1})}(x,T_{i})| \\ & + \frac{1}{\Gamma(1-\alpha)}(t-T_{i})^{-\alpha} \max_{0\leq j \leq i-1}\max_{T_{j}\leq t \leq T_{j+1}}\max_{0\leq x \leq L}|\varepsilon_{j}^{(k_{j})}(x,t)|, \end{array} $$
(23)

where M is an upper bound of \(|f^{\prime }(x,t,u_{i,\ast }^{(k)}(x,t))|\). Taking inequality (23) into inequality (22), we get

$$ \begin{array}{lll} \max_{0\leq x \leq L}|\varepsilon_{i}^{(k+1)}(x,t)| \leq & M_{i} \max_{0\leq x \leq L}|\varepsilon_{i-1}^{(k_{i-1})}(x,T_{i})| + MM_{i} {\int}_{T_{i}}^{t}(t-s)^{\alpha-1} \max_{0\leq x \leq L}|\varepsilon_{i}^{(k)}\\ &(x,s)|ds \\ & + \frac{M_{i}}{\Gamma(1-\alpha)} {\int}_{T_{i}}^{t}(t-s)^{\alpha-1}(s-T_{i})^{-\alpha}ds \max_{0\leq x \leq L}|\varepsilon_{i-1}^{(k_{i-1})}(x,T_{i})| \\ & + \frac{M_{i}}{\Gamma(1-\alpha)} {\int}_{T_{i}}^{t}(t-s)^{\alpha-1}(s-T_{i})^{-\alpha}ds \max_{0\leq j \leq i-1}\max_{T_{j}\leq t \leq T_{j+1}}\\ &\max_{0\leq x \leq L}|\varepsilon_{j}^{(k_{j})}(x,t)| \\ \leq & C_{i} \max_{0\leq x \leq L}|\varepsilon_{i-1}^{(k_{i-1})}(x,T_{i})| + \bar{M}_{i} \max_{0\leq j \leq i-1}\max_{T_{j}\leq t \leq T_{j+1}}\max_{0\leq x \leq L}\\ &|\varepsilon_{j}^{(k_{j})}(x,t)| \\ & + MM_{i} {\int}_{T_{i}}^{t}(t-s)^{\alpha-1} \max_{0\leq x \leq L}|\varepsilon_{i}^{(k)}(x,s)|ds, \end{array} $$

where \(\bar {M}_{i}=\frac {M_{i}}{\Gamma (1-\alpha )}B(\alpha ,1-\alpha )=\frac {M_{i}}{\Gamma (1-\alpha )}\frac {\pi }{\sin \limits (\pi \alpha )}\), and \(C_{i}=M_{i}+\bar {M}_{i}\). After ki iterations of WR on [Ti, Ti+ 1], we have by Lemma 3.1 that

$$ \begin{array}{lll} & \max_{0\leq x \leq L}|\varepsilon_{i}^{(k_{i})}(x,t)| \\ \leq & \left[C_{i} \max_{0\leq x \leq L}|\varepsilon_{i-1}^{(k_{i-1})}(x,T_{i})| + \bar{M}_{i} \max_{0\leq j \leq i-1}\max_{T_{j}\leq t \leq T_{j+1}}\max_{0\leq x \leq L}|\varepsilon_{j}^{(k_{j})}(x,t)|\right]\\ &\sum\limits_{j=0}^{k_{i}-1}\frac{\left( MM_{i}{\Gamma}(\alpha)(t-T_{i})^{\alpha} \right)^{j}}{\Gamma(j\alpha+1)} \\ & + \frac{\left( MM_{i}{\Gamma}(\alpha)(t-T_{i})^{\alpha} \right)^{k_{i}}}{\Gamma(k_{i} \alpha+1)} \max_{T_{i}\leq s \leq t}\max_{0\leq x \leq L}|\varepsilon_{i}^{(0)}(x,s)|, \end{array} $$

for t ∈ [Ti, Ti+ 1]. We notice that

$$ \max_{0\leq x \leq L}|\varepsilon_{i-1}^{(k_{i-1})}(x,T_{i})| \leq \max_{0\leq j \leq i-1}\max_{T_{j}\leq t \leq T_{j+1}}\max_{0\leq x \leq L}|\varepsilon_{j}^{(k_{j})}(x,t)|. $$

For simplicity, we further denote

$$ \begin{array}{@{}rcl@{}} {\Upsilon}_{i}(t)&=&\sum\limits_{j=0}^{k_{i}-1}\frac{(MM_{i}{\Gamma}(\alpha)(t-T_{i})^{\alpha})^{j}}{\Gamma(j\alpha+1)}, \\ {\Phi}_{i}(t)&=&\frac{(MM_{i}{\Gamma}(\alpha)(t-T_{i})^{\alpha})^{k_{i}}}{\Gamma(k_{i}\alpha+1)}, \quad t\in[T_{i},T_{i+1}]. \end{array} $$

Then, we have

$$ \begin{array}{@{}rcl@{}} \max_{0\leq x \leq L}|\varepsilon_{i}^{(k_{i})}(x,t)| &\leq& {\Theta}_{i} {\Upsilon}_{i}(t)\max_{0\leq j \leq i-1}\max_{T_{j}\leq t \leq T_{j+1}}\max_{0\leq x \leq L}|\varepsilon_{j}^{(k_{j})}(x,t)| \\&&+ {\Phi}_{i}(t) \max_{T_{i}\leq s \leq t}\max_{0\leq x \leq L}|\varepsilon_{i}^{(0)}(x,s)|. \end{array} $$
(24)

Since Θi ≥ 1, and Υi(t) ≥ 1, we can deduce from inequality (24) that the iteration errors accumulate along the windows line, i.e.,

$$ \max_{0\leq j \leq i-1}\max_{T_{j}\leq t \leq T_{j+1}}\max_{0\leq x \leq L}|\varepsilon_{j}^{(k_{j})}(x,t)| \leq \max_{T_{i-1}\leq t \leq T_{i}}\max_{0\leq x \leq L}|\varepsilon_{i-1}^{(k_{i-1})}(x,t)|, $$

which leads to

$$ \begin{array}{@{}rcl@{}} \max_{0\leq x \leq L}|\varepsilon_{i}^{(k_{i})}(x,t)| &\leq& {\Theta}_{i} {\Upsilon}_{i}(t)\max_{T_{i-1}\leq t \leq T_{i}}\max_{0\leq x \leq L}|\varepsilon_{i-1}^{(k_{i-1})}(x,t)| \\&&+ {\Phi}_{i}(t) \max_{T_{i}\leq s \leq t}\max_{0\leq x \leq L}|\varepsilon_{i}^{(0)}(x,s)|, \end{array} $$

and further we have

$$ \begin{array}{@{}rcl@{}} \max_{T_{i}\leq t \leq T_{i+1}}\max_{0\leq x \leq L}|\varepsilon_{i}^{(k_{i})}(x,t)| &\leq& {\Theta}_{i} \bar{\Upsilon}_{i}\max_{T_{i-1}\leq t \leq T_{i}}\max_{0\leq x \leq L}|\varepsilon_{i-1}^{(k_{i-1})}(x,t)| \\&&+ \bar{\Phi}_{i} \max_{T_{i}\leq t \leq T_{i+1}}\max_{0\leq x \leq L}|\varepsilon_{i}^{(0)}(x,t)|. \end{array} $$

By recurrence, we get

$$ \max_{T_{i}\leq t \leq T_{i+1}}\max_{0\leq x \leq L}|\varepsilon_{i}^{(k_{i})}(x,t)| \leq \sum\limits_{j=0}^{i} \bar{\Phi}_{j} \left( \prod\limits_{l=j+1}^{i}{\Theta}_{l} \bar{\Upsilon}_{l} \right) \max_{T_{j} \leq t \leq T_{j+1}}\max_{0\leq x \leq L}|\varepsilon_{j}^{(0)}(x,t)|, $$

The conclusion results. □

4 Discrete windowing WR method

In fact, the standard WR method introduced in Section 2 is a special case of the windowing WR method. In this section, we only consider the discrete version of the windowing WR method.

4.1 Construction of the discrete windowing WR method

For simplicity, we suppose that all the time windows have the same lengths, i.e., Hi = H, for i = 0,1,…, N − 1. Let N0 and Ns be two positive integers. We partition the spatial domain [0, L] by a uniform mesh, xl = lh, for l = 0,1,…, Ns, with \(h=\frac {L}{N_{s}}\), and further partition the time window Ωi by a uniform mesh ti, n = Ti + nτ, for n = 0,1,…, N0, with \(\tau =\frac {H}{N_{0}}\), which satisfy \(t_{i,N_{0}}=T_{i+1}\).

At any mesh point (xl, ti, n), the windowing WR method (16) is

$$ \begin{array}{lll} & \quad {{~}_{T_{i}}^{C}\!\mathcal {D}_{t_{i,n}}^{\alpha}} u_{i}^{(k+1)}(x_{l},t_{i,n}) + {\sum}_{j=0}^{i-1} \frac{1}{\Gamma(1-\alpha)}{\int}_{T_{j}}^{T_{j+1}}(t_{i,n}-s)^{-\alpha} \frac{\partial}{\partial s}u_{j}^{(k_{j})}(x_{l},s)ds \\ & = K \frac{\partial^{2}}{\partial x^{2}}u_{i}^{(k+1)}(x_{l},t_{i,n}) + f(x_{l},t_{i,n},u_{i}^{(k)}(x_{l},t_{i,n})), \end{array} $$
(25)

for l = 1,2,…, Ns − 1, i = 0,1,…, N − 1, and n = 0,1,…, N0. We denote by \(\left [u_{i}^{(k)}\right ]_{l}^{p}\) the approximation of \(u_{i}^{(k)}(x_{l},t_{i,p})\), and \([u_{i}]_{l}^{p}\) the approximation of ui(xl, ti, p). We approximate the term \(\frac {\partial ^{2}}{\partial x^{2}}u_{i}^{(k+1)}(x_{l},t_{i,n})\) in the right-hand side of (25) by the classical finite difference operation \({\delta _{x}^{2}} \left [u_{i}^{(k+1)}\right ]_{l}^{n}\), and adopt the idea of L1 scheme [29] to approximate the terms in the left-hand side of (25). Then, we have

$$ \begin{array}{lll} {{~}_{T_{i}}^{C}\!\mathcal {D}_{t_{i,n}}^{\alpha}} u_{i}^{(k+1)}(x_{l},t_{i,n}) & = \frac{1}{\Gamma(1-\alpha)} \sum\limits_{p=0}^{n-1}{\int}_{t_{i,p}}^{t_{i,p+1}}(t_{i,n}-s)^{-\alpha}\frac{\partial}{\partial s}u_{i}^{(k+1)}(x_{l},s)ds \\ & \approx \frac{1}{\Gamma(1-\alpha)} \sum\limits_{p=0}^{n-1}\frac{1}{\tau}\left( \left[u_{i}^{(k+1)}\right]_{l}^{p+1}-\left[u_{i}^{(k+1)}\right]_{l}^{p} \right) {\int}_{t_{i,p}}^{t_{i,p+1}}(t_{i,n}-s)^{-\alpha}ds \\ & = \frac{\tau^{-\alpha}}{\Gamma(2 - \alpha)} \left( \!a_{1} \left[u_{i}^{(k+1)}\right]_{l}^{n} - \sum\limits_{p=1}^{n-1} (a_{n-p} - a_{n-p+1})\left[u_{i}^{(k+1)}\right]_{l}^{p} - a_{n} \left[u_{i}^{(k+1)}\right]_{l}^{0} \right)\\ & := \mathbb{D}_{\tau}^{\alpha} \left[u_{i}^{(k+1)}\right]_{l}^{n}, \end{array} $$

where

$$ a_{q} = q^{1-\alpha}-(q-1)^{1-\alpha}, \quad q \geq 1. $$

For each term in the summation in the left side of (25), we have

$$ \begin{array}{lll} &\quad \frac{1}{\Gamma(1-\alpha)}{\int}_{T_{j}}^{T_{j+1}}(t_{i,n}-s)^{-\alpha} \frac{\partial}{\partial s}u_{j}^{(k_{j})}(x_{l},s)ds \\ & \approx \frac{1}{\Gamma(1-\alpha)} \sum\limits_{p=0}^{N_{0}-1}\frac{1}{\tau}\left( \left[u_{j}^{(k_{j})}\right]_{l}^{p+1}-\left[u_{j}^{(k_{j})}\right]_{l}^{p} \right) {\int}_{t_{j,p}}^{t_{j,p+1}}(t_{i,n}-s)^{-\alpha}ds \\ & = \frac{\tau^{-\alpha}}{\Gamma(2-\alpha)} \left( a_{(i-j-1)N_{0}+n+1}\left[u_{j}^{(k_{j})}\right]_{l}^{N_{0}} - \sum\limits_{p=1}^{N_{0}-1} (a_{(i-j)N_{0}+n-p}\right.\\&-a_{(i-j)N_{0}+n-p+1}) \left[u_{j}^{(k_{j})}\right]_{l}^{p} \qquad \left. \vphantom{\sum\limits_{p=1}^{N_{0}-1}} - a_{(i-j)N_{0}+n} \left[u_{j}^{(k_{j})}\right]_{l}^{0} \right) := \mathbb{D}_{\tau}^{\alpha} \left[u_{j}^{(k_{j})}\right]_{l}^{n}. \end{array} $$

The resulting numerical scheme for (25) can be written as

$$ \mathbb{D}_{\tau}^{\alpha} \left[u_{i}^{(k+1)}\right]_{l}^{n} + \sum\limits_{j=0}^{i-1} \mathbb{D}_{\tau}^{\alpha} \left[u_{j}^{(k_{j})}\right]_{l}^{n} = K {\delta_{x}^{2}} \left[u_{i}^{(k+1)}\right]_{l}^{n} + f(x_{l},t_{i,n},\left[u_{i}^{(k)}\right]_{l}^{n}). $$
(26)

Similarly, the L1 scheme for the original equation can be written as

$$ \mathbb{D}_{\tau}^{\alpha} [u_{i}]_{l}^{n} + \sum\limits_{j=0}^{i-1} \mathbb{D}_{\tau}^{\alpha} [u_{j}]_{l}^{n} = K {\delta_{x}^{2}} [u_{i}]_{l}^{n} + f(x_{l},t_{i,n},[u_{i}]_{l}^{n}). $$
(27)

4.2 Convergence of the discrete windowing WR method

Let \(\left [\varepsilon _{i}^{(k)}\right ]_{l}^{n} = \left [u_{i}^{(k)}\right ]_{l}^{n} - [u_{i}]_{l}^{n}\), for l = 1,2,…, Ns − 1, i = 0,1,…, N − 1, n = 0,1,…, N0 and k = 0,1,…, ki, which satisfies

$$ \begin{array}{@{}rcl@{}} \mathbb{D}_{\tau}^{\alpha} \left[\varepsilon_{i}^{(k+1)}\right]_{l}^{n} &+& \sum\limits_{j=0}^{i-1} \mathbb{D}_{\tau}^{\alpha} \left[\varepsilon_{j}^{(k_{j})}\right]_{l}^{n} = K {\delta_{x}^{2}} \left[\varepsilon_{i}^{(k+1)}\right]_{l}^{n} + f\left( x_{l},t_{i,n},\left[u_{i}^{(k)}\right]_{l}^{n}\right) \\&-& f(x_{l},t_{i,n},[u_{i}]_{l}^{n}). \end{array} $$
(28)

We denote the vectors

$$ \begin{array}{lll} & \left[\boldsymbol{u}_{i}^{(k)}\right]^{n} = \left( \left[u_{i}^{(k)}\right]_{1}^{n}, \left[u_{i}^{(k)}\right]_{2}^{n}, \ldots, \left[u_{i}^{(k)}\right]_{N_{s}-1}^{n} \right)^{\top} \in \mathbb{R}^{N_{s} -1}, \\ & [\boldsymbol{u}_{i}]^{n} = ([u_{i}]_{1}^{n}, [u_{i}]_{2}^{n}, \ldots, [u_{i}]_{N_{s}-1}^{n})^{\top} \in \mathbb{R}^{N_{s} -1}, \\ & \left[\boldsymbol{\varepsilon}_{i}^{(k)}\right]^{n} = \left[\boldsymbol{u}_{i}^{(k)}\right]^{n} - [\boldsymbol{u}_{i}]^{n}, \end{array} $$

together with the fact \(\left [\boldsymbol {\varepsilon }_{j}^{(k_{j})}\right ]^{N_{0}} = \left [\boldsymbol {\varepsilon }_{j+1}^{(k_{j+1})}\right ]^{0}\), for j = 0,1,…, i − 1, and \(\left [\boldsymbol {\varepsilon }_{0}^{(k_{0})}\right ]^{0} = \boldsymbol {0}\), we have

$$ \begin{array}{lll} &\quad \frac{\tau^{-\alpha}}{\Gamma(2-\alpha)} \left( a_{1} \left[\boldsymbol{\varepsilon}_{i}^{(k+1)}\right]^{n} - \sum\limits_{p=1}^{n-1}(a_{n-p}-a_{n-p+1})\left[\boldsymbol{\varepsilon}_{i}^{(k+1)}\right]^{p} \right.\\ & \qquad \left.- \sum\limits_{j=0}^{i-1} \sum\limits_{p=1}^{N_{0}} (a_{(i-j)N_{0}+n-p}-a_{(i-j)N_{0}+n-p+1})\left[\boldsymbol{\varepsilon}_{j}^{(k_{j})}\right]^{p} \right)\\ & = \frac{K}{h^{2}} \boldsymbol{B}\left[\boldsymbol{\varepsilon}_{i}^{(k+1)}\right]^{n} + \boldsymbol{f}\left( t_{i,n},\left[\boldsymbol{u}_{i}^{(k)}\right]^{n}\right) - \boldsymbol{f}(t_{i,n},[\boldsymbol{u}_{i}]^{n}), \end{array} $$
(29)

where

$$ \begin{array}{lll} & \boldsymbol{f}\left( t_{i,n},\left[\boldsymbol{u}_{i}^{(k)}\right]^{n}\right) = \left( f(x_{1},t_{i,n},\left[u_{i}^{(k)}\right]_{1}^{n}), f(x_{2},t_{i,n},\left[u_{i}^{(k)}\right]_{2}^{n}), \ldots,\right.\\&{\kern85pt} \left. f(x_{N_{s}-1},t_{i,n},\left[u_{i}^{(k)}\right]_{N_{s}-1}^{n}) \right)^{\top}, \\ & \boldsymbol{f}(t_{i,n},[\boldsymbol{u}_{i}]^{n}) = \left( \mathit{f}(x_{1},t_{i,n},[u_{i}]_{1}^{n}), f(x_{2},t_{i,n},[u_{i}]_{2}^{n}), \ldots, \mathit{f}(x_{N_{s}-1},t_{i,n},[u_{i}]_{N_{s}-1}^{n}) \right)^{\top}, \\ & \left[\boldsymbol{\varepsilon}_{i}^{(k)}\right]^{n} = \left[\boldsymbol{u}_{i}^{(k)}\right]^{n} - [\boldsymbol{u}_{i}]^{n}, \end{array} $$

and

$$ \boldsymbol{B}=\left( \begin{array}{lllll} -2 & 1 & 0 & & 0 \\ 1 & -2 & 1 & {\ddots} & \\ 0 & 1 & {\ddots} & {\ddots} & 0 \\ & {\ddots} & {\ddots} & {\ddots} & 1 \\ 0 & & 0 & 1 & -2 \end{array} \right)\in \mathbb{R}^{(N_{s}-1)\times(N_{s}-1)}. $$

We further define the vector

$$ \boldsymbol{\bar{\varepsilon}}_{i}^{(k)} =\left( \left( \left[\boldsymbol{\varepsilon}_{i}^{(k)}\right]^{1}\right)^{\top}, \left( \left[\boldsymbol{\varepsilon}_{i}^{(k)}\right]^{2}\right)^{\top}, \ldots, \left( \left[\boldsymbol{\varepsilon}_{i}^{(k)}\right]^{N_{0}}\right)^{\top} \right)^{\top} \in \mathbb{R}^{N_{0}(N_{s}-1)}. $$

Then, equality (29) can be rewritten in the following matrix form,

$$ \begin{array}{lll} & \quad (\boldsymbol{A} \otimes \boldsymbol{I}_{s}) \boldsymbol{\bar{\varepsilon}}_{i}^{(k+1)} - \sum\limits\limits_{j=0}^{i-1} (\boldsymbol{G}_{ij} \otimes \boldsymbol{I}_{s}) \boldsymbol{\bar{\varepsilon}}_{j}^{(k_{j})} \\ &= {\Gamma}(2-\alpha)\frac{K\tau^{\alpha}}{h^{2}} (\boldsymbol{I}_{0} \otimes \boldsymbol{B})\boldsymbol{\bar{\varepsilon}}_{i}^{(k+1)} + \tau^{\alpha} {\Gamma}(2-\alpha)\left( \boldsymbol{\bar{f}}(t_{i},\boldsymbol{\bar{u}}_{i}^{(k)})-\boldsymbol{\bar{f}}(t_{i},\boldsymbol{\bar{u}}_{i})\right), \end{array} $$
(30)

where Is and I0 are identity matrixes with scales Ns − 1 and N0, respectively, A is a N0 × N0 lower triangular Toeplitz matrix with

$$ \boldsymbol{A}(p,q)=\left\{ \begin{array}{lll} & a_{1}, & p=q, \\ & a_{p-q+1} - a_{p-q}, & p>q, \\ & 0, & \text{else}, \end{array} \right. $$

Gij is a N0 × N0 Toeplitz matrix with

$$ \boldsymbol{G}_{ij}(p,q) = a_{(i-j)N_{0}+p-q}-a_{(i-j)N_{0}+p-q+1}, $$

and

$$ \begin{array}{lll} & \boldsymbol{\bar{f}}(t_{i},\boldsymbol{\bar{u}}_{i}^{(k)}) = \left( \!\boldsymbol{f}^{\top}\left( \!t_{i,1},\left[\boldsymbol{u}_{i}^{(k)}\right]^{1}\!\right), \boldsymbol{f}^{\top}\left( \!t_{i,2},\left[\boldsymbol{u}_{i}^{(k)}\right]^{2}\!\right),\ldots, \boldsymbol{f}^{\top}\left( t_{i,N_{0}},\left[\boldsymbol{u}_{i}^{(k)}\right]^{N_{0}}\right)\!\right)^{\top}, \\ & \boldsymbol{\bar{f}}(t_{i},\boldsymbol{\bar{u}}_{i}) = \left( \boldsymbol{f}^{\top}\left( t_{i,1},[\boldsymbol{u}_{i}]^{1}\right), \boldsymbol{f}^{\top}\left( t_{i,2},[\boldsymbol{u}_{i}]^{2}\right),\ldots, \boldsymbol{f}^{\top}\left( t_{i,N_{0}},[\boldsymbol{u}_{i}]^{N_{0}}\right)\right)^{\top}. \end{array} $$

We denote \(r={\Gamma }(2-\alpha )\frac {K\tau ^{\alpha }}{h^{2}}\) and D = AIsr(I0B), the error (30) can be written as

$$ \boldsymbol{\bar{\varepsilon}}_{i}^{(k+1)} = \tau^{\alpha} {\Gamma}(2-\alpha) \boldsymbol{D}^{-1} \boldsymbol{J}_{f} \boldsymbol{\bar{\varepsilon}}_{i}^{(k)} + \sum\limits_{j=0}^{i-1} \boldsymbol{D}^{-1} (\boldsymbol{G}_{ij} \otimes \boldsymbol{I}_{s}) \boldsymbol{\bar{\varepsilon}}_{j}^{(k_{j})}, $$
(31)

where Jf is the Jacobian matrix of \(\boldsymbol {\bar {f}}\), which is bounded by a positive M0. Then, we have

$$ \| \boldsymbol{\bar{\varepsilon}}_{i}^{(k+1)} \|_{\infty} \leq \tau^{\alpha} {\Gamma}(2-\alpha)M_{0} \|\boldsymbol{D}^{-1}\|_{\infty} \|\boldsymbol{\bar{\varepsilon}}_{i}^{(k)}\|_{\infty} + \sum\limits_{j=0}^{i-1} \|\boldsymbol{D}^{-1}\|_{\infty} \|\boldsymbol{G}_{ij}\|_{\infty} \|\boldsymbol{\bar{\varepsilon}}_{j}^{(k_{j})}\|_{\infty}. $$

By induction on the index k, it leads to

$$ \| \boldsymbol{\bar{\varepsilon}}_{i}^{(k_{i})} \|_{\infty} \leq \theta^{k_{i}} \|\boldsymbol{\bar{\varepsilon}}_{i}^{(0)}\|_{\infty} + \sum\limits_{j=0}^{i-1} \psi_{ij} \|\boldsymbol{\bar{\varepsilon}}_{j}^{(k_{j})}\|_{\infty}, $$
(32)

where

$$ \theta=\tau^{\alpha} {\Gamma}(2-\alpha)M_{0} \|\boldsymbol{D}^{-1}\|_{\infty}, \quad \psi_{ij}=\frac{1}{1-\theta}\|\boldsymbol{D}^{-1}\|_{\infty} \|\boldsymbol{G}_{ij}\|_{\infty}. $$
(33)

We can choose τ small enough, such that 𝜃 < 1, and ψij > 0.

Define the real numbers ηij, for i = 0,1,…, N − 1, and j = 0,1,…, i − 1 by

$$ \eta_{ii}=1, \quad \eta_{ij}=\sum\limits_{l=j}^{i-1} \psi_{il} \eta_{lj}. $$
(34)

We have the following theorem.

Theorem 4.1

If the nonlinear function f(x, t, u) has a continuous first-order derivative with respect to u, then the iteration error \(\boldsymbol {\bar {\varepsilon }}_{i}^{(k_{i})}\) of the windowing WR method (26) on the i-th time window Ωi can be bounded by

$$ \| \boldsymbol{\bar{\varepsilon}}_{i}^{(k_{i})} \|_{\infty} \leq \sum\limits_{j=0}^{i} \eta_{ij} \theta^{k_{j}} \|\boldsymbol{\bar{\varepsilon}}_{j}^{(0)}\|_{\infty}, \quad i=0,1,\ldots,N-1, $$
(35)

where kj is the maximum number of WR iterations on Ωj.

Proof

We prove the result by induction on the index i.

For i = 0, on the first window, we obtain that by (32)

$$ \| \boldsymbol{\bar{\varepsilon}}_{0}^{(k_{0})} \|_{\infty} \leq \theta^{k_{0}} \|\boldsymbol{\bar{\varepsilon}}_{0}^{(0)}\|_{\infty} = \eta_{00} \theta^{k_{0}} \|\boldsymbol{\bar{\varepsilon}}_{0}^{(0)}\|_{\infty}. $$

Assume that inequality (35) holds for i = 1,2,…, n − 1, then we have

$$ \| \boldsymbol{\bar{\varepsilon}}_{n}^{(k_{n})} \|_{\infty} \leq \theta^{k_{n}} \|\boldsymbol{\bar{\varepsilon}}_{n}^{(0)}\|_{\infty} + \sum\limits_{j=0}^{n-1} \psi_{nj} \|\boldsymbol{\bar{\varepsilon}}_{j}^{(k_{j})}\|_{\infty} \leq \theta^{k_{n}} \|\boldsymbol{\bar{\varepsilon}}_{n}^{(0)}\|_{\infty} + \sum\limits_{j=0}^{n-1} \psi_{nj} \sum\limits_{l=0}^{j}\eta_{jl}\theta^{k_{l}} \|\boldsymbol{\bar{\varepsilon}}_{l}^{(0)}\|_{\infty}. $$

By exchanging the summation order, we can obtain

$$ \begin{array}{lll} \| \boldsymbol{\bar{\varepsilon}}_{n}^{(k_{n})} \|_{\infty} & \leq \theta^{k_{n}} \|\boldsymbol{\bar{\varepsilon}}_{n}^{(0)}\|_{\infty} + \sum\limits_{l=0}^{n-1} \left( \sum\limits_{j=l}^{n-1} \psi_{nj}\eta_{jl}\right) \theta^{k_{l}} \|\boldsymbol{\bar{\varepsilon}}_{l}^{(0)}\|_{\infty} \\ & = \eta_{nn}\theta^{k_{n}} \|\boldsymbol{\bar{\varepsilon}}_{n}^{(0)}\|_{\infty} + \sum\limits_{l=0}^{n-1} \eta_{nl} \theta^{k_{l}} \|\boldsymbol{\bar{\varepsilon}}_{l}^{(0)}\|_{\infty} \\ & = \sum\limits_{l=0}^{n} \eta_{nl} \theta^{k_{l}} \|\boldsymbol{\bar{\varepsilon}}_{l}^{(0)}\|_{\infty}. \end{array} $$

It means that the result also holds for i = n, and the theorem is proved. □

It can be seen that {ηij} are defined by recurrence, and it is not intuitive to bound \(\| \boldsymbol {\bar {\varepsilon }}_{i}^{(k_{i})} \|_{\infty }\). Therefore, we present the following corollary.

Corollary 4.1

The iteration error \(\boldsymbol {\bar {\varepsilon }}_{i}^{(k_{i})}\) can be further bounded by

$$ \| \boldsymbol{\bar{\varepsilon}}_{i}^{(k_{i})} \|_{\infty} \leq \max\left\{1, \frac{\|\boldsymbol{D}^{-1}\|_{\infty}^{i}}{(1-\theta)^{i}}\right\} \theta^{k_{min}} \max_{0\leq j \leq i-1} \| \boldsymbol{\bar{\varepsilon}}_{j}^{(0)} \|_{\infty}, \quad i=0,1,\ldots,N-1, $$
(36)

where \(k_{min}=\min \limits _{0\leq j \leq i-1}\{k_{j}\}\), and 𝜃 is defined in (33) with 𝜃 < 1.

Proof

From estimation (35), we have

$$ \| \boldsymbol{\bar{\varepsilon}}_{i}^{(k_{i})} \|_{\infty} \leq \left( \sum\limits_{j=0}^{i} \eta_{ij}\right) \theta^{k_{min}} \max_{0\leq j \leq i-1}\|\boldsymbol{\bar{\varepsilon}}_{j}^{(0)}\|_{\infty}. $$
(37)

Denote \(W_{i} = {\sum }_{j=0}^{i} \eta _{ij}\), then we have W0 = 1, and for i = 1,2,…, N − 1,

$$ \begin{array}{lll} W_{i} & = \sum\limits_{j=0}^{i} \sum\limits_{l=j}^{i-1} \psi_{il}\eta_{lj} = \sum\limits_{l=0}^{i-1} \psi_{il} \sum\limits_{j=0}^{l}\eta_{lj} = \sum\limits_{l=0}^{i-1} \psi_{il}W_{l} \\ & \leq \left( \sum\limits_{l=0}^{i-1} \psi_{il}\right) \max_{0\leq l \leq i-1}W_{l} \\ & = \frac{1}{1-\theta} \|\boldsymbol{D}^{-1}\|_{\infty} \left( \sum\limits_{j=0}^{i-1} \|\boldsymbol{G}_{ij}\|_{\infty}\right) \max_{0\leq l \leq i-1}W_{l}. \end{array} $$
(38)

Since Gij is a Toeplitz matrix, and

$$ \sum\limits_{j=0}^{i-1} \|\boldsymbol{G}_{ij}\|_{\infty} = \sum\limits_{j=0}^{i-1} (a_{(i-j-1)N_{0}+1}-a_{(i-j)N_{0}+1}) = 1+(iN_{0})^{1-\alpha} - (iN_{0}+1)^{1-\alpha} \leq 1. $$

We have

$$ W_{i} \leq \frac{1}{1-\theta} \|\boldsymbol{D}^{-1}\|_{\infty} \max_{0\leq l \leq i-1}W_{l}. $$

By the induction on the index i, we get

$$ W_{i} \leq \max\left\{1, \frac{\|\boldsymbol{D}^{-1}\|_{\infty}^{i}}{(1-\theta)^{i}}\right\}. $$

Together with inequality (37), we can obtain the result (36). □

Remark 2

The quantity \(\|\boldsymbol {D}^{-1}\|_{\infty }\) in estimation (36) is usually a moderate number. In fact, a number of numerical tests are carried out to support this observation. Therefore, we can take a proper WR iteration number ki on each time window to control the iteration errors.

4.3 Parallelism of the discrete windowing WR method

The discrete windowing WR method (26) can be written in the following form,

$$ \begin{array}{lll} & \left( \frac{\tau^{-\alpha}a_{1}}{\Gamma(2-\alpha)}\boldsymbol{I}_{s} - \frac{K}{h^{2}} \boldsymbol{B} \right)\left[\boldsymbol{u}_{i}^{(k+1)}\right]^{n} = \frac{\tau^{-\alpha}}{\Gamma(2-\alpha)} \\&\times\left( \sum\limits_{p=1}^{n-1}(a_{n-p}-a_{n-p+1})\left[\boldsymbol{u}_{i}^{(k+1)}\right]^{p}+ \sum\limits_{j=0}^{i-1} \sum\limits_{p=1}^{N_{0}} (a_{(i-j)N_{0}+n-p}\right.\\&\left.-a_{(i-j)N_{0}+n-p+1})\left[\boldsymbol{u}_{j}^{(k_{j})}\right]^{p} \vphantom{\sum\limits_{p=1}^{N_{0}}}\right)\\ & +\boldsymbol{f}\left( t_{i,n},\left[\boldsymbol{u}_{i}^{(k)}\right]^{n}\right). \end{array} $$
(39)

For any fixed n = 1,2,…, N0, in order to compute \(\left [\boldsymbol {u}_{i}^{(k+1)}\right ]^{n}\), we need \(\left [\boldsymbol {u}_{i}^{(k+1)}\right ]^{p}\) on the present waveform for p = 1,2,…, n − 1, and \(\left [\boldsymbol {u}_{i}^{(k)}\right ]^{n}\), which is the approximation at t = ti + nτ on the last waveform, as well as \(\left [\boldsymbol {u}_{j}^{(k_{j})}\right ]^{p}\), for p = 1,2,…, N0 and j = 0,1,…, i − 1, which are the approximations of the waveforms on all the previous time windows. It is unnecessary to wait for all the approximations on the k-th waveform before computing the approximations on the (k + 1)-th waveform.

For simplicity, we assume that the WR methods on all the time windows have the same number of iterations, say k0. The parallelism of the discrete windowing WR method (39) is shown in Fig. 1, where “dt” denotes the computational cost at each time step. In fact, for the computation of the time-fractional PDE, the computational costs at later time steps are usually bigger than that at former time steps, since more matrix-vector multiplications are involved in later time steps, though “dt” is used uniformly for clarity.

Fig. 1
figure 1

The parallelism of the discrete windowing WR scheme (39)

Assume that k0 processors are available, and each processor is in charge of the computation of a waveform. We can see from Fig. 1 that k0 processors are running almost simultaneously on each time window, such that the theoretical total running time is N(N0 + k0)dt, rather than Nk0N0dt in serial manner.

The steps of the parallel procedure are shown in the following algorithm,

figure a

4.4 Efficient implementation of the discrete windowing WR method

We can see from (26) that the discrete windowing WR method is based on the idea of L1 scheme, which is computationally expensive on long time interval. In this sub-section, we employ the sum-of-exponentials (SOE) method [30, 31] to further reduce the memory and the computational cost. The fast evaluation formula based on SOE method for the Caputo fractional derivative in (25) can be expressed as

$$ \begin{array}{lll} & \frac{\left[u_{i}^{(k+1)}\right]_{l}^{n} - \left[u_{i}^{(k+1)}\right]_{l}^{n-1}}{\tau^{\alpha} {\Gamma}(2-\alpha)}\\ & + \frac{1}{\Gamma(1-\alpha)}\left[\frac{\left[u_{i}^{(k+1)}\right]_{l}^{n-1}}{\tau^{\alpha}} - \frac{\left[u_{0}^{(0)}\right]_{l}^{0}}{t_{i,n}^{\alpha}} -\alpha\sum\limits_{j=1}^{N_{exp}} \omega_{j} \left[U_{hist,j}^{(k+1)}(t_{i,n})\right]_{l} \right] \\ = & K {\delta_{x}^{2}} \left[u_{i}^{(k+1)}\right]_{l}^{n} + f(x_{l},t_{i,n},\left[u_{i}^{(k)}\right]_{l}^{n}). \end{array} $$
(40)

At the initial point, we have

$$ \left\{ \begin{array}{lll} & \left[u_{0}^{(k)}\right]_{l}^{0} = \varphi(x_{l}), \\ & \left[U_{hist,j}^{(k)}(t_{0,1})\right]_{l} = 0, \quad \text{for} ~ k=1,2,\ldots,k_{0}, \end{array} \right. $$

and at the boundaries of any two time windows, we have

$$ \left\{ \begin{array}{lll} & \left[u_{i+1}^{(k)}\right]_{l}^{0} = \left[u_{i}^{(k_{i})}\right]_{l}^{N_{0}}, \\ & U_{hist,j}^{(k)}(t_{i+1,0}) = U_{hist,j}^{(k_{i})}(t_{i,N_{0}}), \quad \text{for} ~ k=1,2,\ldots,k_{0}. \end{array} \right. $$

It means that the discrete windowing WR method is implemented on one time window after another, and the WR iterations are performed ki times on the i-th window.

In fact, the fast evaluation formula based on SOE method transforms the discrete windowing WR method as a nonlocal numerical integrator to be a local evaluation, and the computational cost at each time point looks more balanced. Suppose that we have enough processors and denote by \(\tilde {\tau }\) the computational cost at each time point, then the theoretical computational cost of the fast windowing WR method is \(N(N_{0}+k_{0}-1)\tilde {\tau }\).

For the choice of the parameters, we have two considerations. First, k0 should be as small as possible to avoid too much computational cost. Second, if the time window is too short, the number of time steps on each window, N0, will be very small, then the degree of parallelism will be reduced. In particular, if only one time step is contained in each window, i.e., N0 = 1, the WR method will deteriorate to the classical semi-implicit scheme, which cannot be implemented in parallel at all. In order to balance the two aspects, we can take moderate values for N0, such that N0 is much larger than k0. Therefore, the theoretical computational cost with enough processors seems slightly more than the cost of a general numerical scheme for a linear problem.

5 Numerical experiments

In this section, we use two examples to verify the effectiveness of the windowing WR methods, and the methods are coded using Matlab R2017b on a Lenovo desktop with Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz.

Example 5.1

We first consider the following sub-diffusion equation in one spatial dimension,

$$ \left\{ \begin{array}{lll} & {{~}_{0}^{C}\!\mathcal {D}_{t}^{\alpha}} u(x,t) = 0.2 u_{xx}(x,t) + u(x,t) + u^{2}(x,t), \quad 0<x<1, \quad 0<t<2, \\ & u(x,0) = \sin(\pi x), \quad 0 \leq x \leq 1, \\ & u(0,t)=u(1,t)=0, \quad 0 \leq t \leq 2. \end{array} \right. $$
(41)

To discretize the x and t variables, we use a uniform space-time mesh with time step \(\tau =\frac {1}{2048}\) and spatial grid size \(h=\frac {1}{256}\). The time interval [0,2] is divided into N time windows uniformly, and each window includes \(\frac {4096}{N}\) time steps. For simplicity, we perform the same number of WR iterations on all time windows, i.e., ki = k0, for i = 0,1,…, N − 1.

The discrete windowing WR method for (41) can be written as

$$ \mathbb{D}_{\tau}^{\alpha} \left[u_{i}^{(k+1)}\right]_{l}^{n} + \sum\limits_{j=0}^{i-1} \mathbb{D}_{\tau}^{\alpha} \left[u_{j}^{(k_{0})}\right]_{l}^{n} = 0.2 {\delta_{x}^{2}} \left[u_{i}^{(k+1)}\right]_{l}^{n} + \left[u_{i}^{(k)}\right]_{l}^{n-1} + \left( \left[u_{i}^{(k)}\right]_{l}^{n-1}\right)^{2}, $$
(42)

for i = 0,1,…, N − 1, l = 1,2,…,255, \(n=1,2,\ldots ,\frac {4096}{N}\), k = 0,1,…, k0 − 1, and the reference solution can be obtained by the scheme

$$ \frac{\tau^{-\alpha}}{\Gamma(2-\alpha)} \left( a_{1} {u_{l}^{n}} - \sum\limits_{p=1}^{n-1} (a_{n-p}-a_{n-p+1}) {u_{l}^{p}} - a_{n} {u_{l}^{0}} \right) = 0.2 {\delta_{x}^{2}} {u_{l}^{n}} + u_{l}^{n-1} + \left( u_{l}^{n-1}\right)^{2}, $$
(43)

for l = 1,2,…,256, and n = 1,2,…,4096. We notice from scheme (42) that the nonlinear term is approximated using the values at \(t=t_{iN_{0}+n-1}\), in order to match with scheme (43). In fact, if we employ a fully implicit scheme in the discrete windowing WR method for (41), the resulting numerical scheme, i.e., the nonlinear term in (42) is replaced by \(\left [u_{i}^{(k)}\right ]_{l}^{n} + \left (\left [u_{i}^{(k)}\right ]_{l}^{n}\right )^{2}\), will still be a linear equation, since the values are from the last waveform, while the corresponding reference equation is a nonlinear equation.

The iteration error of the windowing WR method is measured by

$$ Error = \max_{1\leq l \leq 256} \left| \left[u_{N-1}^{(k_{0})}\right]_{l}^{N_{0}} - u_{l}^{NN_{0}} \right|. $$

The iteration errors for various values of k0 and N are shown in Tables 12, and 3, for α = 0.2, 0.5, 0.8, respectively. In fact, the windowing WR method with only one time window, i.e., N = 1, is indeed the standard WR method. We can see from Tables 12, and 3 that the windowing technique can reduce the number of iterations effectively.

Table 1 Errors of the windowing WR method (42) for Example 5.1 with α = 0.2
Table 2 Errors of the windowing WR method (42) for Example 5.1 with α = 0.5
Table 3 Errors of the windowing WR method (42) for Example 5.1 with α = 0.8

To show the convergence of WR clearly, we plot the relationship between the iteration error and the iteration number k0 with various time windows in the first three figures of Fig. 2, for α = 0.2, α = 0.5, and α = 0.8, respectively. Furthermore, We also compare the convergence behaviors of WR with 64 time windows for various values of α in the last figure in Fig. 2. We can see that the convergence rates of the windowing WR method are related to the values of α, and such an observation fits very well with the theoretical results introduced in Sections 23.

Fig. 2
figure 2

Errors of windowing WR for Example 5.1 with α = 0.2 (top left), α = 0.5 (top right), and α = 0.8 (bottom left), and errors of WR with 64 windows for various values of α (bottom right)

We also test the efficiency of the fast evaluation formula of the WR method. We fix NN0 = 4096, the observed errors, and the consumed CPU time for the discrete windowing WR method, and its fast evaluation version with tolerance 𝜖= 1.0e-10 is shown in Table 4. We can see that the fast windowing WR method has almost the same errors as the windowing WR method which is based on L1 scheme, while the fast version costs much less CPU time. For example, when N = 16, α = 0.2, and k0 = 9, the two methods have the same observed error 2.83e-04, but the consumed CPU time of the fast windowing WR method has reduced from 63 to 7 s.

Table 4 Comparisons of the discrete WR method and its fast version for Example 5.1

Based on the fast evaluation formula of the WR method, we also investigate the relationship between the number of windows N and the number of iterations k0. We fix the number of time steps NN0 = 4800 on the whole time interval, and denote k0 as the minimum uniform number of WR iterations on each time window, such that the iteration error below 2.0e-10 and the relationships between N and k0 for different values of α can be found in Table 5, which are also shown in Fig. 3. It can be observed that, with more time windows, less WR iterations are needed for a desired accuracy.

Table 5 Relationships between N and k0 for different values of α in Example 5.1
Fig. 3
figure 3

Relationships between N and k0 for different values of α in Example 5.1

Example 5.2

We then consider the following sub-diffusion equation in two spatial dimensions,

$$ \left\{ \begin{array}{lll} & {{~}_{0}^{C}\!\mathcal {D}_{t}^{\alpha}} u(x,y,t) = 0.2 u_{xx}(x,y,t) + 0.3 u_{yy}(x,y,t) \\ & \qquad \qquad \qquad \quad + u(x,y,t) + u^{2}(x,y,t), \quad (x,y)\in {\Omega}, \quad 0<t<2, \\ & u(x,y,0) = \sin(\pi x)\sin(\pi y), \quad (x,y)\in \bar{\Omega}, \\ & u(x,y,t)=0, \quad (x,y)\in \partial{\Omega}, \quad 0 \leq t \leq 2, \end{array} \right. $$
(44)

where Ω = [0,1] × [0,1].

We still use a uniform space-time mesh with time step \(\tau =\frac {1}{256}\) and spatial grid size \(h_{x}=h_{y}=\frac {1}{64}\). N uniform time windows are employed, and each of them has \(\frac {512}{N}\) time steps. The discrete windowing WR method for (44) can be written as

$$ \begin{array}{@{}rcl@{}} \mathbb{D}_{\tau}^{\alpha} \left[u_{i}^{(k+1)}\right]_{lq}^{n} &+& \sum\limits_{j=0}^{i-1} \mathbb{D}_{\tau}^{\alpha} \left[u_{j}^{(k_{0})}\right]_{lq}^{n} = 0.2 {\delta_{x}^{2}} \left[u_{i}^{(k+1)}\right]_{lq}^{n} + 0.3 {\delta_{y}^{2}} \left[u_{i}^{(k+1)}\right]_{lq}^{n} \\&+& \left[u_{i}^{(k)}\right]_{lq}^{n-1} + \left( \left[u_{i}^{(k)}\right]_{lq}^{n-1}\right)^{2}, \end{array} $$
(45)

for i = 0,1,…, N − 1, l, q = 1,2,…,63, \(n=1,2,\ldots ,\frac {512}{N}\), k = 0,1,…, k0 − 1, and the reference solution can be obtained by the scheme

$$ \begin{array}{@{}rcl@{}} &&\frac{\tau^{-\alpha}}{\Gamma(2-\alpha)} \left( a_{1} u_{lq}^{n} - \sum\limits_{p=1}^{n-1} (a_{n-p}-a_{n-p+1}) u_{lq}^{p} - a_{n} u_{lq}^{0} \right) \\&&= 0.2 {\delta_{x}^{2}} u_{lq}^{n} + 0.3 {\delta_{y}^{2}} u_{lq}^{n} + u_{lq}^{n-1} + \left( u_{lq}^{n-1}\right)^{2}, \end{array} $$
(46)

for l, q = 1,2,…,63, and n = 1,2,…,512. The iteration error of the windowing WR method is measured by

$$ Error = \max_{1\leq l,q \leq 63} \left| \left[u_{N-1}^{(k_{0})}\right]_{lq}^{N_{0}} - u_{lq}^{NN_{0}} \right|. $$

The iteration error for various values of k0 and N are shown in Tables 67, and 8, for α = 0.2, 0.5, 0.8, respectively. We can also see that the windowing technique can accelerate the convergence of the WR method.

Table 6 Errors of the windowing WR method (45) for Example 5.2 with α = 0.2
Table 7 Errors of the windowing WR method (45) for Example 5.2 with α = 0.5
Table 8 Errors of the windowing WR method (45) for Example 5.2 with α = 0.8

We plot the relationship between the iteration error and the iteration number k0 with various time windows for α = 0.2, α = 0.5, and α = 0.8, as well as the convergence behaviors of WR with 8 time windows for various values of α, in Fig. 4. The same observation can be found as that in Example 5.1.

Fig. 4
figure 4

Errors of windowing WR for Example 5.2 with α = 0.2 (top left), α = 0.5 (top right), and α = 0.8 (bottom left), and errors of WR with 8 windows for various values of α (bottom right)

We also use the fast evaluation formula of the WR method for Example 5.2. We fix NN0 = 4096, and the observed errors and the consumed CPU times for the discrete windowing WR method and its fast evaluation version with different values of N and tolerance 𝜖= 1.0e-10 are shown in Table 9. We can also see that the two versions with the same parameters have the same accuracy, while the fast windowing WR method needs much less running time.

Table 9 Comparisons of the discrete WR method and its fast version for Example 5.2

Moreover, we fix the number of time steps NN0 = 2400 on [0, T], and denote k0 as the minimum uniform number of WR iterations on each time window, such that the iteration error below 2.0e-10 and the relationships between N and k0 for different values of α are shown in Table 10 and Fig. 5, from which the same observation as that in Example 5.1 can be found.

Table 10 Relationships between N and k0 for different values of α in Example 5.2
Fig. 5
figure 5

Relationships between N and k0 for different values of α in Example 5.2

6 Conclusions

A new WR method for semi-linear fractional sub-diffusion equations has been presented, and the error estimation has been given. Then, the windowing WR method and its discrete version have also been presented. We can see from the numerical experiments that the (windowing) WR method is convergent superlinearly, and the convergence rate will be slow with the decrease of the order of the time-fractional derivative. Furthermore, we have also combined the fast evaluation formula based on SOE approximation with the windowing WR method, and verified the efficiency of the fast windowing WR method by numerical tests.

Moveover, the WR method used in this paper is one of the simplest WR methods. Proposing some other effective WR methods to further improve the convergence rate will be considered in the future.