1 Introduction

We consider the following type of highly oscillatory partial differential equations

$$\begin{aligned}&\partial _tu(x,t)=\mathcal {L}u(x,t)+f(x,t)u(x,t),\qquad t\in [0,t^\star ],\quad x\in \Omega \subset \mathbb {R}^m,\\&u(x,0)=u_0(x), \nonumber \end{aligned}$$
(1)

with zero boundary conditions, where \(\Omega \) is an open and bounded subset of \(\mathbb {R}^m\) with smooth boundary \(\partial \Omega \), \(t^\star >0\) and \(\mathcal {L}\) is a linear differential operator of degree 2p, \(p\in \mathbb {N}\), defined on \(\Omega \)

$$\begin{aligned} \mathcal {L} = \sum _{|\varvec{p}|\le 2p}^{}a_{\varvec{p}}(x) D^{\varvec{p}}, \qquad D^{\varvec{p}}= \frac{\partial ^{p_1}}{\partial x_1^{p_1}}\frac{\partial ^{p_2}}{\partial x_2^{p_2}}\dots \frac{\partial ^{p_m}}{\partial x_m^{p_m}}, \quad x\in \Omega \subset \mathbb {R}^m. \end{aligned}$$
(2)

Multi-index \(\varvec{p}\) is an m-tuple of nonnegative integers \(\varvec{p} = (p_1,p_2,\dots ,p_m)\) and \(a_{\varvec{p}}(x)\) are smooth, complex-valued functions of \(x \in \bar{\Omega }\). We assume that function f(xt) from the equation (1) is a highly oscillatory of type

$$\begin{aligned} f(x,t) = \sum _{\begin{array}{c} n=-N \\ n\ne 0 \end{array}}^{N}\alpha _n(x,t)e^{i n\omega t}, \quad \omega \gg 1, \quad N\in \mathbb {N}, \end{aligned}$$
(3)

where \(\alpha _n\) are sufficiently smooth, complex-valued functions. The aim of this paper is to construct a numerical integrator designed for highly oscillatory equations of type (1).

Highly oscillatory differential equations are difficult to solve numerically and are of great importance in computational mathematics, which is why they have gained special attention in the field [10, 11], and references therein. In particular, differential equations of type (1) with extrinsic high oscillations arise in various fields, including electronic engineering [5], when computing scattering frequencies [6], and in quantum mechanics [7, 13]. In addition to the previously mentioned works, computational methods dedicated to equations of type (1) are presented for example in [1, 2, 4, 15, 21]. In this paper, we present a complementary approach as discussed in the aforementioned papers. Given the generality of equations (1), the numerical scheme derived in this manuscript can be effectively applied to a range of linear partial differential equations, including the heat equation and the wave equation.

In traditional numerical methods applied to highly oscillating problems, it is typically a requirement that the time step h satisfies \(h\omega < 1\). This causes the method to become extremely expensive when \(\omega \) is large. This occurs because conventional schemes are constructed using Taylor expansions, where error formulas involve expressions with high derivatives of a highly oscillatory function. On the other hand, methods for highly oscillatory equations based on the Modulated Fourier expansion or the asymptotic expansion may not converge to a solution, rendering them effective only for equations with large oscillatory parameter \(\omega \). In this paper, we propose a third-order method whose accuracy improves with increasing parameter \(\omega \) and decreasing time step h. Furthermore, the approach presented in this paper allows for easy improvement of the convergence order of the proposed numerical integrator.

To provide a more detailed understanding of the challenges associated with the numerical approximation of highly oscillating differential equations, let us apply Duhamel’s formula to equation (1) and write it in the following integral form

$$\begin{aligned} u(t+h) = \textrm{e}^{h\small \mathcal {L}}u(t) +\int _0^h\textrm{e}^{(h-\tau )\small \mathcal {L}}f(t+\tau )u(t+\tau )\textrm{d}\tau , \end{aligned}$$
(4)

where \(u_0\) and \(f(s), \ u(s)\) for fixed s are elements of the appropriate Banach spaces. Let us note that the second time derivative of the solution to equation (1) satisfies

$$\begin{aligned} u''(t) = \mathcal {L}u'(t)+f'(t)u(t)+f(t)u'(t), \end{aligned}$$

therefore \(u''(t) = \mathcal {O}(\omega )\) and furthermore \(u^{(k)}(t) = \mathcal {O}(\omega ^{k-1})\). This implies that approximating the integral from equation (4) using standard quadrature rules, as in basic numerical schemes, leads to a significant error. For that reason, we use a different approach to this issue. In paper [18], it was shown that the solution to equation (1) can be presented as the Neumann series. Subsequently, by expanding asymptotically each integral within the Neumann series, it was demonstrated that the solution of the equation can be expressed as the Modulated Fourier expansion. The Modulated Fourier expansion, also known as an asymptotic expansion or frequency expansion, is a technique used for analyzing highly oscillatory problems. It is comprehensively and thoroughly described in [10]. By representing the solution as the Neumann series, the time derivatives of the solution, which can be large for highly oscillating equations, do not appear in the error formula of the numerical scheme. In this paper, instead of employing an asymptotic expansion for the integrals within the Neumann series (which is effective only in cases of high oscillations), we approximate them using quadrature rules designed for highly oscillatory integrals, such as Filon-type methods. By this approach, we can provide that the local error of the presented numerical scheme can be estimated by \(Ch^4\), where constant C is independent of time step h and parameter \(\omega \). Furthermore, when considering a potential function f with only positive frequencies, i.e. when only numbers \(n>0\) appear in formula (3), one can show that the local error is bounded by \(C\min \left\{ h^4, h^2\omega ^{-2}, \omega ^{-3}\right\} \), where again the constant C is independent of both h and \(\omega \).

The convergence rate of the method can be easily improved by approximating a greater number of integrals from the Neumann series. However, this enhancement comes at the cost of requiring better regularity for both the initial condition \(u_0\) and the functions \(\alpha _n\), and also leads to increased computational complexity.

The paper is organized as follows. In Section 2, we introduce the two fundamental ingredients of the proposed method – the Neumann series and the Filon method. Section 3 provides the derivation of the proposed numerical integrator. Section 4 is dedicated to the error analysis of the method. In Section 5, we demonstrate the application of the scheme to equations involving a second time derivative, while Section 6 presents the results of numerical experiments.

2 Preliminaries

In this section, we briefly introduce the basic tools needed to build the proposed numerical method: the Neumann series and the Filon method.

2.1 The Neumann series

Let us consider the following ordinary differential equation

$$\begin{aligned} Y'(t) = A(t)Y(t), \qquad Y(0)= Y_0, \end{aligned}$$
(5)

where \(Y: \mathbb {R} \rightarrow \mathbb {C}^n\) and A(t) is an \(n \times n\) time-dependent matrix. Equation 5 can be written in the following form

$$\begin{aligned} Y(t) = Y_0+\int _{0}^{t}A(\tau )Y(\tau )\textrm{d}\tau . \end{aligned}$$
(6)

By iterating equation (6), one can show that the solution of the problem (6) is given by the series

$$\begin{aligned} Y(t) = \sum _{d=0}^{\infty }T^dY_0, \end{aligned}$$
(7)

where

$$\begin{aligned} T^d Y_0= \int _0^t A(\tau _1)\int _{0}^{\tau _1}A(\tau _2)\dots \int _{0}^{\tau _{d-1}}A(\tau _d)Y_0\textrm{d}\tau _d\dots \textrm{d}\tau _1. \end{aligned}$$

The series (7) is known as the Neumann series and the Dyson series [12], and it converges to the solution of equation (6) for all values of t provided that the matrix A(t) is bounded [3].

2.2 The Filon method

The Filon method is a quadrature rule designed for highly oscillatory integrals. Suppose we wish to approximate the following integral

$$\begin{aligned} I[h,(a,b)] = \int _a^b h(s)\textrm{e}^{\textrm{i}\omega g(s)}\textrm{d}s, \end{aligned}$$
(8)

where h and g are real-valued, sufficiently smooth functions, \(h\ne 0\) in [ab] and \(\omega \gg 1\). Numerical approximation of such integrals by standard methods based on the Taylor expansion leads to a significant error. Consider the Hermite interpolation polynomial p that approximates the function h, \(p(s)\approx h(s)\). Let p satisfy the following conditions

$$\begin{aligned} p^{(k)}(a) = h^{(k)}(a), \quad p^{(k)}(b) = h^{(k)}(b), \quad k=0,1,\dots N. \end{aligned}$$

We assume that the moments

$$\begin{aligned} \mu _k=\int _a^b s^k\textrm{e}^{\textrm{i}\omega g(s)} \textrm{d}s ,\quad k= 0,1,\dots 2N+1 \end{aligned}$$

can be calculated explicitly. The Filon method reads

$$\begin{aligned} \int _a^b h(s)\textrm{e}^{\textrm{i}\omega g(s)} \textrm{d}s \approx \int _a^b p(s) \textrm{e}^{\textrm{i}\omega g(s)}\textrm{d}s. \end{aligned}$$

The Filon method is very effective in the approximation of highly oscillatory integrals. Additionally, for small values of \(\omega \), it behaves similarly to standard quadrature rules.

Filon method may be used in approximation of multivariate highly oscillatory integrals. Various modifications of the Filon quadrature are possible; see, for example, [8].

3 Derivation of the method

For the convenience of presenting the method, we introduce the necessary notation and make the following general assumption, which will be used throughout the paper.

Notation

By \( H^{2p}(\Omega ) =W^{2p,2}(\Omega ) \), where p is a nonnegative integer, we understand the Sobolev space equipped with standard norm \(\Vert \ \ \Vert _{H^{2p}(\Omega )}\), and \(H^{p}_0(\Omega )\) is the closure of \(C_0^{\infty }(\Omega )\) in the space \(H^p(\Omega )\). By \(u[t](\tau )\) we understand function u such that \(u[t](\tau ) = u(t+\tau )\). We slightly abuse the notation and also denote \(u(t):=u( \cdot ,t)\) as an element of an appropriate Banach space. Throughout the text, by \(\Vert \ \ \Vert :=\Vert \ \ \Vert _{L^2(\Omega )}\) we understand the standard norm of \(L^2(\Omega )\) space.

Assumption 1

Suppose that

  1. 1.

    \(\Omega \) is an open and bounded set in \(\mathbb {R}^m\) with smooth boundary \(\partial \Omega \).

  2. 2.

    Operator \(-\mathcal {L}: D(\mathcal {L}):= H_0^p(\Omega )\cap H^{2p}(\Omega ) \rightarrow L^2(\Omega )\), where \(\mathcal {L}\) is of form (2), is a strongly elliptic of order 2p and has smooth, complex-valued coefficients \(a_{{\textbf {p}}}(x)\). Moreover \(2p>m/2\).

  3. 3.

    \(u_0 \in D(\mathcal {L}^4)\) and \(\alpha _n \in C^4\left( [0,t^\star ] ,H^{8p}(\Omega )\right) \), \(n = -N,\dots ,-1,1,\dots ,N,\) where \( D(\mathcal {L}^k)=\{u\in D(\mathcal {L}^{k-1}): \mathcal {L}^{k-1}u \in D(\mathcal {L})\}\), \(k=2,\dots \)

The assumed regularity of functions \(u_0\) and \(\alpha _n\) is related to the accuracy of the method. Assumption 1 ensures that differential operator \(\mathcal {L}\) is the infinitesimal generator of a strongly continuous semigroup \(\{\textrm{e}^{t\mathcal {L}}\}_ {t\ge 0}\) on \(L^2(\Omega )\) and therefore \(\max _{t \in [0,t^\star ]}\Vert \textrm{e}^{t\small \mathcal {L}}\Vert _{L^2(\Omega )\leftarrow L^2(\Omega )}\le C(t^\star )\), where \(C(t^\star )\) is some constant independent of t [17].

We wish to build the method based on time steps. Therefore, based on the semigroup property, we can modify equation (1) and express it as follows

$$\begin{aligned}&\partial _su[t](x,s)=\mathcal {L}u[t](x,s)+f[t](x,s)u[t](x,s),\qquad s\in [0,h],\quad x\in \Omega \subset \mathbb {R}^m,\\&u[t](x,0)=u(x,t), \nonumber \end{aligned}$$
(9)

where \(t\ge 0\) and \(h>0\) is a small time step. By u[t](xs) we understand \(u[t](x,s)= u(x,t+s)\). By applying Duhamel formula to (9), we obtain

$$\begin{aligned} u[t](s) = \textrm{e}^{s\small \mathcal {L}}u[t](0) +\int _0^s\textrm{e}^{(s-\tau )\small \mathcal {L}}f[t](\tau )u[t](\tau )\textrm{d}\tau . \end{aligned}$$
(10)

We could simply write \(u[t](s)= u(t+s)\), but the above notation helps avoid misunderstandings in subsequent formulas.

Let \(V_t\) denotes the following space

$$\begin{aligned} V_t := C\left( [t,t+h],L^2(\Omega )\right) , \quad t\ge 0,\quad h >0, \end{aligned}$$

Define the linear operator \(T_t:V_t\rightarrow V_t\)

$$\begin{aligned} T_tu[t](s) = \int _0^s\textrm{e}^{(s-\tau )\small \mathcal {L}}f[t](\tau ) u[t](\tau )\textrm{d}\tau , \quad s\in [0,h], \end{aligned}$$

where function f is defined in (3). The Neumann series for equation (10) reads

$$\begin{aligned} u[t](h) = \sum _{d=0}^{\infty }T^d_t\textrm{e}^{h\small \mathcal {L}}u[t](0). \end{aligned}$$
(11)

Term \(T^d_t\textrm{e}^{h\small \mathcal {L}}u[t](0), \ d=1,2,\dots \), from (11) is equal to

$$\begin{aligned} T^d_tv[t](h)=&\int _0^h\textrm{e}^{(h-\tau _d)\small \mathcal {L}}f[t](\tau _d)\int _0^{\tau _d}\textrm{e}^{(\tau _d-\tau _{d-1})\small \mathcal {L}}f[t](\tau _{d-1})\dots \\&\int _0^{\tau _2}\textrm{e}^{(\tau _2-\tau _1)\small \mathcal {L}}f[t](\tau _1)\textrm{e}^{\tau _1\small \mathcal {L}}u[t](0)\textrm{d}\tau _1\dots \textrm{d}\tau _d. \end{aligned}$$

It can be shown that the series (11) converges in the norms \(\Vert \ \ \Vert _{L^2(\Omega )}\) and \(\Vert \ \ \Vert _{H^{2p}(\Omega )}\) to the solution of equation (10), where \(2p >m/2\), for arbitrary time variable \(h>0\) [18]. The idea for finding an approximate solution to equation (1) involves approximating the first r terms of the Neumann series (11) using quadrature methods designated to highly oscillatory integrals. For convenience, we introduce a set

$$\begin{aligned} \varvec{N}^d:= \{-N,-N+1,\dots ,-1,1,\dots ,N-1,N\}^d \subset \mathbb {N}^d, \end{aligned}$$
(12)

where 2N is a number of terms in sum (3). Using definition (3) of the function f and the linearity of semigroup operator, we can write each term of the Neumann series \(T^d_t\textrm{e}^{h\small \mathcal {L}}u[t](0), \ \textrm{d}=1,2,\dots \) in a more convenient form for our considerations

$$\begin{aligned} T^d_t\textrm{e}^{h\small \mathcal {L}}u[t](0)= & {} \sum _{n_1,\dots ,n_d\in \varvec{N}^1}\int _{\sigma _d(h)}F_{\varvec{n}}(h,\tau _1,\dots ,\tau _d)\textrm{e}^{\textrm{i}\omega ( n_1(\tau _1+t)+\dots +n_d(\tau _d+t)) }\textrm{d}\tau _1\dots \tau _d\\= & {} \sum _{\varvec{n}\in \varvec{N}^d} \textrm{e}^{\textrm{i}\omega t\varvec{n}^T \varvec{1} }I[F_{\varvec{n}},\sigma _d(h)], \end{aligned}$$

where

$$\begin{aligned} F_{\varvec{n}}(h,\tau _1,\dots \tau _d)= & {} \textrm{e}^{(h-\tau _d)\small \mathcal {L}}\alpha _{n_d}[t](\tau _d)\textrm{e}^{(\tau _d-\tau _{d-1})\small \mathcal {L}}\alpha _{n_{d-1}}[t](\tau _{d-1})\\{} & {} \dots \textrm{e}^{(\tau _{2}-\tau _1)\small \mathcal {L}}\alpha _{n_1}[t](\tau _1)\textrm{e}^{\tau _1\small \mathcal {L}}u[t](0), \nonumber \\ I[F_{\varvec{n}},\sigma _d(h)]= & {} \int _{\sigma _d(h)}F_{\varvec{n}}(h,\varvec{\tau })\textrm{e}^{\textrm{i}\omega \varvec{n}^T \varvec{\tau } }\textrm{d}\varvec{\tau }, \nonumber \\ \varvec{\tau }= & {} (\tau _1,\tau _2,\dots ,\tau _d), \quad \varvec{1} = (1,1,\dots ,1),\nonumber \end{aligned}$$
(13)

and \(\sigma _d(h)\) denotes a d-dimensional simplex

$$\begin{aligned} \sigma _d(h)=\{\varvec{\tau }:=(\tau _1,\tau _2,\dots ,\tau _d)\in \mathbb {R}^d:h\ge \tau _d\ge \tau _{d-1}\ge \dots \ge \tau _2\ge \tau _1 \ge 0\}. \end{aligned}$$

Using the above notation, solution u of (10) can be written as

$$\begin{aligned} u(t+h)=u[t](h) = \textrm{e}^{h\small \mathcal {L}}u[t](0)+\sum _{d=1}^{\infty }\textrm{e}^{\textrm{i}\omega t\varvec{n}^T \varvec{1}}\sum _{\varvec{n}\in \varvec{N}^d} I[F_{\varvec{n}},\sigma _d(h)]. \end{aligned}$$
(14)

In the proposed numerical scheme, for each time step h we take the first four terms of the above series that approximate the function \(u(t+h)\)

$$\begin{aligned} u(t+h)\approx \textrm{e}^{h\small \mathcal {L}}u[t](0)+\sum _{d=1}^{3}\sum _{\varvec{n}\in \varvec{N}^d} \textrm{e}^{\textrm{i}\omega t\varvec{n}^T \varvec{1}}I[F_{\varvec{n}},\sigma _d(h)]. \end{aligned}$$

Then, we approximate each integral \(I[F_{\varvec{n}},\sigma _d(h)]\) in the above sum by applying the Filon quadrature. As a result, we derive a fourth-order local method. By employing Filon quadrature, the method’s error converges to zero both as \(h\rightarrow 0\) and as \(\omega \rightarrow \infty \). Our decision to consider only the first four terms in the Neumann expansion is rather arbitrary. The method can be enhanced to achieve a higher level of accuracy, albeit with increased computational costs and the requirement of better regularity for functions \(u_0\) and \(\alpha _n\).

Consider function \(F(\tau ):=F_{n_1}(h,\tau )\) from the second term of the Neumann series and the following univariate integral

$$\begin{aligned} \int _0^h F(\tau )\textrm{e}^{n_1\textrm{i}\omega \tau }\textrm{d}\tau , \end{aligned}$$

where \(n_1 =-N,-N+1,\dots ,-1,1,\dots ,N\). Let \(p(\tau )\) be a cubic Hermite interpolating polynomial

$$\begin{aligned} F(\tau ) \approx p(\tau ) = F(0)+a_{1,1}\tau +a_{1,2}\tau ^2+a_{1,3}\tau ^3, \end{aligned}$$

which satisfy the conditions: \(p(0)=F(0)\), \(p(h)=F(h)\), \(p'(0)=F'(0)\), \(p'(h)=F'(h)\). We have

$$\begin{aligned} \int _0^h F(\tau )\textrm{e}^{\textrm{i}n_1 \omega \tau }\textrm{d}\tau \approx \int _0^h p(\tau ) \textrm{e}^{\textrm{i}n_1\omega \tau } \textrm{d}\tau , \end{aligned}$$

and the moments

$$\begin{aligned} \int _0^h \tau ^k \textrm{e}^{\textrm{i}n_1\omega \tau }\textrm{d}\tau , \quad k=0,1,2,3, \end{aligned}$$

can be calculated explicitly. Let now \(F(\tau _1,\tau _2):=F_{\varvec{n}}(h,\tau _1,\tau _2), \ \varvec{n}\in \varvec{N}^2\), and consider a bivariate integral

$$\begin{aligned} \int _0^h \int _0^{\tau _2}F(\tau _1,\tau _2)\textrm{e}^{\textrm{i}\omega (n_1\tau _1+n_2\tau _2)} \textrm{d}\tau _1\textrm{d}\tau _2. \end{aligned}$$
(15)

We approximate function \(F(\tau _1,\tau _2)\) in points (0, 0), (0, h) and (hh), the vertices of the simplex \(\sigma _2(h)\), by linear function \(p(\tau _1,\tau _2)\),

$$\begin{aligned} F(\tau _1,\tau _2)\approx p(\tau _1,\tau _2)=F(0,0)+a_{2,1}\tau _1+a_{2,2}\tau _2. \end{aligned}$$

The approximation of integral (15) by the Filon quadrature rule reads

$$\begin{aligned} \int _0^h \int _0^{\tau _2}F(\tau _1,\tau _2)\textrm{e}^{\textrm{i}\omega (n_1\tau _1+n_2\tau _2)} \textrm{d}\tau _1\textrm{d}\tau _2\approx \int _0^h \int _0^{\tau _2}p(\tau _1,\tau _2)\textrm{e}^{\textrm{i}\omega (n_1\tau _1+n_2\tau _2)} \textrm{d}\tau _1\textrm{d}\tau _2, \end{aligned}$$

and the integral on the right-hand side can be computed explicitly. Similarly, we proceed with the triple integral. Function \(F(\tau _1,\tau _2,\tau _3):= F_{\varvec{n}}(h,\tau _1,\tau _2,\tau _3), \ \varvec{n} \in \varvec{N}^3\) is approximated by linear function p at the vertices of the simplex \(\sigma _3(h)\): (0, 0, 0), (0, 0, h), (0, hh), (hhh), 

$$\begin{aligned} F(\tau _1,\tau _2,\tau _3)\approx p(\tau _1,\tau _2,\tau _3)= F(0,0,0)+a_{3,1}\tau _1+a_{3,2}\tau _2+a_{3,3}\tau _3. \end{aligned}$$

Then we have

$$\begin{aligned}{} & {} \int _0^h \int _0^{\tau _3}\int _0^{\tau _2}F(\tau _1,\tau _2,\tau _3)\textrm{e}^{\textrm{i}\omega (n_1\tau _1+n_2\tau _2+n_3\tau _3)} \textrm{d}\tau _1\textrm{d}\tau _2\textrm{d}\tau _3 \\\approx & {} \int _0^h \int _0^{\tau _3} \int _0^{\tau _2}p(\tau _1,\tau _2,\tau _3)\textrm{e}^{\textrm{i}\omega (n_1\tau _1+n_2\tau _2+n_3\tau _3)} \textrm{d}\tau _1\textrm{d}\tau _2\textrm{d}\tau _3. \end{aligned}$$

The precise formulas for determining the coefficients \(a_{i,j}\) are presented in the Appendix A.

The proposed algorithm for computing the successive approximation of the solution u can be expressed in the following form:

$$\begin{aligned} u^{k+1}= & {} \Bigg ( \textrm{e}^{h\small \mathcal {L}}+ \sum _{n_1} \int _0^h \left( a_{1,0}+a_{1,1}\tau + a_{1,2}\tau ^2+a_{1,3}\tau ^3 \right) \textrm{e}^{n_1\textrm{i}\omega ( \tau +t_k)}\textrm{d}\tau \nonumber \\{} & {} + \sum _{n_1,n_2}\int _0^h \int _0^{\tau _2}(a_{2,0}+a_{2,1}\tau _1+a_{2,2}\tau _2)\textrm{e}^{\textrm{i}\omega (n_1(\tau _1+t_k)+n_2(\tau _2+t_k))}\textrm{d}\tau _1\textrm{d}\tau _2 \\{} & {} +\sum _{n_1,n_2,n_3} \int _0^h \int _0^{\tau _3}\int _0^{\tau _2}(a_{3,0}+a_{3,1}\tau _1+a_{3,2}\tau _2+a_{3,3}\tau _3)\textrm{e}^{\textrm{i}\omega (n_1(\tau _1+t_k)+n_2(\tau _2+t_k)+n_3(\tau _3+t_k))}\textrm{d}\tau _1\textrm{d}\tau _2\textrm{d}\tau _3\Bigg )u^k \nonumber \\ t_{k+1}= & {} t_{k}+h, \quad k=0,1,\dots ,K-1,\nonumber \end{aligned}$$
(16)

where \(u^0= u_0\), \(t_0=0\), \(t_K=t^\star \), \(n_1,n_2,n_3 \in \{-N,-N+1,\dots ,-1,1,\dots ,N\}\) and the coefficients \(a_{i,j}\) are chosen so that the corresponding polynomial satisfies the Hermite interpolation conditions. Each of the integrals appearing in the scheme is computed explicitly. Furthermore, the expression \(\textrm{e}^{h\small \mathcal {L}}\) and the coefficients \(a_{i,j}\) of the interpolating polynomials, after spatial discretization, can be computed very efficiently and accurately using spectral methods [20] and/or splitting methods [16].

4 Local error analysis

The entire error of the method comes from two sources: the approximation of each integral from the partial sum of the Neumann series, and the error associated with the truncation of the Neumann expansion. In [18], the authors provide the asymptotic expansion of integral \(I[F_{\varvec{n}},\sigma _d(h)]\) from the Neumann series (14), where \(F_{\varvec{n}}\) is the function of the form (13), for the special case when the potential function f has positive frequencies, specifically when f takes the form

$$\begin{aligned} f(x,t) = \sum _{\begin{array}{c} n=1 \end{array}}^{N}\alpha _n(x,t)e^{i n\omega t}, \quad \omega \gg 1, \quad N\in \mathbb {N}. \end{aligned}$$
(17)

In such a situation, each integral \(I[F_{\varvec{n}},\sigma _d(h)]\) satisfies the nonresonance condition and therefore can be approximated by the partial sum \(\mathcal {S}^{(d)}_r(h)\) of the asymptotic expansion

$$\begin{aligned} I[F_{\varvec{n}},\sigma _d(h)]=\int _{\sigma _d(h)}F(h,\varvec{\tau })\textrm{e}^{\textrm{i}\omega \varvec{n}^T\varvec{\tau } }\textrm{d}\varvec{\tau } = \mathcal {S}^{(d)}_r(h)+E^{(d)}_r(h), \quad r\ge d, \end{aligned}$$

where \(E^{(d)}_r(h)=\mathcal {O}(\omega ^{-r-1})\) is the error related to approximation of integral \(I[F_{\varvec{n}},\sigma _d(h)]\) by sum \(\mathcal {S}^{(d)}_r(h)\sim \mathcal {O}(\omega ^{-d})\). A similar result was first obtained in [14], where the authors provided the asymptotic expansion of a multivariate highly oscillatory integral over a regular simplex. However, in our analysis, the non-oscillatory function \(F_{\varvec{n}}\) is vector-valued rather than real-valued. We begin the error analysis of the proposed numerical method by considering function f from equation (1) in the form (17). Recall that \(\Vert \ \ \Vert \) denotes the standard norm of \(L^2(\Omega )\) space. In the following estimations, C is some constant that depends on functions \(\alpha _n\), initial condition u[t](0) of equation (9), their derivatives, solution u, differential operator \(\mathcal {L}\) and \(t^\star \), but it is independent of the time step h and the oscillatory parameter \(\omega \). Let us also note that since by Assumption 1, the function \(f \in C^4\left( [0,t^\star ] ,H^{8p}(\Omega )\right) \), we can apply the Sobolev embedding theorem to conclude that \(\Vert f(s)\Vert _\infty < \infty \) for all \(s \in [0,t^\star ]\). Therefore, the norm of product of two functions f and u can easily be estimated as \(\Vert f(s)u(s)\Vert \le \Vert f(s)\Vert _\infty \Vert u(s)\Vert , \ \forall s\in [0,t^\star ]\).

4.1 Positive frequencies

Lemma 1

Let \(F(\tau )\) be a 4 times continuously differentiable, vector-valued function, and let \(p(\tau )\) be a cubic Hermite interpolation polynomial such that \(p(0)=F(0)\), \(p(h)=F(h)\), \(p'(0)=F'(0)\), \(p'(h)=F'(h)\). Then the error of the Filon method satisfies

$$\begin{aligned} \left\| \int _0^h (F-p)(\tau )\textrm{e}^{\textrm{i}n_1 \omega \tau }\textrm{d}\tau \right\| \le C\min \left\{ h^5, \frac{1}{\omega ^3}, \frac{ h^3}{\omega ^2}\right\} . \end{aligned}$$

Proof

The estimation that the error is bounded by \(C\omega ^{-3}\) directly follows from well-known results concerning Filon quadrature, as described in [14]. By using the Taylor series with the remainder in integral form, one can show that \(\Vert F(\tau )-p(\tau )\Vert \le C h^4\) and \(\Vert F''(\tau )-p''(\tau )\Vert \le C h^2\). Therefore, by using integration by parts, we have

$$\begin{aligned} \left\| \int _0^h (F(\tau )-p(\tau ))\textrm{e}^{\textrm{i}n_1 \omega \tau }\textrm{d}\tau \right\| = \frac{1}{(n_1 \omega )^2}\left\| \int _0^h (F''(\tau )-p''(\tau ))\textrm{e}^{\textrm{i}n_1\omega \tau }\textrm{d}\tau \right\| \le C\frac{h^3}{\omega ^2}, \end{aligned}$$

which completes the proof. \(\square \)

Lemma 2

Let \(F(\tau _1,\tau _2)\) be a vector-valued function of class \(C^2\) and \(p(\tau _1,\tau _2)\) be a linear function that satisfies the conditions: \(p(0,0)=F(0,0)\), \(p(0,h)=F(0,h)\), \(p(h,h)=F(h,h)\). Let numbers \(n_1>0\), \(n_2>0\). Then

$$\begin{aligned} \left\| \int _0^h\int _0^{\tau _2}(F-p)(\tau _1,\tau _2)\textrm{e}^{\textrm{i}\omega (n_1 \tau _1+n_2\tau _2)}\textrm{d}\tau _1\textrm{d}\tau _2\right\| \le C\min \left\{ h^4, \frac{h^2}{\omega ^2}, \frac{1}{\omega ^3}\right\} . \end{aligned}$$

Proof

Since vector \((n_1,n_2)\) satisfies the nonresonance condition, the approximated integral \(I[F,\sigma _2(h)]\) can be expanded asymptotically \(I[F,\sigma _2(h)]\sim \mathcal {O}(\omega ^{-2})\), and therefore the Filon method provides that the error satisfy \(I[(F-p),\sigma _2(h)]=\mathcal {O}(\omega ^{-3})\) [14]. As in the case in the proof of Lemma 1, by using the Taylor series with the remainder in integral form, we have the estimations \(\Vert F(\tau _1,\tau _2)-p(\tau _1,\tau _2)\Vert \le C h^2\) and \(\Vert \partial _{\tau _1}^1\left( F(\tau _1,\tau _2)-p(\tau _1,\tau _2)\right) \Vert \le C h\). For simplicity, let us assume that \(n_1=n_2=1\). Using integration by parts, we get

$$\begin{aligned} \left\| \int _0^h\int _0^{\tau _2}(F\!-\!p)(\tau _1,\tau _2)\textrm{e}^{\textrm{i}\omega ( \tau _1+\tau _2)}\textrm{d}\tau _1\textrm{d}\tau _2\right\|\le & {} \frac{1}{\omega }\left\| \int _0^h (F-p)(\tau _2,\tau _2)\textrm{e}^{2\textrm{i}\omega \tau _2}-(F-p)(0,\tau _2)\textrm{e}^{\textrm{i}\omega \tau _2}\textrm{d}\tau _2\right\| \\{} & {} + \frac{1}{\omega ^2}\left\| \int _0^h \partial _{\tau _1}^1(F-p)(\tau _2,\tau _2)\textrm{e}^{2\textrm{i}\omega \tau _2} -\partial _{\tau _1}^1(F-p)(0,\tau _2)\textrm{e}^{\textrm{i}\omega \tau _2}\textrm{d}\tau _2\right\| \\{} & {} +\frac{1}{\omega ^2}\left\| \int _0^h\int _0^{\tau _2}\partial _{\tau _1}^2(F-p)(\tau _1,\tau _2)\textrm{e}^{\textrm{i}\omega ( \tau _1+\tau _2)}\textrm{d}\tau _1\textrm{d}\tau _2\right\| . \end{aligned}$$

The second and third term on the right side of the above inequality are bounded by \(Ch^2\omega ^{-2}\), where C is some constant independent of h and \(\omega \). In the case of the first expression, we again apply integration by parts and the definition of the polynomial p, and thus get the following

$$\begin{aligned}{} & {} \frac{1}{\omega }\left\| \int _0^h (F-p)(\tau _2,\tau _2)\textrm{e}^{2\textrm{i}\omega \tau _2}-(F-p)(0,\tau _2)\textrm{e}^{\textrm{i}\omega \tau _2}\textrm{d}\tau _2\right\| \\\le & {} \frac{1}{2\omega ^2}\left\| \int _0^h\partial _{\tau _2}^1(F-p)(\tau _2,\tau _2)\textrm{e}^{2\textrm{i}\omega \tau _2}\textrm{d}\tau _2\right\| +\frac{1}{\omega ^2}\left\| \int _0^h\partial _{\tau _2}^1(F-p)(0,\tau _2)\textrm{e}^{\textrm{i}\omega \tau _2}\textrm{d}\tau _2\right\| \le C\frac{h^2}{\omega ^2}, \end{aligned}$$

which concludes the proof. \(\square \)

In a similar vein, we estimate the error of the Filon method for the triple integral

Lemma 3

Let \(F(\tau _1,\tau _2,\tau _3)\) be a vector valued function of class \(C^2\) and \(p(\tau _1,\tau _2,\tau _3)\) be a linear function approximating F such that \(p(0,0,0)=F(0,0,0)\), \(p(0,0,h)=F(0,0,h)\), \(p(0,h,h)=F(0,h,h)\), \(p(h,h,h)=F(h,h,h)\). Let numbers \(n_1,n_2,n_3>0\). Then the error of the Filon method can be estimated as follows

$$\begin{aligned} \left\| \int _0^h \int _0^{\tau _3}\int _0^{\tau _2}(F-p)(\tau _1,\tau _2,\tau _3)\textrm{e}^{\textrm{i}\omega (n_1\tau _1+n_2\tau _2+n_3\tau _3)} \textrm{d}\tau _1\textrm{d}\tau _2\textrm{d}\tau _3\right\| \le C\min \left\{ h^5,\frac{h^3}{\omega ^2},\frac{1}{\omega ^4}\right\} . \end{aligned}$$

To complete the analysis of the local error, we need to estimate the truncation error of the Neumann series. We write the solution of (10) as

$$\begin{aligned} u[t](h) = \underbrace{\sum _{d=0}^{r}T^d_t\textrm{e}^{h\small \mathcal {L}}u[t](0)}_{=:u^{[r]}[t](h)}+ \underbrace{\sum _{d=r+1}^{\infty }T^d_t\textrm{e}^{h\small \mathcal {L}}u[t](0)}_{=:\mathcal {R}^{[r+1]}[t](h)} = u^{[r]}[t](h) + \mathcal {R}^{[r+1]}[t](h), \end{aligned}$$

where, in our considerations, we take \(r=3\).

Lemma 4

Let the function f from equation (10) be of the form (17). Then the remainder \(\mathcal {R}^{[4]}[t](h)\) of the Neumann series (11) satisfied the following estimate

$$\begin{aligned} \Vert \mathcal {R}^{[4]}[t](h)\Vert \le C\min \left\{ h^{4},\frac{h^{2}}{\omega ^{2}},\frac{1}{\omega ^4}\right\} , \end{aligned}$$

where constant C depends on functions \(\alpha _n\), u[t](0) their derivatives, solution u, operator \(\mathcal {L}\) and \(t^\star \), but is independent of time step h and parameter \(\omega \).

Proof

By using the basic properties of the operator norm and the fact that \(\Vert f\Vert _{\infty }<\infty \) we have

$$\begin{aligned} \left\| \mathcal {R}^{[4]}[t](h)\right\|&= \left\| \sum _{d=4}^{\infty }T^d_t\textrm{e}^{h\small \mathcal {L}}u[t](0) \right\| =\left\| T_t^{4}\sum _{d=0}^{\infty }T^d_t\textrm{e}^{h\small \mathcal {L}}u[t](0)\right\| \\&= \Vert T_t^4u[t](h)\Vert \le C h^{4}\sup _{s\in [0,h]}\Vert u[t](s)\Vert . \end{aligned}$$

Let us now denote by \(\varvec{T}_t\) the operator \(\varvec{T}_t = \sum _{d=0}^{\infty }T_t^{d}\). On the other hand, we estimate

$$\begin{aligned} \left\| \mathcal {R}^{[4]}[t](h)\right\|= & {} \left\| \sum _{d=4}^{\infty }T^d_t\textrm{e}^{h\small \mathcal {L}}u[t](0) \right\| = \left\| \sum _{d=0}^{\infty }T^d_tT^{4}_t\textrm{e}^{h\small \mathcal {L}}u[t] (0)\right\| = \left\| \textbf{T}_tT^{4}_t\textrm{e}^{h\small \mathcal {L}}u[t] (0)\right\| \\\le & {} \sup _{\Vert v[t](h)\Vert \le 1}\Vert \textbf{T}_t v[t](h)\Vert \Vert T_t^{4}\textrm{e}^{h\small \mathcal {L}}u[t](0)\Vert . \end{aligned}$$

Expression \(T_t^{4}\textrm{e}^{h\small \mathcal {L}}u[t](0)\) is a sum of highly oscillatory integrals over a 4-dimensional simplex which satisfy the nonresonance condition and therefore \(\Vert T_t^{4}\textrm{e}^{h\small \mathcal {L}}u[t](0)\Vert = \mathcal {O}(\omega ^{-4})\). In addition, by using basic properties of the operator norm and the simple inequality \(\Vert uv\Vert _{L^2} \le \Vert u\Vert _{L^2}\Vert v\Vert _{\infty }\), we have

$$\begin{aligned} \Vert T^4_t\textrm{e}^{h\small \mathcal {L}}u[t](0)\Vert= & {} \left\| \int _0^h\textrm{e}^{(h-\tau _4)\small \mathcal {L}}f[t](\tau _4)\int _0^{\tau _4}\textrm{e}^{(\tau _4-\tau _{3})\small \mathcal {L}}f[t](\tau _{3})T^2\textrm{e}^{\tau _3\small \mathcal {L}}u[t](0)\textrm{d}\tau _3\textrm{d}\tau _4\right\| \\\le & {} \int _0^h\left\| \textrm{e}^{(h-\tau _4)\small \mathcal {L}}f[t](\tau _4)\int _0^{\tau _4}\textrm{e}^{(\tau _4-\tau _{3})\small \mathcal {L}}f[t](\tau _{3})T^2\textrm{e}^{\tau _3\small \mathcal {L}}u[t](0)\textrm{d}\tau _3\right\| \textrm{d}\tau _4\\\le & {} C_1\int _0^h\left\| \int _0^{\tau _4}\textrm{e}^{(\tau _4-\tau _{3})\small \mathcal {L}}f[t](\tau _{3})T^2\textrm{e}^{\tau _3\small \mathcal {L}}u[t](0)\textrm{d}\tau _3\right\| \textrm{d}\tau _4\\\le & {} C_1\int _0^h\int _0^{\tau _4}\left\| \textrm{e}^{(\tau _4-\tau _{3})\small \mathcal {L}}f[t](\tau _{3})T^2\textrm{e}^{\tau _3\small \mathcal {L}}u[t](0)\right\| \textrm{d}\tau _3\textrm{d}\tau _4\\\le & {} C_1^2\int _0^h\int _0^{\tau _4}\left\| T^2\textrm{e}^{\tau _3\small \mathcal {L}}u[t](0)\right\| \textrm{d}\tau _3\textrm{d}\tau _4, \end{aligned}$$

where the constant \(C_1>0\) depends on the norm of the semigroup operator \(\{\textrm{e}^{t\small \mathcal {L}}\}_{t\in [0,t^\star ]}\) and the supremum norm of the function f. Since term \(T^2\textrm{e}^{\tau _3\small \mathcal {L}}u[t](0)\) satisfies \(\left\| T^2\textrm{e}^{\tau _3\small \mathcal {L}}u[t](0)\right\| =\mathcal {O}(\omega ^{-2})\), we obtain the estimate

$$\begin{aligned} \Vert T^4_t\textrm{e}^{h\small \mathcal {L}}u[t](0)\Vert \le C\frac{h^2}{\omega ^2}. \end{aligned}$$

Moreover, it can be observed that expression \(\varvec{T}_tv[t](h)\), where \(\Vert v[t](h)\Vert _2\le 1\) is the solution of the integral equation

$$\begin{aligned} \psi [t](h)=v[t](h)+\int _0^h \textrm{e}^{(h-\tau )\small \mathcal {L}}f[t](\tau )\psi [t](\tau )\textrm{d}\tau . \end{aligned}$$

By Grönwall’s inequality, expression \(\psi =\varvec{T}_tv[t](h)\) is also bounded in \(L^2\) norm for any function v[t](h) such that \(\Vert v[t](h)\Vert _2\le 1\). Using the boundedness of operator \(\varvec{T}_t\), we can estimate

$$\begin{aligned} \left\| \sum _{d=4}^{\infty }T^d_t\textrm{e}^{h\small \mathcal {L}}u[t](0) \right\| \le C \min \left\{ h^{4},\frac{h^{2}}{\omega ^{2}},\frac{1}{\omega ^4}\right\} . \end{aligned}$$

which completes the proof. \(\square \)

Let us emphasize that the time derivatives of the solution of the highly oscillatory equation (10) do not appear in the above estimates, which means that the constant C is independent of the parameter \(\omega \).

By collecting the estimations of integrals presented in Lemmas 1, 2, 3, and estimation of the remainder of the Neumann series in Lemma 4, one can provide the following local error bound of the scheme.

Theorem 1

Let Assumption 1 be satisfied and let the potential function f be of the form (17). Then the local error of the numerical scheme (16) satisfies the following estimate in the \(L^2\) norm

$$\begin{aligned} \Vert u(t_0+h)-u^1\Vert \le C\min \left\{ h^4, \frac{h^2}{\omega ^2}, \frac{1}{\omega ^3}\right\} , \end{aligned}$$

where constant C is independent of time step h and parameter \(\omega \).

4.2 The case involving negative frequencies

The situation becomes more complicated when we perform the error analysis of the proposed numerical integrator for potential function f in the general form (3). Let \(\varvec{n}=(n_1,\dots ,n_d) \in \varvec{N}^d\), where set \(\varvec{N}^d\) is defined in (12). Coordinates of \(\varvec{n}\) may satisfy

$$\begin{aligned} n_j + n_{j-1}+\dots +n_{r+1}+n_r = 0, \end{aligned}$$

for certain \(1\le j < r\le d\), and therefore \(\varvec{n}\) is orthogonal to the boundary of simplex \(\sigma _d(h)\). Vector \(\varvec{n}\) does not satisfy the nonresonance condition, and, as a result, simple integration by parts does not yield error estimates similar to those presented in Lemmas 1, 2, and 3. In this case, we still obtain the fourth-order local error estimate of the numerical scheme \(\Vert u(t_0+h)-u^1\Vert \le Ch^4\), where C is independent of \(\omega \) and h, but we wish to derive a numerical scheme whose accuracy improves significantly with increasing \(\omega \).

At this stage, we consider two bivariate integrals from the Neumann series, \( I[F_{\varvec{n}_1},\sigma _2(h)]\) and \(I[F_{\varvec{n}_2},\sigma _2(h)]\), where \(\varvec{n}_1 = (-n,n)\) and \(\varvec{n}_2 = (n,-n)\). Vectors \(\varvec{n}_1, \varvec{n}_2 \in \varvec{N}^2\) are orthogonal to the boundary of simplex \(\sigma _2(h)\). By integration by parts one can show that \(I[F_{\varvec{n}_1},\sigma _2(h)]\sim \mathcal {O}(\omega ^{-1})\), \(I[F_{\varvec{n}_2},\sigma _2(h)]\sim \mathcal {O}(\omega ^{-1})\) but sum of the integrals satisfies \(\left( I[F_{\varvec{n}_1},\sigma _2(h)] +[F_{\varvec{n}_2},\sigma _2(h)]\right) \sim \mathcal {O}(\omega ^{-2})\) [18]. We exploit this fact by imposing an additional interpolation condition to construct Filon’s quadrature rule for the sum of two bivariate integrals that do not satisfy the nonresonance condition. We also assume that coefficients of function f satisfy \(\alpha _{-n}=\alpha _n, \ \forall n\in \varvec{N}^1\), therefore \(F_{\varvec{n}_1}= F_{\varvec{n}_2}=:F_{\varvec{n}}\).

Theorem 2

Let coefficients \(\alpha _{-n}=\alpha _n, \ \forall n\in \varvec{N}^1\) and consider function \(F_{\varvec{n}}\) of the form (13), i.e. \(F_{\varvec{n}}(\tau _1,\tau _2)= \textrm{e}^{(h-\tau _2)\small \mathcal {L}}\alpha _n[t](\tau _2)\textrm{e}^{(\tau _2-\tau _1)\small \mathcal {L}}\alpha _n[t](\tau _1)\textrm{e}^{\tau _1\small \mathcal {L}}u[t](0)\). Let polynomial \(p(\tau _1,\tau _2) = b_0+ b_1\tau _1+b_2\tau _2+ b_3\tau _1\tau _2\) satisfies the following interpolation conditions

$$\begin{aligned} p(0,0) = F_{\varvec{n }}(0,0), \quad p(0,h) = F_{\varvec{n }}(0,h),\quad p(h,h) = F_{\varvec{n }}(h,h), \end{aligned}$$

and

$$\begin{aligned} \int _0^h \partial _{\tau _1}^1p(\tau _2,\tau _2)\textrm{d}\tau _2 =\int _0^h \partial _{\tau _1}^1F_{\varvec{n}}(\tau _2,\tau _2)\textrm{d}\tau _2. \end{aligned}$$
(18)

Then

$$\begin{aligned}{} & {} \left\| \int _0^h\int _0^{\tau _2}(F_{\varvec{n}}-p)(\tau _1,\tau _2)\textrm{e}^{\textrm{i}\omega n( \tau _1-\tau _2)}+(F_{\varvec{n}}-p)(\tau _1,\tau _2)\textrm{e}^{\textrm{i}\omega n(- \tau _1+\tau _2)}\textrm{d}\tau _1\textrm{d}\tau _2\right\| \\\le & {} C\min \left\{ h^4,\frac{h^2}{\omega ^2}, \frac{1}{\omega ^3}\right\} . \end{aligned}$$

Proof

For simplicity, we can assume \(n=1\). It follows from the previous considerations that \((F_{\varvec{n}}-p) = \mathcal {O}(h^2)\), \(\partial _{\tau _1}^1(F_{\varvec{n}}-p) = \mathcal {O}(h)\) and \(\partial _{\tau _2}^1(F_{\varvec{n}}-p) = \mathcal {O}(h)\). Integration by parts and application of interpolation conditions gives

$$\begin{aligned}{} & {} \left\| \int _0^h\int _0^{\tau _2}(F_{\varvec{n}}\!-p)(\tau _1,\tau _2)\textrm{e}^{\textrm{i}\omega (\tau _1\!-\tau _2)}+(F_{\varvec{n}}-p)(\tau _1,\tau _2)\textrm{e}^{\textrm{i}\omega (-\tau _1+\tau _2)}\textrm{d}\tau _1\textrm{d}\tau _2\right\| \\\le & {} \frac{1}{\omega }\left( \left\| \int _0^h(F_{\varvec{n}}\!-\!p)(\tau _2,\tau _2)\!-(F_{\varvec{n}}-p)(0,\tau _2)\textrm{e}^{-\textrm{i}\omega \tau _2}\textrm{d}\tau _2\!-\!\int _0^h(F_{\varvec{n}}\!-p)(\tau _2,\tau _2)\!-\!(F_{\varvec{n}}\!-p)(0,\tau _2)\textrm{e}^{\textrm{i}\omega \tau _2}\textrm{d}\tau _2\right\| \right) \\{} & {} + \frac{1}{\omega ^2}\left\| \int _0^h \partial _{\tau _1}^1((F_{\varvec{n}}-p)(\tau _2,\tau _2))\textrm{d}\tau _2\right\| +\frac{1}{\omega ^2}\left\| \int _0^h\partial _{\tau _1}^1((F_{\varvec{n}}-p)(0,\tau _2))\textrm{e}^{-\textrm{i}\omega \tau _2}\textrm{d}\tau _2\right\| \\{} & {} + \frac{1}{\omega ^2}\left\| \int _0^h \partial _{\tau _1}^1((F_{\varvec{n}}-p)(\tau _2,\tau _2))\textrm{d}\tau _2\right\| +\frac{1}{\omega ^2}\left\| \int _0^h\partial _{\tau _1}^1((F_{\varvec{n}}-p)(0,\tau _2))\textrm{e}^{\textrm{i}\omega \tau _2}\textrm{d}\tau _2\right\| \\{} & {} +\frac{1}{\omega ^2}\left\| \int _0^h\int _0^{\tau _2}\partial _{\tau _1}^2(F_{\varvec{n}}\!-\!p)(\tau _1,\tau _2)\textrm{e}^{\textrm{i}\omega (\tau _1-\tau _2)}\textrm{d}\tau _1\textrm{d}\tau _2\right\| \!+\frac{1}{\omega ^2}\left\| \int _0^h\int _0^{\tau _2}\partial _{\tau _1}^2(F_{\varvec{n}}\!-p)(\tau _1,\tau _2)\textrm{e}^{\textrm{i}\omega (-\tau _1+\tau _2)}\textrm{d}\tau _1\textrm{d}\tau _2\right\| \\\le & {} \frac{1}{\omega ^2}\left\| \int _0^h \partial _{\tau _2}^1(F_{\varvec{n}}\!-p)(0,\tau _2)\textrm{e}^{-\textrm{i}\omega \tau _2}\textrm{d}\tau _2\right\| +\frac{1}{\omega ^2}\left\| \int _0^h \partial _{\tau _2}^1(F_{\varvec{n}}-p)(0,\tau _2)\textrm{e}^{\textrm{i}\omega \tau _2}\textrm{d}\tau _2\right\| +C\min \left\{ \frac{h^2}{\omega ^2},\frac{1}{\omega ^3}\right\} \\\le & {} C\min \left\{ \frac{h^2}{\omega ^2},\frac{1}{\omega ^3}\right\} , \end{aligned}$$

which completes the proof. \(\square \)

Since the function \(F_{\varvec{n}}\) is non-oscillatory, we can compute the integral (18) efficiently and effortlessly, using methods such as Gauss-Legendre quadrature.

In the case when function f is of the form (3), and the coefficients of f satisfy \(\alpha _{-n}=\alpha _n, \ \forall n\in \varvec{N}^1\), the improved scheme reads

$$\begin{aligned} u^{k+1}= & {} \Bigg ( \textrm{e}^{h\small \mathcal {L}}+ \sum _{n_1} \int _0^h \left( a_{1,0}+a_{1,1}\tau + a_{1,2}\tau ^2+a_{1,3}\tau ^3 \right) \textrm{e}^{n_1\textrm{i}\omega ( \tau +t_k)}\textrm{d}\tau \\{} & {} + \sum _{n_1+n_2\ne 0}\int _{\sigma _2(h)}(a_{2,0}+a_{2,1}\tau _1+a_{2,2}\tau _2)\textrm{e}^{\textrm{i}\omega (n_1(\tau _1+t_k)+n_2(\tau _2+t_k))}\textrm{d}\tau _1\textrm{d}\tau _2\\{} & {} + \sum _{n=1}^{N}\int _{\sigma _2(h)}(b_0+ b_1\tau _1+b_2\tau _2+ b_3\tau _1\tau _2)(\textrm{e}^{\textrm{i}\omega n(\tau _1-\tau _2)}+\textrm{e}^{\textrm{i}\omega n(-\tau _1+\tau _2)})\textrm{d}\tau _1\textrm{d}\tau _2\\{} & {} +\sum _{n_1,n_2,n_3}\int _{\sigma _3(h)} (a_{3,0}+a_{3,1}\tau _1+a_{3,2}\tau _2+a_{3,3}\tau _3)\textrm{e}^{\textrm{i}\omega (n_1(\tau _1+t_k)+n_2(\tau _2+t_k)+n_3(\tau _3+t_k))}\textrm{d}\tau _1\textrm{d}\tau _2\textrm{d}\tau _3\Bigg )u^k,\\ t_{k+1}= & {} t_k+h. \end{aligned}$$

5 Application of the method to the wave equation

The proposed numerical scheme can be successfully applied to partial differential equations with the second-time derivative. Consider the equation

$$\begin{aligned}&\partial _{tt}u=\mathcal {L} u(x,t)+f(x,t)u(x,t),\qquad t\in [0,t^\star ],\ x\in \Omega \subset \mathbb {R}^m,\\&u(x,0)=u_1(x), \quad \partial _t u(x,0) = u_2(x), \nonumber \\&u=0 \ \text {on} \ \partial \Omega \times [0,t^\star ], \nonumber \end{aligned}$$
(19)

with function f given in (3). We write (19) as a first-order system

$$\begin{aligned} \partial _t\left[ \begin{array}{c} u \\ v \end{array} \right] = \left[ \begin{array}{cc} 0 &{} \mathcal {I} \\ \mathcal {L} &{} 0 \end{array} \right] \left[ \begin{array}{c} u \\ v \end{array} \right] + f\left[ \begin{array}{cc} 0 &{} 0 \\ \mathcal {I} &{} 0 \end{array} \right] \left[ \begin{array}{c} u \\ v \end{array} \right] , \end{aligned}$$

where \(v = \partial _t u\). Thus

$$\begin{aligned} \partial _t\underbrace{\left[ \begin{array}{c} u \\ v \end{array} \right] }_{\varphi } = \underbrace{\left[ \begin{array}{cc} 0 &{} \mathcal {I} \\ \mathcal {L} &{} 0 \end{array} \right] }_{A}\left[ \begin{array}{c} u \\ v \end{array} \right] +\sum _{n=1}^{N}\textrm{e}^{\textrm{i}n\omega t}\underbrace{ \left[ \begin{array}{cc} 0 &{} 0 \\ \alpha _n &{} 0 \end{array} \right] }_{\beta _n}\left[ \begin{array}{c} u \\ v \end{array} \right] \end{aligned}$$

and therefore

$$\begin{aligned} \partial _t\varphi = A\varphi +h\varphi , \quad \varphi (x,0)=[u_1(x),u_2(x)], \quad A(u,v) = (v,\mathcal {L}u), \quad \beta _n(u,v)=(0,u\alpha _n), \end{aligned}$$
(20)

where \(h(x,t)= \sum _{n=1}^{N}\textrm{e}^{\textrm{i}n\omega t}\beta _n(x,t)\) is a highly oscillatory function and \(\varphi \) is a vector valued function. Suppose that \(\mathcal {L}\) is a second-order differential operator which has symmetric form

$$\begin{aligned} \mathcal {L}u = \sum _{i,j=0}^{m}\partial _{x_j}\left( a_{ij}\partial _{x_j}u\right) -cu, \end{aligned}$$

where functions \(a_{ij}=a_{ji}, \ i,j=1,\dots ,m\) and \(c\ge 0\). By applying Duhamel’s formula we write (20) as

$$\begin{aligned} \varphi (t) = \textrm{e}^{tA}\varphi _0+\int _{0}^{t}\textrm{e}^{(t-\tau )A}h(\tau )\varphi (\tau )\textrm{d}\tau . \end{aligned}$$
(21)

Operator \(A: D(A):= \left[ H^{2}(\Omega )\cap H_0^1(\Omega ) \right] \times H_0^1(\Omega )\rightarrow H_0^1(\Omega )\times L^2(\Omega )\) is the infinitesimal generator of a strongly continuous semigroup \(\{\textrm{e}^{tA}\}\) on \(H_0^1(\Omega )\times L^2(\Omega )\) [9]. One can show that the Neumann series converges absolutely and uniformly in the norm of space \(H_0^1(\Omega )\times L^2(\Omega )\) to the solution of equation (21) [18].

6 Numerical examples

In this chapter, we employ the proposed numerical integrator to solve highly oscillatory heat equations and wave equations. For each equation, it is possible to determine the analytical solution, enabling accurate comparisons with the numerical approximation. The \(L^2\) norm of the error is considered in any presented example. In our numerical experiments, to find an approximate solution, we use the Fourier and Chebyshev spectral methods, as described in [19, 20]. In Examples 1, 3 and 4 we used \(M=100\) spatial grid points. Example 2 concerns a two-dimensional case, in which we used \(M=20\) grid points.

Example 1

The heat equation.

Consider the equation

$$\begin{aligned}&\partial _{t}u= \partial _{xx}^2 u+f(x,t)u(x,t),\qquad t\in [0,1],\ x\in (0,2\pi ), \nonumber \\&u(x,0)=u_0(x), \\&u(0,t) = 0=u(2\pi ,t) ,\nonumber \end{aligned}$$
(22)

with initial condition \(u_0\)

$$\begin{aligned} u_0(x)=\sin (x), \end{aligned}$$

and function f

$$\begin{aligned} f(x,t) = 1-\underbrace{\frac{(-\textrm{i}+t(\omega -3\textrm{i}))\cos (x)}{\omega }}_{\alpha _1}\textrm{e}^{\textrm{i}\omega t}+\underbrace{\frac{\sin (x)^2 t^2}{\omega ^2}}_{\alpha _2}\textrm{e}^{2\textrm{i}\omega t}. \end{aligned}$$

The potential function f involves time-dependent coefficients \(\alpha _1\) and \(\alpha _2\) The solution to (22) is

$$\begin{aligned} u(x,t) = \textrm{e}^{\textrm{i}\textrm{e}^{\textrm{i}\omega t}\cos (x)t/\omega }\sin (x). \end{aligned}$$

Figure 1 displays the error of the method for equation (22).

Fig. 1
figure 1

Numerical approximation of the solution to equation (22). Error versus time step (left graph) and error versus parameter \(\omega \) (right graph)

Fig. 2
figure 2

Numerical approximation of the solution to equation (23). Error versus time step (left graph) and error versus parameter \(\omega \) (right graph)

Example 2

Two-dimensional heat equation.

$$\begin{aligned}&\partial _{t}u(x,y,t)= \partial _{xx}^2 u(x,y,t)+\partial _{yy}^2 u(x,y,t)+f(x,y,t)u(x,y,t),\qquad t\in [0,1],\ x\in \Omega , \nonumber \\&u(x,y,0)=u_0(x,y), \\&u(x,y,t) = 0 \quad \text {on} \ \partial \Omega ,\nonumber \end{aligned}$$
(23)

where domain \(\Omega = [-1,1] \times [-1,1]\). The initial condition is

$$\begin{aligned} u_0(x,y) = \sin (\pi x)\sin (\pi y)\textrm{e}^{\cos (\pi x)\cos (\pi y)/\omega } , \end{aligned}$$

and function f

$$\begin{aligned} f(x,y,t) = 2\pi ^2+ \underbrace{\frac{(6\pi ^2+\textrm{i}\omega )\cos (\pi x)\cos (\pi y)}{\omega }}_{\alpha _1}\textrm{e}^{\textrm{i}\omega t}+ \underbrace{\frac{0.5\pi ^2(-1+\cos (2\pi x)\cos (2\pi y))}{\omega ^2}}_{\alpha _2}\textrm{e}^{2\textrm{i}\omega t}. \end{aligned}$$

The solution to equation (23) reads

$$\begin{aligned} u(x,y,t) = \sin (\pi x)\sin (\pi y)\exp (\exp (\textrm{i}\omega t)\cos (\pi x)\cos (\pi y)/\omega ). \end{aligned}$$

Figure 2 presents the error of the proposed method applied to equation (23).

Example 3

The wave equation with nonresonance points.

$$\begin{aligned}&\partial _{tt}u=\partial _{xx} \nonumber u+f(x,t)u(x,t),\qquad t\in [0,1],\ x\in (-L,L), \quad L=8,\\&u(x,0)=u_0(x), \quad \partial _t u(x,0) = v_0(x),\\&u(-L,t) =u(L,t) ,\nonumber \\&\partial _{t}u(-L,t) =\partial _{t}u(L,t), \nonumber \end{aligned}$$
(24)

where initial conditions

$$\begin{aligned} u_0(x)= \textrm{e}^{-x^2(1/2+1/\omega ^2)}, \quad v_0(x) = -\frac{ \textrm{i}x^2}{\omega } u_0(x), \end{aligned}$$

and function f

$$\begin{aligned} f(x,t) = 1-x^2+\frac{2+x^2(-4+\omega ^2)}{\omega ^2}\textrm{e}^{\textrm{i}\omega t}-\frac{x^2(4+x^2\omega ^2)}{\omega ^4}\textrm{e}^{2\textrm{i}\omega t}. \end{aligned}$$

The solution to (24) is

$$\begin{aligned} u(x,t) = \textrm{e}^{-x^2/2}\textrm{e}^{-\textrm{e}^{\textrm{i}t \omega }x^2/\omega ^2}. \end{aligned}$$

Figure 3 illustrates the error associated with the approximation of the solution to equation (24).

Fig. 3
figure 3

Numerical approximation of the solution to equation (24). Error versus time step (left graph) and error versus \(\omega \) (right graph)

Example 4

The wave equation with resonance points.

In the last example, consider now the wave equation with potential function f with negative frequencies

$$\begin{aligned}&\partial _{tt}u=\partial _{xx} u+f(x,t)u(x,t),\qquad t\in [0,1],\ x\in (-L,L), \quad L=8, \nonumber \\&u(x,0)=\textrm{e}^{-x^2(1/2+1/\omega ^2)}, \quad \partial _t u(x,0) = 0,\\&u(-L,t) =u(L,t) ,\nonumber \\&\partial _{t}u(-L,t) =\partial _{t}u(L,t), \nonumber \end{aligned}$$
(25)

where function f takes the form

$$\begin{aligned} f(x,t) = 1-x^2+\frac{(2+x^2\omega ^2-4x^2)\cos (\omega t)}{\omega ^2}-\frac{4x^2\cos ^2(\omega t)}{\omega ^4}+\frac{x^4\sin ^2(\omega t)}{\omega ^2}. \end{aligned}$$

The solution of (25) is equal to

$$\begin{aligned} u(x,t) = \textrm{e}^{-\cos (\omega t)x^2/\omega ^2}\textrm{e}^{-x^2/2}. \end{aligned}$$

Figure 4 presents the error of the proposed method for equation (25).

Fig. 4
figure 4

Numerical approximation of the solution to equation (25). Error versus time step (left figure) and error versus \(\omega \) (right figure)

The Neumann series converges for all variables t, unlike the Magnus expansion, which converges only locally. Therefore, in the proposed scheme, any time step can be taken to find an approximate solution. In Fig. 5, we illustrate the error of the method for all four examples with step size \(h=1\), where \(\omega \) ranges from 5 to 1000. In each graph of error versus time step h, it can be observed that the proposed method is effective for both small (\(\omega =5\)) and large (\(\omega =200\)) oscillatory parameter \(\omega \).

Fig. 5
figure 5

The error of approximating the solutions of equations (22), (23), (24), and (25), for \(\omega \) ranging from 5 to 1000, with step sizes \(h=1\)

Fig. 6
figure 6

Comparison of the proposed method NF3 with the exponential 4th order method (M4) and the exponential 2nd order midpoint method (M2). The numerical schemes have been applied to the equations (22), (23) and (24), where \(\omega =500\). Top row presents accuracy of schemes and the bottom row time of computation in seconds

6.1 Comparison with other methods

In this section, we compare the proposed numerical method (denoted as NF3) with selected existing methods. For this purpose, we used schemes based on the Magnus expansion: the exponential fourth-order method (denoted as M4) and the exponential midpoint method of order two (denoted as M2). Both integrators are described in detail in [11]. Each scheme was applied to equations (22), (23), and (24), where in each case the parameter \(\omega =500\). As is well known, the methods M4 and M2 are very effective for nonoscillatory equations. However, for a large parameter \(\omega \) which accounts for the oscillation of the equation, their effectiveness is limited. The proposed NF3 method performs particularly well in a highly oscillatory regime. The results of the comparisons are shown in Fig. 6.

7 Conclusion

The paper proposed a numerical integrator designed for linear partial differential equations with a highly oscillatory potential function of type (3). The numerical scheme is constructed by expanding the solution into the Neumann series. Subsequently, the first three integrals of the Neumann series are approximated using the Filon method. The classical and asymptotic order of the scheme is 3, which is confirmed by numerical experiments. The method is effective for both small and large values of the oscillatory parameter \(\omega \).

There are possible modifications of the proposed integrator. For integrals from the Neumann series, different extensions of the Filon method can be applied. For example, the nonoscillatory integrands can be approximated not only at points that are the ends of the integration interval but also at intermediate points. This should further improve the accuracy of the method.