Tensor-based PGD methods
Here we shortly recall the PGD algorithm in a general tensor framework, as described in [13, 14]. For a detailed formalization of the PGD method, we refer the interested reader, e.g., to [15,16,17,18,19,20]. The solution of a multidimensional problem is built as a sum of tensor products of functions defined in some sub-spaces with moderate dimension (1, 2 or 3), thus providing a general separable representation form. In particular, the authors make use of the best rank-1 approximation property of tensors of order 3 or higher [21] (in [22], it has been proved that tensors of order 3 or higher can fail to have best rank-n approximation) to propose an iterative method based on the so-called projection-enrichment technique [13].
Let \(\Omega \) be a multidimensional domain involving several coordinates \(x_i\) (not necessarily one-dimensional), which can coincide, for instance, with spatial coordinates, time, model or geometric parameters. We consider the weak formulation of a linear problem:
$$\begin{aligned} \begin{aligned}&\textit{Find}\, \psi \in V( \Omega ) \textit{ s.t. } \\&a( \psi ( x_1, \dots , x_d ), \psi ^*( x_1, \dots , x_d ) ) = b(\psi ^*( x_1, \dots , x_d )) \quad \forall \psi ^*\in V( \Omega ), \end{aligned} \end{aligned}$$
(1)
with \(V(\Omega )\) an adequate function space ensuring the well-posedness of such a formulation.
We assume that, after a discretization of problem (1), we are lead to solve the linear system:
$$\begin{aligned} {{}^{\mathrm{t}}{{{\,\mathrm{\varvec{\uppsi }}\,}}^*}} \mathcal {A} {{\,\mathrm{\varvec{\uppsi }}\,}}= {{}^{\mathrm{t}}{{{\,\mathrm{\varvec{\uppsi }}\,}}^*}} \mathcal {B}, \end{aligned}$$
(2)
where the operator on the left-hand side and the right-hand side member are expressed in a separated form as
$$\begin{aligned} {{\,\mathrm{\mathcal {A}}\,}}= \sum _{ k = 1 }^{N_A} {{\,\mathrm{\mathbf {A}}\,}}_1^k \otimes {{\,\mathrm{\mathbf {A}}\,}}_2^k \otimes \cdots \otimes {{\,\mathrm{\mathbf {A}}\,}}_d^k, \quad {{\,\mathrm{\mathcal {B}}\,}}= \sum _{ k = 1 }^{N_B} {{\,\mathrm{\mathbf {b}}\,}}_1^k \otimes {{\,\mathrm{\mathbf {b}}\,}}_2^k \otimes \cdots \otimes {{\,\mathrm{\mathbf {b}}\,}}_d^k. \end{aligned}$$
(3)
The approximated PGD solution \({{\,\mathrm{\varvec{\uppsi }}\,}}\) is sought in the discrete separated form
$$\begin{aligned} {{\,\mathrm{\varvec{\uppsi }}\,}}= \sum _{ j = 1 }^{N_F} \alpha _j {{\,\mathrm{\mathbf {f}}\,}}_1^j \otimes {{\,\mathrm{\mathbf {f}}\,}}_2^j \otimes \ldots \otimes {{\,\mathrm{\mathbf {f}}\,}}_d^j, \end{aligned}$$
(4)
and an analogous representation is adopted for the test function \({{\,\mathrm{\varvec{\uppsi }}\,}}^*\), being
$$\begin{aligned} {{\,\mathrm{\varvec{\uppsi }}\,}}^*={{\,\mathrm{\mathbf {f}}\,}}_1^i \otimes {{\,\mathrm{\mathbf {f}}\,}}_2^i \otimes \ldots \otimes {{\,\mathrm{\mathbf {f}}\,}}_d^i, \end{aligned}$$
with \(i=1, \ldots , N_F\).
Solution \({{\,\mathrm{\varvec{\uppsi }}\,}}\) is built-up by using a projection-enrichment iterative scheme [13]. In particular, it will be assumed that the global convergence is attained when the error estimator \(\varepsilon = \left| \left| {{\,\mathrm{\mathcal {A}}\,}}{{\,\mathrm{\varvec{\uppsi }}\,}}- {{\,\mathrm{\mathcal {B}}\,}}\right| \right| _2\) is small enough, where \(\left| \left| \cdot \right| \right| _2\) denotes the standard Frobenius norm of a tensor of order d.
The projection stage consists of finding the set of coefficients \(\alpha _j\) in (4) verifying the relations
$$\begin{aligned} \sum _{ j = 1 }^{N_F} H_{ij} \alpha _j = J_i \quad \forall i = 1, \dots , N_F \end{aligned}$$
(5)
where
$$\begin{aligned} H_{ij}&= \sum _{ k = 1 }^{N_A} \left( {}^{\mathrm{t}}{{{\,\mathrm{\mathbf {f}}\,}}_1^i} {{\,\mathrm{\mathbf {A}}\,}}_1^k {{\,\mathrm{\mathbf {f}}\,}}_1^j \right) \cdot \left( {}^{\mathrm{t}}{{{\,\mathrm{\mathbf {f}}\,}}_2^i} {{\,\mathrm{\mathbf {A}}\,}}_2^k {{\,\mathrm{\mathbf {f}}\,}}_2^j \right) \cdot \ldots \cdot \left( {}^{\mathrm{t}}{{{\,\mathrm{\mathbf {f}}\,}}_d^i} {{\,\mathrm{\mathbf {A}}\,}}_d^k {{\,\mathrm{\mathbf {f}}\,}}_d^j \right) ,\\ J_i&= \sum _{ k = 1 }^{N_B} \left( {}^{\mathrm{t}}{{{\,\mathrm{\mathbf {f}}\,}}_1^i} {{\,\mathrm{\mathbf {b}}\,}}_1^k \right) \cdot \left( {}^{\mathrm{t}}{{{\,\mathrm{\mathbf {f}}\,}}_2^i} {{\,\mathrm{\mathbf {b}}\,}}_2^k \right) \cdot \ldots \cdot \left( {}^{\mathrm{t}}{{{\,\mathrm{\mathbf {f}}\,}}_d^i} {{\,\mathrm{\mathbf {b}}\,}}_d^k \right) . \end{aligned}$$
The enrichment stage includes new candidates for enriching the reduced separated approximation basis, so that \({{\,\mathrm{\varvec{\uppsi }}\,}}\) can be updated as
$$\begin{aligned} {{\,\mathrm{\varvec{\uppsi }}\,}}= \underset{ {=:}{{\,\mathrm{\varvec{\uppsi }}\,}}_{{{\,\mathrm{\mathbf {f}}\,}}} }{\underbrace{\sum _{ j = 1 }^{N_F} \alpha _j {{\,\mathrm{\mathbf {f}}\,}}_1^j \otimes {{\,\mathrm{\mathbf {f}}\,}}_2^j \otimes \cdots \otimes {{\,\mathrm{\mathbf {f}}\,}}_d^j}} + \underset{ {=:}{{\,\mathrm{\varvec{\uppsi }}\,}}_{{{\,\mathrm{\mathbf {r}}\,}}} }{\underbrace{ {{\,\mathrm{\mathbf {r}}\,}}_1 \otimes {{\,\mathrm{\mathbf {r}}\,}}_2 \otimes \cdots \otimes {{\,\mathrm{\mathbf {r}}\,}}_d }}, \end{aligned}$$
(6)
and (2) is replaced by the system
$$\begin{aligned} {}^{\mathrm{t}}{{{\,\mathrm{\varvec{\uppsi }}\,}}^*} \mathcal {A} {{\,\mathrm{\varvec{\uppsi }}\,}}_{{{\,\mathrm{\mathbf {r}}\,}}}+ {}^{\mathrm{t}}{{{\,\mathrm{\varvec{\uppsi }}\,}}^*} \mathcal {A} {{\,\mathrm{\varvec{\uppsi }}\,}}_{{{\,\mathrm{\mathbf {f}}\,}}} = {}^{\mathrm{t}}{{{\,\mathrm{\varvec{\uppsi }}\,}}^*} \mathcal {B}. \end{aligned}$$
(7)
In particular, within a fixed point alternating direction algorithm, at each iteration we look for the computation of a single discrete function, \({{\,\mathrm{\mathbf {r}}\,}}_j\), all the other components of \({{\,\mathrm{\varvec{\uppsi }}\,}}_{{{\,\mathrm{\mathbf {r}}\,}}}\) being assumed known, and after setting \({{\,\mathrm{\varvec{\uppsi }}\,}}^*\) to \({{\,\mathrm{\mathbf {r}}\,}}_1 \otimes \cdots {{\,\mathrm{\mathbf {r}}\,}}_{j-1} \otimes {{\,\mathrm{\mathbf {r}}\,}}_{j}^*\otimes {{\,\mathrm{\mathbf {r}}\,}}_{j+1}\cdots \otimes {{\,\mathrm{\mathbf {r}}\,}}_d\). This strategy leads to solve the linear system
$$\begin{aligned} {{\,\mathrm{\mathbf {K}}\,}}{{\,\mathrm{\mathbf {r}}\,}}_j + {{\,\mathrm{\mathbf {v}}\,}}= \tilde{{{\,\mathrm{\mathbf {v}}\,}}}, \end{aligned}$$
(8)
where
$$\begin{aligned} \begin{aligned} {{\,\mathrm{\mathbf {K}}\,}}&= \sum _{ k = 1 }^{N_A} \bigg ( {{\,\mathrm{\mathbf {A}}\,}}_j^k \prod _{ \begin{array}{c} h = 1\\ h \ne j \end{array} }^{d} {}^{\mathrm{t}}{{{\,\mathrm{\mathbf {r}}\,}}_h} {{\,\mathrm{\mathbf {A}}\,}}_h^k {{\,\mathrm{\mathbf {r}}\,}}_h \bigg ),\\ {{\,\mathrm{\mathbf {v}}\,}}&= \sum _{i = 1}^{N_F} \sum _{ k = 1 }^{N_A} \bigg ( \alpha _i {{\,\mathrm{\mathbf {A}}\,}}_j^k {{\,\mathrm{\mathbf {f}}\,}}_j^i \prod _{ \begin{array}{c} h = 1\\ h \ne j \end{array} }^{d} {}^{\mathrm{t}}{{{\,\mathrm{\mathbf {r}}\,}}_h} {{\,\mathrm{\mathbf {A}}\,}}_h^k {{\,\mathrm{\mathbf {f}}\,}}_h^i \bigg ), \quad \tilde{{{\,\mathrm{\mathbf {v}}\,}}} = \sum _{k = 1}^{N_B} \bigg ( {{\,\mathrm{\mathbf {b}}\,}}_j^k \prod _{ \begin{array}{c} h = 1\\ h \ne j \end{array} }^{d} {}^{\mathrm{t}}{{{\,\mathrm{\mathbf {r}}\,}}_h} {{\,\mathrm{\mathbf {b}}\,}}_h^k \bigg ). \end{aligned} \end{aligned}$$
For the explicit computations leading to system (8), we refer the interested reader to [13], whereas a convergence analysis for this greedy rank-1 update algorithm can be found in [21].
Remark 0.1
The projection in (5) does not represent the only possible choice when defining \({{\,\mathrm{\varvec{\uppsi }}\,}}\). Alternatively, one could use a standard greedy-based enrichment [14, 21]. The aim of the projection is to regularize the solution, thus getting rid of possible spurious modes yielded by an enrichment procedure and, consequently, to enhance the global convergence. Indeed, since modes are normalized, coefficients \(\alpha _j\) in (5) can be intended as a truncation error since they express the importance of the different enrichment terms. This allows us to stop the enrichment procedure when not significant modes occur, thus limiting the inclusion of noisy information.
Remark 0.2
As discussed in [13], the convergence of the fixed point strategy characterizing the enrichment step is guaranteed for symmetric discrete operators. Actually, numerical tests performed with non symmetric discrete operators (e.g., with hyperbolic operators) exhibit some difficulties in the convergence of the fixed point procedure as well as a loss of optimality in terms of number of function products to be computed. For this reason, all the problems analyzed in this work are suitably rewritten in order to deal with a symmetric operator. In general, the new problem to be solved reads:
$$\begin{aligned} {{}^{\mathrm{t}}{{{\,\mathrm{\varvec{\uppsi }}\,}}^*}} {}^{\mathrm{t}}{\mathcal {A}} \mathcal {A} {{\,\mathrm{\varvec{\uppsi }}\,}}= {{}^{\mathrm{t}}{{{\,\mathrm{\varvec{\uppsi }}\,}}^*}} {}^{\mathrm{t}}{\mathcal {A}} \mathcal {B}, \end{aligned}$$
and the associated projection stage becomes
$$\begin{aligned} \sum _{ j = 1 }^{N_F} H^S_{ij} \alpha _j = J^S_i \quad \forall i = 1, \dots , N_F \end{aligned}$$
where
$$\begin{aligned} H^S_{ij}&= \sum _{ k' = 1 }^{N_A} \sum _{ k = 1 }^{N_A} \left( {}^{\mathrm{t}}{{{\,\mathrm{\mathbf {f}}\,}}_1^i} {}^{\mathrm{t}}{{{\,\mathrm{\mathbf {A}}\,}}}_1^{k'} {{\,\mathrm{\mathbf {A}}\,}}_1^k {{\,\mathrm{\mathbf {f}}\,}}_1^j \right) \cdot \left( {}^{\mathrm{t}}{{{\,\mathrm{\mathbf {f}}\,}}_2^i} {}^{\mathrm{t}}{{{\,\mathrm{\mathbf {A}}\,}}}_2^{k'} {{\,\mathrm{\mathbf {A}}\,}}_2^k {{\,\mathrm{\mathbf {f}}\,}}_2^j \right) \cdot \ldots \cdot \left( {}^{\mathrm{t}}{{{\,\mathrm{\mathbf {f}}\,}}_d^i} {}^{\mathrm{t}}{{{\,\mathrm{\mathbf {A}}\,}}}_d^{k'} {{\,\mathrm{\mathbf {A}}\,}}_d^k {{\,\mathrm{\mathbf {f}}\,}}_d^j \right) ,\\ J^S_i&= \sum _{ k' = 1 }^{N_A} \sum _{ k = 1 }^{N_B} \left( {}^{\mathrm{t}}{{{\,\mathrm{\mathbf {f}}\,}}_1^i} {}^{\mathrm{t}}{{{\,\mathrm{\mathbf {A}}\,}}}_1^{k'} {{\,\mathrm{\mathbf {b}}\,}}_1^k \right) \cdot \left( {}^{\mathrm{t}}{{{\,\mathrm{\mathbf {f}}\,}}_2^i} {}^{\mathrm{t}}{{{\,\mathrm{\mathbf {A}}\,}}}_2^{k'} {{\,\mathrm{\mathbf {b}}\,}}_2^k \right) \cdot \ldots \cdot \left( {}^{\mathrm{t}}{{{\,\mathrm{\mathbf {f}}\,}}_d^i} {}^{\mathrm{t}}{{{\,\mathrm{\mathbf {A}}\,}}}_d^{k'} {{\,\mathrm{\mathbf {b}}\,}}_d^k \right) . \end{aligned}$$
Analogously, system (7) will be replaced by the new one
$$\begin{aligned} {{}^{\mathrm{t}}{{{\,\mathrm{\varvec{\uppsi }}\,}}^*}} {}^{\mathrm{t}}{{{\,\mathrm{\mathcal {A}}\,}}} {{\,\mathrm{\mathcal {A}}\,}}{{\,\mathrm{\varvec{\uppsi }}\,}}_{{{\,\mathrm{\mathbf {r}}\,}}} + {{}^{\mathrm{t}}{{{\,\mathrm{\varvec{\uppsi }}\,}}^*}}{}^{\mathrm{t}}{{{\,\mathrm{\mathcal {A}}\,}}} {{\,\mathrm{\mathcal {A}}\,}}{{\,\mathrm{\varvec{\uppsi }}\,}}_{{{\,\mathrm{\mathbf {f}}\,}}} = {{}^{\mathrm{t}}{{{\,\mathrm{\varvec{\uppsi }}\,}}^*}}{}^{\mathrm{t}}{{{\,\mathrm{\mathcal {A}}\,}}} {{\,\mathrm{\mathcal {B}}\,}}, \end{aligned}$$
so that system (8) takes the form
$$\begin{aligned} {{\,\mathrm{\mathbf {K}}\,}}^S {{\,\mathrm{\mathbf {r}}\,}}_j + {{\,\mathrm{\mathbf {v}}\,}}^S = \tilde{{{\,\mathrm{\mathbf {v}}\,}}}^S, \end{aligned}$$
with
$$\begin{aligned} {{{\,\mathrm{\mathbf {K}}\,}}^S}&= \sum _{ k' = 1 }^{N_A} \sum _{ k = 1 }^{N_A} \bigg ( {}^{\mathrm{t}}{{{\,\mathrm{\mathbf {A}}\,}}}_j^{k'} {{\,\mathrm{\mathbf {A}}\,}}_j^k \prod _{ \begin{array}{c} h = 1\\ h \ne j \end{array} }^{d} {}^{\mathrm{t}}{{{\,\mathrm{\mathbf {r}}\,}}_h} {}^{\mathrm{t}}{{{\,\mathrm{\mathbf {A}}\,}}}_h^{k'}{{\,\mathrm{\mathbf {A}}\,}}_h^k {{\,\mathrm{\mathbf {r}}\,}}_h \bigg ), \\ {{{\,\mathrm{\mathbf {v}}\,}}^S}&= \sum _{i = 1}^{N_F} \sum _{ k' = 1 }^{N_A} \sum _{ k = 1 }^{N_A} \bigg ( \alpha _i {}^{\mathrm{t}}{{{\,\mathrm{\mathbf {A}}\,}}}_j^{k'} {{\,\mathrm{\mathbf {A}}\,}}_j^k {{\,\mathrm{\mathbf {f}}\,}}_j^i \prod _{ \begin{array}{c} h = 1\\ h \ne j \end{array} }^{d} {}^{\mathrm{t}}{{{\,\mathrm{\mathbf {r}}\,}}_h} {}^{\mathrm{t}}{{{\,\mathrm{\mathbf {A}}\,}}}_h^{k'} {{\,\mathrm{\mathbf {A}}\,}}_h^k {{\,\mathrm{\mathbf {f}}\,}}_h^i \bigg ), \\ {\tilde{{{\,\mathrm{\mathbf {v}}\,}}}^S}&= \sum _{k' = 1}^{N_A} \sum _{k = 1}^{N_B} \bigg ( {}^{\mathrm{t}}{{{\,\mathrm{\mathbf {A}}\,}}}_j^{k'} {{\,\mathrm{\mathbf {b}}\,}}_j^k \prod _{ \begin{array}{c} h = 1\\ h \ne j \end{array} }^{d} {}^{\mathrm{t}}{{{\,\mathrm{\mathbf {r}}\,}}_h} {}^{\mathrm{t}}{{{\,\mathrm{\mathbf {A}}\,}}}_h^{k'} {{\,\mathrm{\mathbf {b}}\,}}_h^k\bigg ). \end{aligned}$$
A two-time scale separated representation within the PGD method
In the proposal of numerical methods to manage multi-scale phenomena, a crucial point is represented by the capability to ensure the continuity of the approximation. This turns out to be an issue also when dealing with a PGD approach. For instance, in [9], PGD is combined with the partition of unity (PU) paradigm to circumvent the continuity problem. Thus, a generic multiscale function u is expressed as
$$\begin{aligned} u(x) = \sum _{ i = 1 }^N N_i(x) u_i \sum _{ j = 1 }^J G_j( {\xi } (x - x_i) ) g_j, \end{aligned}$$
(9)
where the collection, \(\{x_i\}_{i=1}^N\), of the so-called centroids \(x_i\) introduces a macro-partition of the time window, \(N_i(x)\) is the macroscale shape function associated with the i-th centroid, \(x_i\), \({\xi } (x - x_i)\) is a dependent variable characterized by an offset based on \(x_i\), and \(G_j({\xi })\) denotes the j-th microscale shape function, with \(g_j\) the corresponding microscale degree of freedom. Here, the microscale effects occurring in the compact support of the macroscale shape function \(N_i(x)\) are mapped into the corresponding microscale space, via \({\xi }\). Formulation (9) allows the authors to automatically ensure the continuity to the approximation u as proved in [9]. Other formulations enforce the continuity in different way, for instance by resorting to Lagrange multipliers as in [1].
The present work takes a step forward with respect to the available literature by proposing a new approach which ensures the continuity of the PGD solution in a computationally inexpensive manner, without resorting to Lagrange multipliers or penalization strategies.
We exemplify the new method on a simple problem, i.e., on the heat equation solved in a one-dimensional spatial domain \(\Omega _{x} = (0,L)\) over the time window \(\Omega _t = (0, T_f)\), and completed with non homogeneous Dirichlet data,
$$\begin{aligned} \left\{ \begin{array}{ll} \displaystyle \frac{\partial u}{\partial t} - k \frac{\partial ^2 u}{\partial {x}^2} = f \quad &{} \text { in } \Omega _x \times \Omega _t \\[3mm] u(x, 0) = u_0(x) &{} \text { in } \Omega _x\\ u(0, t) = u(L, t) = u_g(t) &{} \text { in } \Omega _t, \end{array} \right. \end{aligned}$$
(10)
with k the diffusivity coefficient and \(f=f(x,t)\) the source term.
A standard time-marching approach requires a discretization of \(\Omega _{t}\) by means of \(N_t\) times. On the contrary, the technique here presented is based on splitting the whole time interval \((0,T_{f})\) into M macro subintervals \(\Omega _{i+1} = [T_i,T_{i+1}]\), for \(i = 0,\dots , M-1\), of constant amplitude \(\Delta T\), by choosing a sequence \(\left\{ T_i \right\} _{i=0}^{M}\) of equispaced macro-dofs and by setting \(T_0 = 0\) and \(T_M = T_f\). Afterwards, in the first macro subinterval, a new continuous time-microscale, \(\tau (\Omega _1)\), is introduced so that the subinterval \(\Omega _1\) is discretized by involving \(m + 1\) micro-dofs, \(\{\tau _j^1\}_{j=0}^m\) and setting \(\tau _0^1 = T_0\). Also the discretization at the microscale is uniform, with a constant time step set to \(\Delta \tau \) throughout \(\Omega _{1}\). Moreover, the last micro-dof is internal to \(\Omega _1\), being \(\tau ^1_m=T_1-\Delta \tau \). By means of a tensor product, the micro discretization in \(\Omega _1\) is replicated throughout the other subintervals \(\Omega _{i+1}\), covering the whole time window (see Fig. 1 for a sketch). In such a way, a fine time grid consisting of \(N_t = M(m+1)\) dofs is obtained by mapping \(m+1\) micro-dofs onto a coarser grid of M macro intervals, without a priori needing a fine discretization of the whole time window. In particular, the value of the solution at the right endpoint, \(T_{i+1}\), of each subinterval \(\Omega _{i+1}\) is recovered by means of this tensor product. As a consequence, such a discretization is intentionally not meant to predict values at \(T_M = T_f\). Figure 2 shows the Cartesian product of the macro and micro dofs together, with the associated nodal evaluations of the generic unknown function u in (10).
If we discretize the time derivative in (10) by means of a standard finite difference formula, we have:
$$\begin{aligned} \forall n \in \{0, 1, \dots , N_t - 1\},\quad \frac{\partial u}{\partial t} \approx \frac{1}{\Delta t} (u_{n + 1} - u_n), \end{aligned}$$
(11)
that we can write also as
$$\begin{aligned} \frac{\partial u}{\partial t} \approx {{\,\mathrm{\mathbf {E}}\,}}_{N_t} {{\,\mathrm{\mathbf {u}}\,}}, \end{aligned}$$
(12)
with
$$\begin{aligned} {{\,\mathrm{\mathbf {E}}\,}}_{N_t}&= \frac{1}{\Delta t} \begin{pmatrix} 1 &{} 0 &{} 0 &{} \cdots &{} 0&{} 0 &{} 0 \\ -1 &{} 1 &{} 0 &{} 0 &{} \cdots &{} 0 &{} 0\\ 0 &{} -1 &{} 1 &{} 0 &{} 0 &{} \cdots &{} 0 \\ \vdots &{} \ddots &{} \ddots &{} \ddots &{} \ddots &{} \ddots &{} \vdots \\ 0 &{} \cdots &{} 0 &{} -1 &{} 1 &{} 0 &{} 0 \\ 0 &{} 0 &{} \cdots &{} 0 &{} -1 &{} 1 &{} 0\\ 0 &{} 0 &{} 0 &{} \cdots &{} 0 &{} -1 &{} 1\\ \end{pmatrix}_{N_t}\text { and } {{\,\mathrm{\mathbf {u}}\,}}= \begin{pmatrix} u_1\\ u_2\\ \vdots \\ u_{N_t} \end{pmatrix}, \end{aligned}$$
(13)
where the first equation understands that the initial value \(u_0\) has to be included in the right-hand side of the equation associated with \(n=0\), while the subscript \(N_t\) for the operator \({{\,\mathrm{\mathbf {E}}\,}}\) denotes the size of the corresponding matrix. This notation will be particularly useful to simplify the discussion which follows.
Using a two-scale time variable, the time derivative in (11) is replaced by the new one
$$\begin{aligned} \frac{\partial }{\partial \tau } u( T, \tau ), \end{aligned}$$
where \(T \in \{T_i\}_{i=0}^{M-1}\) is adopted to identify the subinterval \(\Omega _{i+1}\) of interest, while \(\tau \in [T_0, T_1)\) represents the actual temporal independent variable, spanning \(\Omega _1\), i.e, via tensor product, the generic subinterval \(\Omega _{i+1}\). This leads to perform the time derivation with respect to variable \(\tau \).
With a view to the application of PGD for approximating problem (10) with the two-scale time discretization, matrix \({{\,\mathrm{\mathbf {E}}\,}}_{N_t}\) in (13) associated with the standard time coordinate deserves to be modified in order to replicate the PGD tensor structure. The idea is to introduce a suitable macro-micro decomposition of the time derivative operator in (12). For this purpose, let us identify the partial derivative of order zero with respect to T, \(\frac{\partial ^0}{\partial T^0}\), with the identity operator, so that, \(\frac{\partial ^0}{\partial T^0}f(T)= f(T)\), and, as a consequence, identity
$$\begin{aligned} \frac{\partial }{\partial \tau } u(T,\tau ) = \left( \frac{\partial ^0}{\partial T^0} \otimes \frac{\partial }{\partial \tau }\right) u(T,\tau ) \end{aligned}$$
holds true. This equality suggested the authors in [1] to propose the approximation
$$\begin{aligned} \frac{\partial }{\partial t} \approx \frac{\partial ^0}{\partial T^0} \otimes \frac{\partial }{\partial \tau }, \end{aligned}$$
(14)
for the standard time derivative, which will be investigated and further developed throughout this work. Approximation (14) can thus be written in matrix form as
$$\begin{aligned} {{\,\mathrm{\mathbf {E}}\,}}_{N_t} \approx {{{\,\mathrm{\mathbf {E}}\,}}_{T^0, \tau }} ={{\,\mathrm{\mathbf {E}}\,}}_{m+1} \otimes {{\,\mathrm{\mathbf {I}}\,}}_{M} = \begin{pmatrix} \,{{\,\mathrm{\mathbf {E}}\,}}_{m+1} &{} {{\,\mathrm{\mathbf {0}}\,}}&{} {{\,\mathrm{\mathbf {0}}\,}}\, \\ \,{{\,\mathrm{\mathbf {0}}\,}}&{} \ddots &{} {{\,\mathrm{\mathbf {0}}\,}}\, \\ \,{{\,\mathrm{\mathbf {0}}\,}}&{} {{\,\mathrm{\mathbf {0}}\,}}&{} {{\,\mathrm{\mathbf {E}}\,}}_{m+1}\, \\ \end{pmatrix}_{M}, \end{aligned}$$
(15)
where now the subscript M refers to the number of blocks constituting matrix \({{\,\mathrm{\mathbf {E}}\,}}_{T^0, \tau }\), while matrix \({{\,\mathrm{\mathbf {E}}\,}}_{m+1}\), sized according to discretization at the micro-scale, is defined as in (13), after replacing \(\Delta t\) with \(\Delta \tau \), and replicated throughout the subintervals \(\Omega _{i+1}\) by means of the Kronecker product with the discrete identity operator \({{\,\mathrm{\mathbf {I}}\,}}_M\).Footnote 2
However, definition (15) leads to have some entries along the first sub-diagonal which are identically null. This happens essentially when switching from a block to the subsequent one, namely, when moving from the last internal dof associated with the micro-scale in a certain subinterval, \(\Omega _{i+1}\), to the first dof associated with the macro-scale of the subinterval \(\Omega _{i+2}\), resulting in a loss of continuity between the fine and the coarse time grids. An effective, yet computationally demanding, remedy to this issue is based on enforcing the continuity in all the macrodofs, either by using a penalized formulation or by employing Lagrange multipliers, as detailed in [1].
In this work, we propose to exploit the properties of the tensor product to recover the equality in (15). To this aim, we introduce the decomposition
$$\begin{aligned} \begin{aligned} {{\,\mathrm{\mathbf {E}}\,}}_{N_t}&= \frac{1}{\Delta \tau } \begin{pmatrix} 1 &{} 0 &{} 0 &{} \cdots &{} \cdots &{} 0\\ -1 &{} 1 &{} 0 &{} 0 &{} \cdots &{} 0 \\ 0 &{} \ddots &{}\ddots &{} \ddots &{} \ddots &{} 0\\ \vdots &{} \ddots &{} \ddots &{} \ddots &{} \ddots &{} \vdots \\ 0 &{} \cdots &{} 0 &{} -1 &{} 1 &{} 0\\ 0 &{} \cdots &{} \cdots &{} 0 &{} -1 &{} 1 \end{pmatrix}_{m+1} \otimes \quad \begin{pmatrix} 1 &{} 0 &{} \cdots &{} \cdots &{} 0\\ 0 &{} 1 &{} \ddots &{} \ddots &{} \vdots \\ \vdots &{} \ddots &{} \ddots &{} \ddots &{} \vdots \\ \vdots &{} \ddots &{} \ddots &{} 1 &{} 0\\ 0 &{} \cdots &{} \cdots &{} 0 &{} 1 \end{pmatrix}_{M} \\&\quad + \frac{1}{\Delta \tau } \begin{pmatrix} 0 &{} 0 &{} 0 &{} \cdots &{} 0 &{} -1 \\ 0 &{} 0 &{} 0 &{} 0 &{} \cdots &{} 0 \\ 0 &{} \ddots &{}\ddots &{} \ddots &{} \ddots &{} 0\\ \vdots &{} \ddots &{} \ddots &{} \ddots &{} \ddots &{} \vdots \\ 0 &{} \cdots &{} 0 &{} 0 &{} 0 &{} 0\\ 0 &{} 0 &{} \cdots &{} 0 &{} 0 &{} 0 \end{pmatrix}_{m+1} \otimes \quad \begin{pmatrix} 0 &{} 0 &{} \cdots &{} \cdots &{} 0\\ 1 &{} 0 &{} \ddots &{} \ddots &{} \vdots \\ 0 &{} 1 &{} \ddots &{} \ddots &{} \vdots \\ \vdots &{} \ddots &{} \ddots &{} \ddots &{} 0\\ 0 &{} \cdots &{} 0 &{} 1 &{} 0 \end{pmatrix}_{M} \end{aligned} \end{aligned}$$
(16)
which, in a compact form, reads as
$$\begin{aligned} {{\,\mathrm{\mathbf {E}}\,}}_{N_t} = {{\,\mathrm{\mathbf {E}}\,}}_{m+1} \otimes {{\,\mathrm{\mathbf {I}}\,}}_{M} + {{\,\mathrm{\mathbf {C}}\,}}_{m+1} \otimes {{\,\mathrm{\mathbf {L}}\,}}_{M} \end{aligned}$$
(17)
where matrices \({{\,\mathrm{\mathbf {C}}\,}}_{m+1}\) and \({{\,\mathrm{\mathbf {L}}\,}}_M\) are defined as
$$\begin{aligned} {\displaystyle {{\left( {{\,\mathrm{\mathbf {C}}\,}}_{m+1}\right) }_{ij}= -\frac{1}{\Delta \tau } \left\{ \begin{array}{cl} 1 &{} \text{ if } i=1, j=m+1\\ 0 &{} \text{ otherwise }, \end{array} \right. } \qquad {\left( {{\,\mathrm{\mathbf {L}}\,}}_M\right) }_{ij} =\delta _{i,j+1},} \end{aligned}$$
(18)
respectively with \({\displaystyle \delta _{ij}}\) the Kronecker symbol. The decomposition in (17) allows us to reconstruct the correct time derivative operator while preserving the macro-micro decomposition characterizing the two-scale time derivative operator. This method embraces the PGD formalism while reducing significantly the computational cost, since no extra computational effort is required to enforce continuity at each dof associated with the macroscale.
Remark 0.3
The multiscale approach proposed in this paper exhibits two main benefits:
-
1.
The possibility of describing in an efficient way physical phenomena with the fine scale resolution;
-
2.
A description richness equal to \(N_t = M (m+1)\) accomplished with a computational complexity of the order of \(M+m+1\), thus yielding considerably reduced memory allocation requirements to store time operators.
Coming back to the approximation of the heat equation in (10), a classical discrete PGD approximation, based on a space–time separated form, reads:
$$\begin{aligned} \begin{aligned} \textit{Find}\, \mathbf {U}_H {=} \sum _{ k = 1 }^{N_U} {{\,\mathrm{\mathbf {u}}\,}}_1^k \otimes {{\,\mathrm{\mathbf {u}}\,}}_2^k \textit{ such that } {{\,\mathrm{\mathcal {A}}\,}}_H \mathbf {U}_H = {{\,\mathrm{\mathcal {B}}\,}}_H \end{aligned}, \end{aligned}$$
(19)
where \(N_U\) denotes the number of the PGD modes, index 1 refers to the space dependence, index 2 is associated with the time, \({{\,\mathrm{\mathcal {B}}\,}}_H\) is a suitable discrete separated approximation of the source term f(t, x) evaluated at some discrete points, \({{\,\mathrm{\mathcal {A}}\,}}_H\) is a discrete separated representation of the differential operators in (10), built by exploiting the tensorial identity
$$\begin{aligned} \frac{\partial }{\partial t} - k \frac{\partial ^2 }{\partial {x}^2}&= \left( \frac{\partial }{\partial t} \otimes \frac{\partial ^0}{\partial x^0}\right) - k \left( \frac{\partial ^0}{\partial t^0} \otimes \frac{\partial ^2 }{\partial {x}^2}\right) , \end{aligned}$$
(20)
and assembled according to the discretization adopted for the space (e.g., finite differences, finite elements) and for the time. With the same notation as in (14), we identify the partial derivatives of order zero with the corresponding identity operator. For instance, let us assume to discretize (10) by employing the implicit Euler scheme for the time and a centered finite difference approximation for the space derivative, with \(N_x\) the number of spatial dofs and \(N_t\) the number of discrete times. Then, the operator \(\mathcal {A}_H\) can be separated as
$$\begin{aligned} {{\,\mathrm{\mathcal {A}}\,}}_H = \sum _{ k = 1 }^2 {{\,\mathrm{\mathbf {A}}\,}}_1^k \otimes {{\,\mathrm{\mathbf {A}}\,}}_2^k \text { with } {{\,\mathrm{\mathbf {A}}\,}}_1^{1} = {{\,\mathrm{\mathbf {I}}\,}}_{N_x},\ {{\,\mathrm{\mathbf {A}}\,}}_2^1 = {{\,\mathrm{\mathbf {E}}\,}}_{N_t},\ {{\,\mathrm{\mathbf {A}}\,}}_1^2 = -k {{\,\mathrm{\mathbf {D}}\,}}_{N_x},\ {{\,\mathrm{\mathbf {A}}\,}}_2^2 = {{\,\mathrm{\mathbf {I}}\,}}_{N_t}, \end{aligned}$$
(21)
where \({{\,\mathrm{\mathbf {E}}\,}}_{N_t}\) denotes the matrix associated with the implicit Euler scheme, \({{\,\mathrm{\mathbf {I}}\,}}_{N_x}\) and \({{\,\mathrm{\mathbf {I}}\,}}_{N_t}\) are the identity matrices in space and time, respectively and \({{\,\mathrm{\mathbf {D}}\,}}_{N_x}\) is the matrix of the discrete Laplacian. Figure 3 shows the sparsity pattern associated with four matrices \({{\,\mathrm{\mathbf {A}}\,}}_i^k\).
Now, in order to apply the new PGD formulation based on a two-scale time discretization to problem (10), we have to recast the differential operators in (20) into a multiscale framework, by adding a further temporal independent variable. This leads us to deal with a framework characterized by two dimensions in time and one dimension in space. For this purpose, we adopt the approximation
$$\begin{aligned} \frac{\partial }{\partial t} - k \frac{\partial ^2 }{\partial {x}^2}&= \left( \frac{\partial }{\partial t} \otimes \frac{\partial ^0}{\partial x^0}\right) - k \left( \frac{\partial ^0}{\partial t^0} \otimes \frac{\partial ^2 }{\partial {x}^2}\right) \\&\approx \left( \frac{\partial ^0}{\partial T^0} \otimes \frac{\partial }{\partial \tau } \otimes \frac{\partial ^0}{\partial x^0}\right) - k \left( \frac{\partial ^0}{\partial T^0} \otimes \frac{\partial ^0}{\partial \tau ^0} \otimes \frac{\partial ^2 }{\partial {x}^2}\right) , \end{aligned}$$
and we enforce the continuity between the macro and the micro time partitions by resorting to the two-scale decomposition in (17), so that the operator \({{\,\mathrm{\mathcal {A}}\,}}_H\) in (19) can be separated as
$$\begin{aligned} {{\,\mathrm{\mathcal {A}}\,}}_H = \sum _{ k = 1 }^3 {{\,\mathrm{\mathbf {A}}\,}}_1^k \otimes {{\,\mathrm{\mathbf {A}}\,}}_2^k \otimes {{\,\mathrm{\mathbf {A}}\,}}_3^k, \end{aligned}$$
(22)
where, analogously as in (19), subscript 1 identifies the space dependence, while subscripts 2 and 3 refer to the time microscale and to the time macroscale, respectively. The spatial operators are defined in a straightforward way as
$$\begin{aligned} {{\,\mathrm{\mathbf {A}}\,}}_1^1 = {{\,\mathrm{\mathbf {A}}\,}}_1^2 = {{\,\mathrm{\mathbf {I}}\,}}_{N_x}, \quad {{\,\mathrm{\mathbf {A}}\,}}_1^3 = - k {{\,\mathrm{\mathbf {D}}\,}}_{N_x}, \end{aligned}$$
whereas the two-scale time discretization leads us to adopt the modified tensorial decomposition in (16),
$$\begin{aligned} \mathbf {E}_{N_t} = \mathbf {A}_2^1 \otimes \mathbf {A}_3^1 + \mathbf {A}_2^2 \otimes \mathbf {A}_3^2, \end{aligned}$$
with \({{\,\mathrm{\mathbf {A}}\,}}_2^1 = {{\,\mathrm{\mathbf {E}}\,}}_{m+1}\) the matrix characterizing the implicit Euler discretization at the microscale; \({{\,\mathrm{\mathbf {A}}\,}}_3^1 = {{\,\mathrm{\mathbf {A}}\,}}_3^3= {{\,\mathrm{\mathbf {I}}\,}}_{M}\) the discrete identity matrix associated with the subintervals \(\Omega _{i+1}\); \({{\,\mathrm{\mathbf {A}}\,}}_2^2 = {{\,\mathrm{\mathbf {C}}\,}}_{m+1}\) the correction matrix, sized according to the microscale, with a unique non-null element in the upper-right corner; \({{\,\mathrm{\mathbf {A}}\,}}_3^2 = {{\,\mathrm{\mathbf {L}}\,}}_{M}\) the lower shift matrix, sized according to the macroscale, with the first subdiagonal of elements all equal to one; \({{\,\mathrm{\mathbf {A}}\,}}_2^3 = {{\,\mathrm{\mathbf {I}}\,}}_{m+1}\) the discrete identity matrix associated with the microscale. Figure 4 gathers the sparsity pattern of the nine matrices involved in the separated representation (22).
Concerning the right-hand side in (19), operator \({{\,\mathrm{\mathcal {B}}\,}}_H\) coincides with a separated representation, with respect to the spatial scale and the two temporal ones, of the source term f(t, x) in (10), evaluated at some discrete points, and computed through a HOSVD [24].
Remark 0.4
A cross comparison between Figs. 3 and 4 highlights that the two-scale PGD formulation of problem (10) does not affect the spatial discretization. On the contrary, the matrices associated with the two-scale time discretization are much smaller with respect to the ones characterizing the separated representation in (21), with a consequent reduction in terms of memory allocation (in particular, the storage requirement for the time matrices reduces from \(3(m+1)M - 1\) to \(3(m+1 + M) - 1\), which means of a factor about equal to \(M^{-1}\), for \(M \ll m + 1\)). Notice that the time decomposition in Fig. 4 suits the time grid in Fig. 3, being \(M(m+1) = N_t = 1000\).