This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Symmetrized two-scale finite element discretizations for partial differential equations with symmetric solutions

Pengyu Hou School of Mathematical Sciences, Beijing Normal University, Beijing 100875, China ([email protected]).    Fang Liu School of Statistics and Mathematics, Central University of Finance and Economics, Beijing 102206, China ([email protected]).    Aihui Zhou LSEC, Institute of Computational Mathematics and Scientific/Engineering Computing, Academy of Mathematics and Systems Science, Chinese Academy of Sciences, Beijing 100190, China ([email protected])
Abstract

In this paper, a symmetrized two-scale finite element method is proposed for a class of partial differential equations with symmetric solutions. With this method, the finite element approximation on a fine tensor product grid is reduced to the finite element approximations on a much coarse grid and a univariant fine grid. It is shown by both theory and numerics including electronic structure calculations that the resulting approximation still maintains an asymptotically optimal accuracy. Consequently the symmetrized two-scale finite element method reduces computational cost significantly.

Key words. symmetric, two-scale, finite element, partial differential equation.

AMS subject classifications. 65N15, 65N25, 65N30, 65N50.

1 Introduction

To improve the efficiency of solving multi-dimensional elliptic source and eigenvalue problems on tensor-product domains, the two-scale finite element method was proposed in [7, 12, 13]. With this method, low frequency parts of the finite element solution to an elliptic problem are captured on a coarse grid and high frequency components are handled by some univariant fine and coarse grids.

We understand that many quantities in science and engineering have symmetries such as wavefunctions, Hamiltonians, and interatomic potentials in quantum physics. It is shown in literature that efficient numerical methods can be designed to reduce the computational cost of solving problems with symmetric properties (see, e.g., [2, 6, 8] and references cited therein). For instance, a symmetry-based decomposition approach was proposed to solve eigenvalue problems with spatial symmetries in [6]. By this approach, the original differential eigenvalue problem is decomposed into some eigenvalue subproblems that can be carried out in parallel. In addition, each subproblem requires only a smaller number of eigenpairs compared with the original problem. As a result, the computational cost is reduced.

To reduce the computational cost of approximations of the elliptic source and eigenvalue problems with symmetric solutions, in this paper, we study some symmetrized two-scale finite element discretizations.

Let us give an informal description of the main ideas and results in this paper. Set kk be a positive integer. The symmetric group Sym(k)\text{Sym}(k) is the set of bijections of {1,2,,k}\{1,2,\cdots,k\} to itself. Specially, a permutation σSym(k)\sigma\in\text{Sym}(k) which interchanges two letters ii and jj and leaves all the other letters unchanged is called a transposition. Denote the transposition σ\sigma which interchanges ii and jj by (i,j)(i,j) [10].

Set Ω=(0,1)3\Omega=(0,1)^{3} and 𝐱=(x1,x2,x3)\mathbf{x}=(x_{1},x_{2},x_{3}). We say that uu is a symmetric function on Ω¯\bar{\Omega} [2] if

u(xσ(1),xσ(2),xσ(3))=u(x1,x2,x3),𝐱Ω¯,σSym(3).u(x_{\sigma(1)},x_{\sigma(2)},x_{\sigma(3)})=u(x_{1},x_{2},x_{3}),\quad\quad\forall\mathbf{x}\in\bar{\Omega},~{}\sigma\in\text{Sym}(3).

Let Th1,h2,h3(Ω){T}^{h_{1},h_{2},h_{3}}(\Omega) be a uniform tensor product grid on Ω¯\bar{\Omega}. Sh1,h2,h3(Ω)S^{h_{1},h_{2},h_{3}}(\Omega) is the associated tensor-product space of piecewise trilinear functions on Ω¯\bar{\Omega}. Let uh1,h2,h3Sh1,h2,h3(Ω)u_{h_{1},h_{2},h_{3}}\in S^{h_{1},h_{2},h_{3}}(\Omega) be a finite element approximation to uu.

In computation, the grid points of Th1,h2,h3(Ω)T^{h_{1},h_{2},h_{3}}(\Omega) are usually numbered along the x1x_{1}-direction, the x2x_{2}-direction, and the x3x_{3}-direction, consecutively. Let Ni=1/hi(i=1,2,3)N_{i}=1/h_{i}(i=1,2,3) be a positive integer. Then the values of uh1,h2,h3u_{h_{1},h_{2},h_{3}} on these grid points are stored in a vector denoted by Uh1,h2,h3U^{h_{1},h_{2},h_{3}} with the size Ndof:=i=13(Ni+1)N_{dof}:=\prod_{i=1}^{3}(N_{i}+1). Let G:NdofSh1,h2,h3(Ω)G:\mathbb{C}^{N_{dof}}\rightarrow S^{h_{1},h_{2},h_{3}}(\Omega) be a bijection satisfying

G(Uh1,h2,h3)=i=1NdofUih1,h2,h3ϕi,Uh1,h2,h3Ndof,G(U^{h_{1},h_{2},h_{3}})=\sum_{i=1}^{N_{dof}}U^{h_{1},h_{2},h_{3}}_{i}\phi_{i},\quad\quad\forall U^{h_{1},h_{2},h_{3}}\in\mathbb{C}^{N_{dof}},

where Uih1,h2,h3U^{h_{1},h_{2},h_{3}}_{i} is the ii-th component of Uh1,h2,h3U^{h_{1},h_{2},h_{3}} and ϕi\phi_{i} is the Lagrangian basis function of Sh1,h2,h3(Ω)S^{h_{1},h_{2},h_{3}}(\Omega) with i=1,2,,Ndofi=1,2,\cdots,N_{dof}. Obviously, we have uh1,h2,h3=G(Uh1,h2,h3)u_{h_{1},h_{2},h_{3}}=G(U^{h_{1},h_{2},h_{3}}).

For any σSym(3)\sigma\in\text{Sym}(3), there holds uhσ(1),hσ(2),hσ(3)=G(Uhσ(1),hσ(2),hσ(3))u_{h_{\sigma(1)},h_{\sigma(2)},h_{\sigma(3)}}=G(U^{h_{\sigma(1)},h_{\sigma(2)},h_{\sigma(3)}}). We define a vector transformation 𝒯σ:NdofNdof\mathcal{T}_{\sigma}:\mathbb{C}^{N_{dof}}\rightarrow\mathbb{C}^{N_{dof}} satisfying

𝒯σ(Uh1,h2,h3)=Uhσ(1),hσ(2),hσ(3),Uh1,h2,h3Ndof.\mathcal{T}_{\sigma}(U^{h_{1},h_{2},h_{3}})=U^{h_{\sigma(1)},h_{\sigma(2)},h_{\sigma(3)}},\quad\forall U^{h_{1},h_{2},h_{3}}\in\mathbb{C}^{N_{dof}}.

Then Uhσ(1),hσ(2),hσ(3)U^{h_{\sigma(1)},h_{\sigma(2)},h_{\sigma(3)}} can be obtained from Uh1,h2,h3U^{h_{1},h_{2},h_{3}} by a symmetrization operation (Algorithm 3.1). Let Rσ:Sh1,h2,h3(Ω)Shσ(1),hσ(2),hσ(3)(Ω)R_{\sigma}:S^{h_{1},h_{2},h_{3}}(\Omega)\rightarrow S^{h_{\sigma(1)},h_{\sigma(2)},h_{\sigma(3)}}(\Omega) be a bijection defined by

Rσ=G𝒯σG1.R_{\sigma}=G\circ\mathcal{T}_{\sigma}\circ G^{-1}. (1.1)

We get

uhσ(1),hσ(2),hσ(3)=Rσ(uh1,h2,h3),uh1,h2,h3Sh1,h2,h3(Ω).u_{h_{\sigma(1)},h_{\sigma(2)},h_{\sigma(3)}}=R_{\sigma}(u_{h_{1},h_{2},h_{3}}),\quad\forall u_{h_{1},h_{2},h_{3}}\in S^{h_{1},h_{2},h_{3}}(\Omega). (1.2)

Note that the two-scale finite element solution [7, 12] of a linear elliptic source problem with the Dirichlet boundary condition is a linear combination of the standard finite element solutions on four different scale grids. That is,

BH,H,Hhu=uh,H,H+uH,h,H+uH,H,h2uH,H,H.B^{h}_{H,H,H}u=u_{h,H,H}+u_{H,h,H}+u_{H,H,h}-2u_{H,H,H}.

Hence, for a linear source problem with symmetric solution, we obtain from (1.2) that uH,h,H=R(1,2)(uh,H,H)u_{H,h,H}=R_{(1,2)}(u_{h,H,H}) and uH,H,h=R(1,3)(uh,H,H)u_{H,H,h}=R_{(1,3)}(u_{h,H,H}). Consequently,

BH,H,Hhu=uh,H,H+R(1,2)(uh,H,H)+R(1,3)(uh,H,H)2uH,H,H.B^{h}_{H,H,H}u=u_{h,H,H}+R_{(1,2)}(u_{h,H,H})+R_{(1,3)}(u_{h,H,H})-2u_{H,H,H}.

It is seen from (1.1) that the amount of operations for getting R(1,2)(uh,H,H)R_{(1,2)}(u_{h,H,H}) or R(1,3)(uh,H,H)R_{(1,3)}(u_{h,H,H}) from uh,H,Hu_{h,H,H} is essentially that for calculating 𝒯(1,2)(Uh,H,H)\mathcal{T}_{(1,2)}(U^{h,H,H}) or 𝒯(1,3)(Uh,H,H)\mathcal{T}_{(1,3)}(U^{h,H,H}) from Uh,H,HU^{h,H,H} by the symmetrization algorithm (Algorithm 3.1), respectively. It is only 18Ndof18N_{dof} with Ndof:=(n1)(N1)(N1)N_{dof}:=(n-1)(N-1)(N-1) if n=1/hn=1/h and N=1/HN=1/H. While the amount of operations for computing uH,h,Hu_{H,h,H} or uH,H,hu_{H,H,h} by the standard finite element method is far from 18Ndof18N_{dof}, due to creating stiffness matrix and solving linear algebraic systems. Hence the symmetrization algorithm is quite efficient. Similarly, the symmetrization algorithm can be also combined with the postprocessed two-scale finite element method [11] and the two-scale postprocessed finite element method [15] respectively to construct new and more efficient algorithms.

This paper is structured as follows. In section 2, some preliminaries are presented and the existing related results that will be used in this paper are called. In section 3, a vector transformation operator associated with symmetric functions is constructed. A symmetrization algorithm is then proposed to perform this vector transformation operator. In section 4 and section 5, combining the symmetrization algorithm with the two-scale finite element method, some symmetrized two-scale finite element discretizations are developed for the linear source and eigenvalue problems with symmetric solutions, respectively. In section 6, several numerical results, including the applications to electronic structure calculations, are presented to illustrate the efficiency of our approaches. Finally, some concluding remarks are given in section 7.

2 Preliminaries

Let Ω=(0,1)d\Omega=(0,1)^{d} with d2d\geq 2. The standard notation for Sobolev spaces Ws,p(Ω)W^{s,p}(\Omega) and their associated norms and seminorms will be used [4]. Set Hs(Ω)=Ws,2(Ω)H^{s}(\Omega)=W^{s,2}(\Omega) and s,Ω=s,2,Ω\lVert\ \cdot\ \rVert_{s,\Omega}=\lVert\ \cdot\ \rVert_{s,2,\Omega}. Let H01(Ω)={vH1(Ω):vΩ=0}H_{0}^{1}(\Omega)=\{v\in H^{1}(\Omega):v\mid_{\partial\Omega}=0\}, H1(Ω)H^{-1}(\Omega) be the dual of H01(Ω)H_{0}^{1}(\Omega), and (,)(\cdot,\cdot) be the standard L2(Ω)L^{2}(\Omega) inner product. We shall use ABA\lesssim B to mean that ACBA\leq CB for some constant CC which does not depend on any grid parameters.

Let 0\mathbb{N}_{0} be the set of all nonnegative integers. For wWs,p(Ω)w\in W^{s,p}(\Omega), 𝐱=(x1,x2,,xd)Ω\mathbf{x}=(x_{1},x_{2},\cdot\cdot\cdot,x_{d})\in\Omega, and α=(α1,α2,,αd)0d\mathbf{\alpha}=(\alpha_{1},\alpha_{2},\cdot\cdot\cdot,\alpha_{d})\in\mathbb{N}_{0}^{d}, set

(Dαw)(𝐱)=(α1x1α1αdwxdαd)(𝐱)and|α|=α1+α2++αd.(D^{\mathbf{\alpha}}w)(\mathbf{x})=(\frac{\partial^{\alpha_{1}}}{\partial x_{1}^{\alpha_{1}}}\cdot\cdot\cdot\frac{\partial^{\alpha_{d}}w}{\partial x_{d}^{\alpha_{d}}})(\mathbf{x})\quad\quad\mbox{and}\quad\quad\lvert\mathbf{\alpha}\rvert=\alpha_{1}+\alpha_{2}+\cdot\cdot\cdot+\alpha_{d}.

Furthermore, set 0=(0,,0)d\textbf{0}=(0,\cdot\cdot\cdot,0)\in\mathbb{R}^{d}, e=(1,,1)d\textbf{e}=(1,\cdot\cdot\cdot,1)\in\mathbb{R}^{d}, and d=1,2,,d\mathbb{Z}_{d}={1,2,\cdot\cdot\cdot,d}. For each idi\in\mathbb{Z}_{d}, let ei=(0,,0,1,0,,0)d\textbf{e}_{i}=(0,\cdot\cdot\cdot,0,1,0,\cdot\cdot\cdot,0)\in\mathbb{R}^{d}, which is the vector whose ii-th component is one and other components are zero. Write e^i=eei\hat{\textbf{e}}_{i}=\textbf{e}-\textbf{e}_{i}.

We shall use the following Sobolev space

WG,4(Ω)={wH3(Ω):DαwL2(Ω),𝟎α3𝐞,|α|=4}W^{G,4}(\Omega)=\{w\in H^{3}(\Omega):D^{\mathbf{\alpha}}w\in L^{2}(\Omega),\mathbf{0}\leq\mathbf{\alpha}\leq 3\mathbf{e},\lvert\mathbf{\alpha}\rvert=4\}

with its natural norm WG,4(Ω)\lVert\ \cdot\ \rVert_{W^{G,4}(\Omega)} [16].

2.1 A source problem

Consider the following elliptic source problem:

{Lu=finΩ,u=0onΩ.\displaystyle\left\{\begin{aligned} Lu&=f\ \ \mbox{in}\ \ \Omega,\\ u&=0\ \ \mbox{on}\ \ \partial\Omega.\end{aligned}\right. (2.1)

Here fH1(Ω)f\in H^{-1}(\Omega) and LL is defined by

Lu=i,j=1dxi(aijuxj)+i=1dbiuxi+Vu,Lu=-\sum_{i,j=1}^{d}\frac{\partial}{\partial x_{i}}\big{(}a_{ij}\frac{\partial u}{\partial x_{j}}\big{)}+\sum_{i=1}^{d}b_{i}\frac{\partial u}{\partial x_{i}}+Vu,

where aijW1,(Ω),bi,VL(Ω)a_{ij}\in W^{1,\infty}(\Omega),\ b_{i},\ V\in L^{\infty}(\Omega), and i,j=1daijxixjck=1dxk2\sum_{i,j=1}^{d}a_{ij}x_{i}x_{j}\geq c\sum_{k=1}^{d}x_{k}^{2} on Ω¯\bar{\Omega} for some constant c>0c>0.

A weak form of (2.1) is: find uH01(Ω)u\in H_{0}^{1}(\Omega) such that

a(u,v)=(f,v)vH01(Ω),a(u,v)=(f,v)\ \ \ \ \forall v\in H_{0}^{1}(\Omega), (2.2)

where

a(u,v)=Ω(i,j=1daijuxivxj+i=1dbiuxiv+Vuv)and(f,v)=Ωfv.a(u,v)=\int_{\Omega}\Big{(}\sum_{i,j=1}^{d}a_{ij}\frac{\partial u}{\partial x_{i}}\frac{\partial v}{\partial x_{j}}+\sum_{i=1}^{d}b_{i}\frac{\partial u}{\partial x_{i}}v+Vuv\Big{)}\quad\mbox{and}\quad(f,v)=\int_{\Omega}fv. (2.3)

For each fH1(Ω)f\in H^{-1}(\Omega), assume that there is a unique solution uH01(Ω)u\in H_{0}^{1}(\Omega) of (2.2).

Set N0/{0}N\in\mathbb{N}_{0}/\{0\} and h=1/N[0,1]h=1/N\in[0,1]. Let Th[0,1]T^{h}[0,1] be the uniform grid with grid size hh. Let hj=1/Njh_{j}=1/N_{j} for Nj0/{0},jdN_{j}\in\mathbb{N}_{0}/\{0\},\ j\in\mathbb{Z}_{d}. Set 𝐡=(h1,,hd){\bf h}=(h_{1},\ldots,h_{d}) and h=maxjdhj\displaystyle h=\max_{j\in\mathbb{Z}_{d}}h_{j}. Define a tensor-product grid on Ω¯=[0,1]d\bar{\Omega}=[0,1]^{d} by

T𝐡(Ω):=Th1[0,1]××Thd[0,1].T^{\bf h}(\Omega):=T^{h_{1}}[0,1]\times\cdots\times T^{h_{d}}[0,1].

Let Sh[0,1]C[0,1]S^{h}[0,1]\subset C[0,1] be the piecewise linear finite element space on Th[0,1]T^{h}[0,1]. The tensor product spaces of piecewise dd-linear functions on Ω¯\bar{\Omega} are

S𝐡(Ω):=Sh1[0,1]Shd[0,1]andS0𝐡(Ω):=S𝐡(Ω)H01(Ω).S^{\bf h}(\Omega):=S^{h_{1}}[0,1]\otimes\cdots\otimes S^{h_{d}}[0,1]\qquad\text{and}\qquad S_{0}^{\bf h}(\Omega):=S^{\bf h}(\Omega)\cap H_{0}^{1}(\Omega).

The standard Galerkin finite element method for solving (2.2) is: find uhS0h(Ω)u_{\textbf{h}}\in S_{0}^{\textbf{h}}(\Omega) such that

a(uh,v)=(f,v)vS0h(Ω).a(u_{\textbf{h}},v)=(f,v)\ \ \ \forall\ v\in S_{0}^{\textbf{h}}(\Omega). (2.4)

Define the Galerkin projector P𝐡:H01(Ω)S0𝐡(Ω)P_{\bf h}:H^{1}_{0}(\Omega)\mapsto S^{\bf h}_{0}(\Omega) by

a(wP𝐡w,v)=0vS0𝐡(Ω),wH01(Ω).{a}(w-P_{\bf h}w,v)=0~{}\quad\forall v\in S^{\bf h}_{0}(\Omega),\quad\forall w\in H^{1}_{0}(\Omega). (2.5)

Obviously P𝐡w=w𝐡,wH01(Ω)P_{\bf h}w=w_{\bf h},~{}\forall w\in H^{1}_{0}(\Omega).

2.2 An eigenvalue problem

Assume that a(,)a(\cdot,\cdot) is the same as (2.3) with bi=0,i=1,2,,db_{i}=0,~{}i=1,2,\cdots,d and (aij)(a_{ij}) is symmetric. Consider the following eigenvalue problem

a(u,v)=λ(u,v)vH01(Ω),\displaystyle a(u,v)=\lambda(u,v)\quad\forall v\in H^{1}_{0}(\Omega), (2.6)

where λ\lambda is the eigenvalue of the symmetric bilinear form a(,)a(\cdot,\cdot) relative to the L2(Ω)L^{2}(\Omega) inner product (,)(\cdot,\cdot) and uu is the corresponding eigenvector. The eigenvalues of (2.6) are real numbers satisfying λ1<λ2λ3\lambda_{1}<\lambda_{2}\leq\lambda_{3}\leq\cdots [1]. Assume that the corresponding eigenvectors u1,u2,u3,u_{1},u_{2},u_{3},\dots satisfy (ui,uj)=δij(u_{i},u_{j})=\delta_{ij} for i,j=1,2,i,j=1,2,\cdots with δij\delta_{ij} the Dirac delta.

Consider the standard Galerkin finite element method for solving (2.6): find a pair (λ𝐡,u𝐡)×S0𝐡(Ω)(\lambda_{\bf h},u_{\bf h})\in\mathbb{R}\times S^{\bf h}_{0}(\Omega) satisfying

a(u𝐡,v)=λ𝐡(u𝐡,v)vS0𝐡(Ω),\displaystyle a(u_{\bf h},v)=\lambda_{\bf h}(u_{\bf h},v)~{}~{}~{}\forall v\in S^{\bf h}_{0}(\Omega), (2.7)

which has finite eigenvalues λ1,𝐡<λ2,𝐡λn𝐡,𝐡,\lambda_{1,{\bf h}}<\lambda_{2,{\bf h}}\leq\cdots\leq\lambda_{n_{\bf h},{\bf h}}, where n𝐡=dimS0𝐡(Ω)n_{\bf h}=\mbox{dim}~{}S^{\bf h}_{0}(\Omega). Assume that the corresponding eigenvectors u1,𝐡,u2,𝐡,,un𝐡,𝐡u_{1,{\bf h}},u_{2,{\bf h}},\dots,u_{n_{\bf h},{\bf h}} satisfy (ui,𝐡,(u_{i,{\bf h}}, uj,𝐡)=δiju_{j,{\bf h}})=\delta_{ij}. The Rayleigh principle [1] implies that λiλi,𝐡for i=1,2,,n𝐡.\lambda_{i}\leq\lambda_{i,{\bf h}}\quad\text{for }i=1,2,\dots,n_{\bf h}.

Suppose that h=maxjdhj1,λh=\displaystyle\max_{j\in\mathbb{Z}_{d}}h_{j}\ll 1,\lambda is simple, and (λ𝐡,u𝐡)(\lambda_{\bf h},u_{\bf h}) is an approximation to (λ,u)(\lambda,u) which satisfies (2.7) and Lemma 3.2 in [11] with u𝐡0,Ω=1\|u_{\bf h}\|_{0,\Omega}=1. There holds [1]

λ𝐡λ+uu𝐡0,Ω+huu𝐡1,Ωh2.\lambda_{\bf h}-\lambda+\|u-u_{\bf h}\|_{0,\Omega}+h\|u-u_{\bf h}\|_{1,\Omega}\lesssim h^{2}. (2.8)
Lemma 2.1.

[7] There holds

λ𝐡λ=λ(u,uP𝐡u)+𝒪(h4).\lambda_{\bf h}-\lambda=\lambda(u,u-P_{\bf h}u)+\mathcal{O}(h^{4}). (2.9)

3 A vector transformation operator and its implementation

In this section, we will introduce a vector transformation operator associated with symmetric functions. A so-called symmetrization algorithm will be proposed to implement this vector transformation. We will combine the symmetrization algorithm with the two-scale finite element method to design new and efficient algorithms in Section 4.

We call uu a symmetric function on Ω¯\bar{\Omega} if

u(xσ(1),xσ(2),,xσ(d))=u(x1,x2,,xd),𝐱Ω¯,σSym(d).u(x_{\sigma(1)},x_{\sigma(2)},\cdots,x_{\sigma(d)})=u(x_{1},x_{2},\cdots,x_{d}),\quad\quad\forall\mathbf{x}\in\bar{\Omega},~{}\sigma\in\text{Sym}(d). (3.1)

Thus we have

u(iσ(1)hσ(1),iσ(2)hσ(2),,iσ(d)hσ(d))\displaystyle u(i_{\sigma(1)}h_{\sigma(1)},i_{\sigma(2)}h_{\sigma(2)},\cdots,i_{\sigma(d)}h_{\sigma(d)}) =u(i1h1,i2h2,,idhd),\displaystyle=u(i_{1}h_{1},i_{2}h_{2},\cdots,i_{d}h_{d}),
ik=0,1,,Nk;k=1,2,,d.\displaystyle\quad\quad i_{k}=0,1,\cdots,N_{k};k=1,2,\cdots,d. (3.2)

Next we illustrate how to get the values of u(𝐱)u(\mathbf{x}) on the grid points of Thσ(1),hσ(2),,hσ(d)(Ω)T^{h_{\sigma(1)},h_{\sigma(2)},\cdots,h_{\sigma(d)}}(\Omega) from those on the grid points of Th1,h2,,hd(Ω)T^{h_{1},h_{2},\cdots,h_{d}}(\Omega) in computation. The values of u(𝐱)u(\mathbf{x}) on the grid points of Th1,h2,,hd(Ω)T^{h_{1},h_{2},\cdots,h_{d}}(\Omega) are stored in a vector Uh1,h2,,hdU^{h_{1},h_{2},\cdots,h_{d}} with the size Ndof:=i=1d(Ni+1)N_{dof}:=\prod_{i=1}^{d}(N_{i}+1). Usually the grid points of Th1,h2,,hd(Ω)T^{h_{1},h_{2},\cdots,h_{d}}(\Omega) are numbered along the x1x_{1}-direction, the x2x_{2}-direction, \cdots, and the xdx_{d}-direction, consecutively. That is, the I^\hat{I}-th component of Uh1,h2,,hdU^{h_{1},h_{2},\cdots,h_{d}} satisfies

UI^h1,h2,,hd\displaystyle U^{h_{1},h_{2},\cdots,h_{d}}_{\hat{I}} =u(i1h1,i2h2,,idhd),\displaystyle=u(i_{1}h_{1},i_{2}h_{2},\cdots,i_{d}h_{d}),
ik=0,1,,Nk;k=1,2,,d,\displaystyle\quad\quad i_{k}=0,1,\cdots,N_{k};k=1,2,\cdots,d, (3.3)

where the subscript

I^:=I(i1,i2,,id)=l=2d(ilj=1l1(Nj+1))+i1+1.\hat{I}:=I(i_{1},i_{2},\cdots,i_{d})=\sum_{l=2}^{d}\left(i_{l}\prod_{j=1}^{l-1}(N_{j}+1)\right)+i_{1}+1. (3.4)

The values of u(𝐱)u(\mathbf{x}) on the grid points of Thσ(1),hσ(2),,hσ(d)(Ω)T^{h_{\sigma(1)},h_{\sigma(2)},\cdots,h_{\sigma(d)}}(\Omega) are contained in the vector Uhσ(1),hσ(2),,hσ(d)U^{h_{\sigma(1)},h_{\sigma(2)},\cdots,h_{\sigma(d)}}. We obtain from (3)-(3.4) that

UI(iσ(1),iσ(2),,iσ(d))hσ(1),hσ(2),,hσ(d)\displaystyle U^{h_{\sigma(1)},h_{\sigma(2)},\cdots,h_{\sigma(d)}}_{I(i_{\sigma(1)},i_{\sigma(2)},\cdots,i_{\sigma(d)})} =UI(i1,i2,,id)h1,h2,,hd,\displaystyle=U^{h_{1},h_{2},\cdots,h_{d}}_{I(i_{1},i_{2},\cdots,i_{d})},
ik=0,1,,Nk;k=1,2,,d,\displaystyle\quad\quad i_{k}=0,1,\cdots,N_{k};k=1,2,\cdots,d, (3.5)

with

I(iσ(1),iσ(2),,iσ(d))=l=2d(iσ(l)j=1l1(Nσ(j)+1))+iσ(1)+1.I(i_{\sigma(1)},i_{\sigma(2)},\cdots,i_{\sigma(d)})=\sum_{l=2}^{d}\left(i_{\sigma(l)}\prod_{j=1}^{l-1}(N_{\sigma(j)}+1)\right)+i_{\sigma(1)}+1.

Hence for any σSym(d)\sigma\in\text{Sym}(d), one can get Uhσ(1),hσ(2),,hσ(d)U^{h_{\sigma(1)},h_{\sigma(2)},\cdots,h_{\sigma(d)}} from Uh1,h2,,hdU^{h_{1},h_{2},\cdots,h_{d}}. We can define a vector transformation operator 𝒯σ:NdofNdof\mathcal{T}_{\sigma}:\mathbb{C}^{N_{dof}}\rightarrow\mathbb{C}^{N_{dof}} satisfying

𝒯σ(Uh1,h2,,hd)=Uhσ(1),hσ(2),,hσ(d),Uh1,h2,,hdNdof.\mathcal{T}_{\sigma}(U^{h_{1},h_{2},\cdots,h_{d}})=U^{h_{\sigma(1)},h_{\sigma(2)},\cdots,h_{\sigma(d)}},\quad\quad\forall U^{h_{1},h_{2},\cdots,h_{d}}\in\mathbb{C}^{N_{dof}}. (3.6)

This vector transformation operator can be implemented by Algorithm 3.1, which is called the symmetrization algorithm.

Algorithm 3.1.

Input: h1h_{1}, h2h_{2}, \cdots, hdh_{d}, Uh1,h2,,hdU^{h_{1},h_{2},\cdots,h_{d}}, σ\sigma.
Output: Uhσ(1),hσ(2),,hσ(d)U^{h_{\sigma(1)},h_{\sigma(2)},\cdots,h_{\sigma(d)}}.

1: N1=1/h1;N2=1/h2;;Nd=1/hdN_{1}=1/h_{1};\ N_{2}=1/h_{2};\cdots;\ N_{d}=1/h_{d}.
2:for i1=0:N1i_{1}=0:N_{1} do
3:     for i2=0:N2i_{2}=0:N_{2} do
4:         \cdots
5:         for id=0:Ndi_{d}=0:N_{d} do
6:               UI(iσ(1),iσ(2),,iσ(d))hσ(1),hσ(2),,hσ(d)=UI(i1,i2,,id)h1,h2,,hdU^{h_{\sigma(1)},h_{\sigma(2)},\cdots,h_{\sigma(d)}}_{I(i_{\sigma(1)},i_{\sigma(2)},\cdots,i_{\sigma(d)})}=U^{h_{1},h_{2},\cdots,h_{d}}_{I(i_{1},i_{2},\cdots,i_{d})}.               
7:return Uhσ(1),hσ(2),,hσ(d)U^{h_{\sigma(1)},h_{\sigma(2)},\cdots,h_{\sigma(d)}}.

Calculating I(i1,i2,,id)I(i_{1},i_{2},\cdots,i_{d}) in (3.4) requires d2d^{2} operations. Hence the amount of operations for Algorithm 3.1 is 2d2Ndof2d^{2}N_{dof}. Next we illustrate the idea of Algorithm 3.1 further for d=2,3d=2,3, respectively.

3.1 Two dimensional case

Let Ω=(0,1)2\Omega=(0,1)^{2}. We see that there is only one element σ=(1,2)\sigma=(1,2) in Sym(2)\text{Sym}(2) besides the identical operator. Assume that uu is a symmetric function on Ω¯\bar{\Omega}. Namely,

u(x2,x1)=u(xσ(1),xσ(2))=u(x1,x2),𝐱Ω¯.u(x_{2},x_{1})=u(x_{\sigma(1)},x_{\sigma(2)})=u(x_{1},x_{2}),\ \ \forall\mathbf{x}\in\bar{\Omega}. (3.7)

Consequently for the grid points of Th2,h1(Ω)=Thσ(1),hσ(2)(Ω)T^{h_{2},h_{1}}(\Omega)=T^{h_{\sigma(1)},h_{\sigma(2)}}(\Omega) and Th1,h2(Ω)T^{h_{1},h_{2}}(\Omega), we have

u(i2h2,i1h1)=u(iσ(1)hσ(1),iσ(2)hσ(2))\displaystyle u(i_{2}h_{2},i_{1}h_{1})=u(i_{\sigma(1)}h_{\sigma(1)},i_{\sigma(2)}h_{\sigma(2)}) =u(i1h1,i2h2),\displaystyle=u(i_{1}h_{1},i_{2}h_{2}),
ik=0,1,,Nk;k=1,2.\displaystyle i_{k}=0,1,\cdots,N_{k};k=1,2. (3.8)

In implementation, the values of u(x1,x2)u(x_{1},x_{2}) on the grid points of a uniform grid Th1,h2(Ω)T^{h_{1},h_{2}}(\Omega) are stored in a vector Uh1,h2U^{h_{1},h_{2}} with the size Ndof:=(N1+1)×(N2+1)N_{dof}:=(N_{1}+1)\times(N_{2}+1). Usually the grid points of a uniform grid Th1,h2(Ω)T^{h_{1},h_{2}}(\Omega) are numbered along the x1x_{1}-direction and the x2x_{2}-direction, consecutively. That is, the I^\hat{I}-th component of Uh1,h2U^{h_{1},h_{2}} satisfies

UI^h1,h2=u(i1h1,i2h2),ik=0,1,,Nk;k=1,2,U^{h_{1},h_{2}}_{\hat{I}}=u(i_{1}h_{1},i_{2}h_{2}),\quad\quad i_{k}=0,1,\cdots,N_{k};k=1,2, (3.9)

where the subscript

I^:=I(i1,i2)=i2(N1+1)+i1+1.\hat{I}:=I(i_{1},i_{2})={i_{2}(N_{1}+1)+i_{1}+1}. (3.10)

The values of u(x2,x1)u(x_{2},x_{1}) on the grid points of Th2,h1(Ω)T^{h_{2},h_{1}}(\Omega) are stored in the vector Uh2,h1U^{h_{2},h_{1}}. By (3.1) – (3.10), we have

UI(i2,i1)h2,h1=UI(i1,i2)h1,h2,ik=0,1,,Nk;k=1,2,U^{h_{2},h_{1}}_{I(i_{2},i_{1})}=U^{h_{1},h_{2}}_{I(i_{1},i_{2})},\quad\quad i_{k}=0,1,\cdots,N_{k};k=1,2, (3.11)

with

I(i2,i1)=i1(N2+1)+i2+1.I(i_{2},i_{1})={i_{1}(N_{2}+1)+i_{2}+1}.

That is, one can get Uh2,h1U^{h_{2},h_{1}} from Uh1,h2U^{h_{1},h_{2}}. Let d=2d=2 in (3.6). It follows that 𝒯(1,2)(Uh1,h2)=Uh2,h1\mathcal{T}_{(1,2)}(U^{h_{1},h_{2}})=U^{h_{2},h_{1}}.

Refer to caption
Figure 1: The process of obtaining the vector U1,12U^{1,\frac{1}{2}} from U12,1U^{\frac{1}{2},1}. For example, U21,12=UI(1,0)1,12=u(1,0)=u(0,1)=UI(0,1)12,1=U412,1U^{1,\frac{1}{2}}_{2}=U^{1,\frac{1}{2}}_{I(1,0)}=u(1,0)=u(0,1)=U^{\frac{1}{2},1}_{I(0,1)}=U_{4}^{\frac{1}{2},1} by (3.9), (3.10), and (3.11).
Refer to caption
Figure 2: The process of obtaining the vector U~:=U12,14\tilde{U}:=U^{\frac{1}{2},\frac{1}{4}} from U^:=U14,12\hat{U}:=U^{\frac{1}{4},\frac{1}{2}}. For example, U1112,14=UI(1,3)12,14=u(12,34)=u(34,12)=UI(3,1)14,12=U914,12U^{\frac{1}{2},\frac{1}{4}}_{11}=U^{\frac{1}{2},\frac{1}{4}}_{I(1,3)}=u(\frac{1}{2},\frac{3}{4})=u(\frac{3}{4},\frac{1}{2})=U^{\frac{1}{4},\frac{1}{2}}_{I(3,1)}=U^{\frac{1}{4},\frac{1}{2}}_{9} by (3.9), (3.10), and (3.11).

For example, if h1=12h_{1}=\frac{1}{2} and h2=1h_{2}=1, it is shown in Figure 1 that the values of u(x1,x2)u(x_{1},x_{2}) on the grid points of the uniform grids T12,1(Ω)T^{\frac{1}{2},1}(\Omega) and T1,12(Ω)T^{1,\frac{1}{2}}(\Omega) are stored in the vectors U12,1U^{\frac{1}{2},1} and U1,12U^{1,\frac{1}{2}}, respectively. By Algorithm 3.1, U1,12=𝒯(1,2)(U12,1)U^{1,\frac{1}{2}}=\mathcal{T}_{(1,2)}(U^{\frac{1}{2},1}) can be obtained from U12,1U^{\frac{1}{2},1}. Similarly, if h1=14h_{1}=\frac{1}{4} and h2=12h_{2}=\frac{1}{2}, The process of obtaining the vector U12,14U^{\frac{1}{2},\frac{1}{4}} from U14,12U^{\frac{1}{4},\frac{1}{2}} is illustrated in Figure 2, in which U^:=U14,12\hat{U}:=U^{\frac{1}{4},\frac{1}{2}} and U~:=U12,14\tilde{U}:=U^{\frac{1}{2},\frac{1}{4}} for simplicity.

The process of obtaining the vectors Uhσ(1),hσ(2)=𝒯σ(Uh1,h2)U^{h_{\sigma(1)},h_{\sigma(2)}}=\mathcal{T}_{\sigma}(U^{h_{1},h_{2}}) from Uh1,h2U^{h_{1},h_{2}} can be implemented by Algorithm 3.1 with d=2d=2, which demands 8Ndof8N_{dof} operations.

3.2 Three dimensional case

Let Ω=(0,1)3\Omega=(0,1)^{3}. Assume that uu is a symmetric function on Ω¯\bar{\Omega}. That is,

u(xσ(1),xσ(2),xσ(3))=u(x1,x2,x3),𝐱Ω¯,σSym(3).u(x_{\sigma(1)},x_{\sigma(2)},x_{\sigma(3)})=u(x_{1},x_{2},x_{3}),\quad\forall\mathbf{x}\in\bar{\Omega},~{}\sigma\in\text{Sym}(3).

Thus for the grid points of Thσ(1),hσ(2),hσ(3)(Ω)T^{h_{\sigma(1)},h_{\sigma(2)},h_{\sigma(3)}}(\Omega) and Th1,h2,h3(Ω)T^{h_{1},h_{2},h_{3}}(\Omega), we have

u(iσ(1)hσ(1),iσ(2)hσ(2),iσ(3)hσ(3))\displaystyle u(i_{\sigma(1)}h_{\sigma(1)},i_{\sigma(2)}h_{\sigma(2)},i_{\sigma(3)}h_{\sigma(3)}) =u(i1h1,i2h2,i3h3),\displaystyle=u(i_{1}h_{1},i_{2}h_{2},i_{3}h_{3}),
ik=0,1,,Nk;k=1,2,3.\displaystyle i_{k}=0,1,\cdots,N_{k};k=1,2,3. (3.12)

In implementation, similarly, the values of u(x1,x2,x3)u(x_{1},x_{2},x_{3}) on the grid points of Th1,h2,h3(Ω)T^{h_{1},h_{2},h_{3}}(\Omega) are stored in a vector denoted by Uh1,h2,h3U^{h_{1},h_{2},h_{3}} with the size Ndof:=i=13(Ni+1)N_{dof}:=\prod_{i=1}^{3}(N_{i}+1). The grid points of Th1,h2,h3(Ω)T^{h_{1},h_{2},h_{3}}(\Omega) are usually numbered along the x1x_{1}-direction, the x2x_{2}-direction, and the x3x_{3}-direction, consecutively. Thus the I^\hat{I}-th component of Uh1,h2,h3U^{h_{1},h_{2},h_{3}} satisfies

UI^h1,h2,h3\displaystyle U^{h_{1},h_{2},h_{3}}_{\hat{I}} =u(i1h1,i2h2,i3h3),\displaystyle=u(i_{1}h_{1},i_{2}h_{2},i_{3}h_{3}),
ik=0,1,,Nk;k=1,2,3,\displaystyle i_{k}=0,1,\cdots,N_{k};k=1,2,3, (3.13)

where the subscript

I^:=I(i1,i2,i3)=i3(N1+1)(N2+1)+i2(N1+1)+i1+1.\hat{I}:=I(i_{1},i_{2},i_{3})=i_{3}(N_{1}+1)(N_{2}+1)+i_{2}(N_{1}+1)+i_{1}+1. (3.14)

The values of u(𝐱)u(\mathbf{x}) on the grid points of Thσ(1),hσ(2),hσ(3)(Ω)T^{h_{\sigma(1)},h_{\sigma(2)},h_{\sigma(3)}}(\Omega) are contained in the vector Uhσ(1),hσ(2),hσ(3)U^{h_{\sigma(1)},h_{\sigma(2)},h_{\sigma(3)}}. By (3.2), (3.2), and (3.14), we obtain

UI(iσ(1),iσ(2),iσ(3))hσ(1),hσ(2),hσ(3)\displaystyle U^{h_{\sigma(1)},h_{\sigma(2)},h_{\sigma(3)}}_{I(i_{\sigma(1)},i_{\sigma(2)},i_{\sigma(3)})} =UI(i1,i2,i3)h1,h2,h3,\displaystyle=U^{h_{1},h_{2},h_{3}}_{I(i_{1},i_{2},i_{3})},
ik=0,1,,Nk;k=1,2,3,\displaystyle i_{k}=0,1,\cdots,N_{k};k=1,2,3, (3.15)

with

I(iσ(1),iσ(2),iσ(3))=iσ(3)(Nσ(1)+1)(Nσ(2)+1)+iσ(2)(Nσ(1)+1)+iσ(1)+1.I(i_{\sigma(1)},i_{\sigma(2)},i_{\sigma(3)})=i_{\sigma(3)}(N_{\sigma(1)}+1)(N_{\sigma(2)}+1)+i_{\sigma(2)}(N_{\sigma(1)}+1)+i_{\sigma(1)}+1.

That is, the vector Uhσ(1),hσ(2),hσ(3)U^{h_{\sigma(1)},h_{\sigma(2)},h_{\sigma(3)}} can be obtained from Uh1,h2,h3U^{h_{1},h_{2},h_{3}}. Let d=3d=3 in (3.6). It follows that 𝒯σ(Uh1,h2,h3)=Uhσ(1),hσ(2),hσ(3)\mathcal{T}_{\sigma}(U^{h_{1},h_{2},h_{3}})=U^{h_{\sigma(1)},h_{\sigma(2)},h_{\sigma(3)}}.

For example, if h1=14h_{1}=\frac{1}{4}, h2=12h_{2}=\frac{1}{2}, and h3=12h_{3}=\frac{1}{2}, the components of the vector U14,12,12U^{\frac{1}{4},\frac{1}{2},\frac{1}{2}} are illustrated in Figures 3 and 4, where U^:=U14,12,12\hat{U}:=U^{\frac{1}{4},\frac{1}{2},\frac{1}{2}} for simplicity.

Refer to caption
Figure 3: Grid points for U14,12,12U^{\frac{1}{4},\frac{1}{2},\frac{1}{2}}.
Refer to caption
Figure 4: Components of U^:=U14,12,12\hat{U}:=U^{\frac{1}{4},\frac{1}{2},\frac{1}{2}} on each layer along the x3x_{3}-direction. For example, U^24:=U2414,12,12=UI(3,1,1)14,12,12=u(34,12,12)\hat{U}_{24}:=U^{\frac{1}{4},\frac{1}{2},\frac{1}{2}}_{24}=U^{\frac{1}{4},\frac{1}{2},\frac{1}{2}}_{I(3,1,1)}=u(\frac{3}{4},\frac{1}{2},\frac{1}{2}) by (3.2) and (3.14).

The vectors U12,14,12=𝒯(1,2)(U14,12,12)U^{\frac{1}{2},\frac{1}{4},\frac{1}{2}}=\mathcal{T}_{(1,2)}(U^{\frac{1}{4},\frac{1}{2},\frac{1}{2}}) and U12,12,14=𝒯(1,3)(U14,12,12)U^{\frac{1}{2},\frac{1}{2},\frac{1}{4}}=\mathcal{T}_{(1,3)}(U^{\frac{1}{4},\frac{1}{2},\frac{1}{2}}) can be obtained from U14,12,12U^{\frac{1}{4},\frac{1}{2},\frac{1}{2}} with σ=(1,2)\sigma=(1,2) and (1,3)(1,3) in (3.2), respectively. It is illustrated in Figures 5 and 6.

Refer to caption
Figure 5: On each layer along the x3x_{3}-direction, we obtain U12,14,12U^{\frac{1}{2},\frac{1}{4},\frac{1}{2}} from U^:=U14,12,12\hat{U}:=U^{\frac{1}{4},\frac{1}{2},\frac{1}{2}} by (3.2). For example, UI(0,3,1)12,14,12=u(0,34,12)=u(34,0,12)=UI(3,0,1)14,12,12U^{\frac{1}{2},\frac{1}{4},\frac{1}{2}}_{I(0,3,1)}=u(0,\frac{3}{4},\frac{1}{2})=u(\frac{3}{4},0,\frac{1}{2})=U^{\frac{1}{4},\frac{1}{2},\frac{1}{2}}_{I(3,0,1)}. That is, U2512,14,12=U1914,12,12=U^19U^{\frac{1}{2},\frac{1}{4},\frac{1}{2}}_{25}=U^{\frac{1}{4},\frac{1}{2},\frac{1}{2}}_{19}=\hat{U}_{19}.
Refer to caption
Figure 6: On each layer along the x3x_{3}-direction, we get U12,12,14U^{\frac{1}{2},\frac{1}{2},\frac{1}{4}} from U^:=U14,12,12\hat{U}:=U^{\frac{1}{4},\frac{1}{2},\frac{1}{2}} by (3.2). For example, UI(0,2,1)12,12,14=u(0,1,14)=u(14,1,0)=UI(1,2,0)14,12,12U^{\frac{1}{2},\frac{1}{2},\frac{1}{4}}_{I(0,2,1)}=u(0,1,\frac{1}{4})=u(\frac{1}{4},1,0)=U^{\frac{1}{4},\frac{1}{2},\frac{1}{2}}_{I(1,2,0)}. That is, U1612,12,14=U1214,12,12=U^12U^{\frac{1}{2},\frac{1}{2},\frac{1}{4}}_{16}=U^{\frac{1}{4},\frac{1}{2},\frac{1}{2}}_{12}=\hat{U}_{12}.

The process of obtaining the vectors Uh2,h1,h3=Uh(1,2)(1),h(1,2)(2),h(1,2)(3)U^{h_{2},h_{1},h_{3}}=U^{h_{(1,2)(1)},h_{(1,2)(2)},h_{(1,2)(3)}} or Uh3,h2,h1=Uh(1,3)(1),h(1,3)(2),h(1,3)(3)U^{h_{3},h_{2},h_{1}}=U^{h_{(1,3)(1)},h_{(1,3)(2)},h_{(1,3)(3)}} from Uh1,h2,h3U^{h_{1},h_{2},h_{3}} can be implemented by Algorithm 3.1 with d=3d=3, which requires 18Ndof18N_{dof} operations.

4 The symmetrized two-scale finite element approximations

For the source problem (2.2) and eigenvalue problem (2.6), the two-scale finite element method has been developed [7, 12]. In this section, for (2.2) and (2.6) with symmetric solutions, Algorithm 3.1 will be combined with the two-scale finite element method.

Let vv be a symmetric function and vh1,h2,,hdSh1,h2,,hd(Ω)v_{h_{1},h_{2},\cdots,h_{d}}\in{S}^{h_{1},h_{2},\cdots,h_{d}}(\Omega) be a standard finite element approximation to vv. As stated in Section 3, usually the grid points of Th1,h2,,hd(Ω)T^{h_{1},h_{2},\cdots,h_{d}}(\Omega) are numbered along the x1x_{1}-direction, the x2x_{2}-direction, \cdots, and the xdx_{d}-direction, consecutively. The values of vh1,h2,,hdv_{h_{1},h_{2},\cdots,h_{d}} on these nodes are stored in a vector denoted by Vh1,h2,,hdV^{h_{1},h_{2},\cdots,h_{d}} with the size Ndof:=i=1d(Ni+1)N_{dof}:=\prod_{i=1}^{d}(N_{i}+1).

Define a bijection G:NdofSh1,h2,,hd(Ω)G:\mathbb{C}^{N_{dof}}\rightarrow S^{h_{1},h_{2},\cdots,h_{d}}(\Omega) satisfying

G(Vh1,h2,,hd)=i=1NdofVih1,h2,,hdϕi,Vh1,h2,,hdNdof,G(V^{h_{1},h_{2},\cdots,h_{d}})=\sum_{i=1}^{N_{dof}}V^{h_{1},h_{2},\cdots,h_{d}}_{i}\phi_{i},\quad\quad\forall V^{h_{1},h_{2},\cdots,h_{d}}\in\mathbb{C}^{N_{dof}},

where Vih1,h2,,hdV^{h_{1},h_{2},\cdots,h_{d}}_{i} is the ii-th component of Vh1,h2,,hdV^{h_{1},h_{2},\cdots,h_{d}} and ϕi\phi_{i} is the Lagrangian basis of Sh1,h2,,hd(Ω)S^{h_{1},h_{2},\cdots,h_{d}}(\Omega) with i=1,2,,Ndofi=1,2,\cdots,N_{dof}. Obviously we have vh1,h2,,hd=G(Vh1,h2,,hd)v_{h_{1},h_{2},\cdots,h_{d}}=G(V^{h_{1},h_{2},\cdots,h_{d}}). For any σSym(d)\sigma\in\text{Sym}(d), there holds

vhσ(1),hσ(2),,hσ(d)=G(Vhσ(1),hσ(2),,hσ(d)).v_{h_{\sigma(1)},h_{\sigma(2)},\cdots,h_{\sigma(d)}}=G(V^{h_{\sigma(1)},h_{\sigma(2)},\cdots,h_{\sigma(d)}}).

Invoking (3.6) we obtain

𝒯σ(Vh1,h2,,hd)=Vhσ(1),hσ(2),,hσ(d),Vh1,h2,,hdNdof.\mathcal{T}_{\sigma}(V^{h_{1},h_{2},\cdots,h_{d}})=V^{h_{\sigma(1)},h_{\sigma(2)},\cdots,h_{\sigma(d)}},\quad\forall V^{h_{1},h_{2},\cdots,h_{d}}\in\mathbb{C}^{N_{dof}}.

The process of obtaining Vhσ(1),hσ(2),,hσ(d)V^{h_{\sigma(1)},h_{\sigma(2)},\cdots,h_{\sigma(d)}} from Vh1,h2,,hdV^{h_{1},h_{2},\cdots,h_{d}} can be implemented by a symmetrization algorithm (Algorithm 3.1). Define a bijection Rσ:Sh1,h2,,hd(Ω)Shσ(1),hσ(2),,hσ(d)(Ω)R_{\sigma}:S^{h_{1},h_{2},\cdots,h_{d}}(\Omega)\rightarrow S^{h_{\sigma(1)},h_{\sigma(2)},\cdots,h_{\sigma(d)}}(\Omega) satisfying

Rσ=G𝒯σG1.R_{\sigma}=G\circ\mathcal{T}_{\sigma}\circ G^{-1}. (4.1)

We have

vhσ(1),hσ(2),,hσ(d)=Rσ(vh1,h2,,hd),vh1,h2,,hdSh1,h2,,hd(Ω).v_{h_{\sigma(1)},h_{\sigma(2)},\cdots,h_{\sigma(d)}}=R_{\sigma}(v_{h_{1},h_{2},\cdots,h_{d}}),\quad\forall v_{h_{1},h_{2},\cdots,h_{d}}\in S^{h_{1},h_{2},\cdots,h_{d}}(\Omega). (4.2)

It is seen from (4.1) and (4.2) that the critical process of getting Rσ(vh1,h2,,hd)R_{\sigma}(v_{h_{1},h_{2},\cdots,h_{d}}) from vh1,h2,,hdv_{h_{1},h_{2},\cdots,h_{d}} is to calculate 𝒯σ(Vh1,h2,,hd)\mathcal{T}_{\sigma}(V^{h_{1},h_{2},\cdots,h_{d}}) from Vh1,h2,,hdV^{h_{1},h_{2},\cdots,h_{d}} by Algorithm 3.1, which requires 2d2Ndof2d^{2}N_{dof} operations with Ndof:=i=1d(Ni+1)N_{dof}:=\prod_{i=1}^{d}(N_{i}+1). While computing vhσ(1),hσ(2),,hσ(d)v_{h_{\sigma(1)},h_{\sigma(2)},\cdots,h_{\sigma(d)}} by the standard finite element method usually demands MNdofMN_{dof} operations with an amount M2d2M\gg 2d^{2}, due to creating stiffness matrix and solving linear algebraic systems. Consequently, if vh1,h2,,hdv_{h_{1},h_{2},\cdots,h_{d}} has been calculated, then obtaining vhσ(1),hσ(2),,hσ(d)v_{h_{\sigma(1)},h_{\sigma(2)},\cdots,h_{\sigma(d)}} through Algorithm 3.1 is much more efficient than the standard finite element method. From this observation, some efficient algorithms for (2.2) and (2.6) with symmetric solutions can be established.

4.1 The source problem

For the source problem (2.2) with symmetric solution, we propose a symmetrized two-scale finite element method to reduce computational cost by combining Algorithm 3.1 with the two-scale finite element method in [7, 12]. Let h,H(0,1)h,H\in(0,1) and assume that H/hH/h is a positive integer. Let whα+H(eα)S0hα+H(eα)(Ω)(0αe)w_{h\alpha+H(\textbf{e}-\alpha)}\in S_{0}^{h\alpha+H(\textbf{e}-\alpha)}(\Omega)(\textbf{0}\leq\alpha\leq\textbf{e}), and define

BHehwhe=i=1dwHe^i+hei(d1)wHe.B^{h}_{H\textbf{e}}w_{h\textbf{e}}=\sum_{i=1}^{d}w_{H\hat{\textbf{e}}_{i}+h\textbf{e}_{i}}-(d-1)w_{H\textbf{e}}.

For instance, BH,H,Hhwh,h,h=wh,H,H+wH,h,H+wH,H,h2wH,H,HB^{h}_{H,H,H}w_{h,h,h}=w_{h,H,H}+w_{H,h,H}+w_{H,H,h}-2w_{H,H,H}, for d=3d=3. Invoking (4.2), a symmetrized two-scale finite element method for the linear source problem (2.2) with symmetric solution is described in Algorithm 4.2.

Algorithm 4.2.
  1. 1.

    Solve (2.4) on a coarse grid: find PHeuS0He(Ω)P_{H\textbf{e}}u\in S_{0}^{H\textbf{e}}(\Omega) such that

    a(PHeu,v)=(f,v)vS0He(Ω).a(P_{H\textbf{e}}u,v)=(f,v)\ \ \ \ \forall v\in S_{0}^{H\textbf{e}}(\Omega).
  2. 2.

    Solve (2.4) on a grid which is fine in the first coordinate direction: find Phe1+He^1uS0he1+He^1(Ω)P_{h\textbf{e}_{1}+H\hat{\textbf{e}}_{1}}u\in S_{0}^{h\textbf{e}_{1}+H\hat{\textbf{e}}_{1}}(\Omega) such that

    a(Phe1+He^1u,v)=(f,v)vS0he1+He^1(Ω).\displaystyle a(P_{h\textbf{e}_{1}+H\hat{\textbf{e}}_{1}}u,v)=(f,v)\ \ \ \ \forall v\in S_{0}^{h\textbf{e}_{1}+H\hat{\textbf{e}}_{1}}(\Omega).

    Get R(1,i)(Phe1+He^1u)S0hei+He^i(Ω),id/{1}R_{(1,i)}(P_{h\textbf{e}_{1}+H\hat{\textbf{e}}_{1}}u)\in S_{0}^{h\textbf{e}_{i}+H\hat{\textbf{e}}_{i}}(\Omega),\ i\in\mathbb{Z}_{d}/\{1\} from Phe1+He^1uP_{h\textbf{e}_{1}+H\hat{\textbf{e}}_{1}}u through Algorithm 3.1.

  3. 3.

    Set

    BHehPheu=Phe1+He^1u+i=2dR(1,i)(Phe1+He^1u)(d1)PHeu.\displaystyle B^{h}_{H\textbf{e}}P_{h\textbf{e}}u=P_{h\textbf{e}_{1}+H\hat{\textbf{e}}_{1}}u+\sum_{i=2}^{d}R_{(1,i)}(P_{h\textbf{e}_{1}+H\hat{\textbf{e}}_{1}}u)-(d-1)P_{H\textbf{e}}u.

For d=2d=2 or 33, there holds the following error estimates for the symmetrized two-scale finite element solution.

Theorem 4.1.

Assume that xlaijW1,(Ω)\partial_{x_{l}}a_{ij}\in W^{1,\infty}(\Omega) and xlblL(Ω)\partial_{x_{l}}b_{l}\in L^{\infty}(\Omega) for i,j,ldi,j,l\in\mathbb{Z}_{d}. If uH01(Ω)WG,4(Ω)u\in H_{0}^{1}(\Omega)\cap W^{G,4}(\Omega) and BHehPheuB^{h}_{H\textbf{e}}P_{h\textbf{e}}u is obtained from Algorithm 4.2, then

uBHehPheu1,Ω\displaystyle\lVert u-B^{h}_{H\textbf{e}}P_{h\textbf{e}}u\rVert_{1,\Omega} (h+H3)uWG,4(Ω),\displaystyle\lesssim(h+H^{3})\lVert u\rVert_{W^{G,4}(\Omega)},
uBHehPheu0,Ω\displaystyle\lVert u-B^{h}_{H\textbf{e}}P_{h\textbf{e}}u\rVert_{0,\Omega} (h2+H4)uWG,4(Ω).\displaystyle\lesssim(h^{2}+H^{4})\lVert u\rVert_{W^{G,4}(\Omega)}.
Proof.

Invoking Theorem 3.3 and Lemma 4.1 in [15], we have

PheuBHehPheu1,Ω(h2+H3)uWG,4(Ω).\lVert P_{h\textbf{e}}u-B^{h}_{H\textbf{e}}P_{h\textbf{e}}u\rVert_{1,\Omega}\lesssim(h^{2}+H^{3})\lVert u\rVert_{W^{G,4}(\Omega)}. (4.3)

Then imitating the proof of Theorem 2.5 in [11], we complete the proof. ∎

Remark 4.1.

We may see from Algorithm 4.2 that the symmetrized two-scale finite element method is quite applicable for the source problem (2.1) with symmetric solution. R(1,i)(Phe1+He^1u)R_{(1,i)}(P_{h\textbf{e}_{1}+H\hat{\textbf{e}}_{1}}u) can be obtained from Phe1+He^1uP_{h\textbf{e}_{1}+H\hat{\textbf{e}}_{1}}u through Algorithm 3.1. The computational cost of Algorithm 3.1 is far smaller than computing Phei+He^iuP_{h\textbf{e}_{i}+H\hat{\textbf{e}}_{i}}u by the standard finite element method. For example, when d=3d=3, the amount of operations for Algorithm 3.1 to get PH,h,Hu=R(1,2)(Ph,H,Hu)P_{H,h,H}u=R_{(1,2)}(P_{h,H,H}u) from Ph,H,HuP_{h,H,H}u is only 18Ndof18N_{dof} with Ndof:=(n1)(N1)(N1)N_{dof}:=(n-1)(N-1)(N-1). While computing PH,h,HuP_{H,h,H}u by the standard finite element method usually requires MNdofMN_{dof} operations with M18M\gg 18, due to creating stiffness matrix and solving linear algebraic systems. Hence the computational cost is reduced significantly.

Remark 4.2.

Combining the two-scale finite element method with the postprocessing technique, the postprocessed two-scale finite element method and the two-scale postprocessed finite element method have been proposed in [11, 15], in which the interpolation postprocessing operator Π2h\Pi_{2\textbf{h}} for uniform tensor product grids T𝐡(Ω)T^{\bf h}(\Omega) is used. For the linear source problem (2.1) with symmetric solution, these methods can also be combined with Algorithm 3.1 similarly to reduce computational cost further.

4.2 The eigenvalue problem

Similar to Section 4.1, for the eigenvalue problem (2.6) with symmetric solution, we combine Algorithm 3.1 with the two-scale finite element method in [7, 12] to propose the symmetrized two-scale finite element method (Algorithm 4.3).

Algorithm 4.3.
  1. 1.

    Solve (2.7) on a coarse grid: find (λHe,uHe)×S0He(Ω)(\lambda_{H\textbf{e}},u_{H\textbf{e}})\in\mathbb{R}\times S_{0}^{H\textbf{e}}(\Omega) satisfying uHe0,Ω=1\lVert u_{H\textbf{e}}\rVert_{0,\Omega}=1 and

    a(uHe,v)=λHe(uHe,v)vS0He(Ω).a(u_{H\textbf{e}},v)=\lambda_{H\textbf{e}}(u_{H\textbf{e}},v)\ \ \ \ \forall v\in S_{0}^{H\textbf{e}}(\Omega).
  2. 2.

    Solve (2.7) on a grid which is fine in the first coordinate direction:

    find (λhe1+He^1,uhe1+He^1)×S0he1+He^1(Ω)(\lambda_{h\textbf{e}_{1}+H\hat{\textbf{e}}_{1}},u_{h\textbf{e}_{1}+H\hat{\textbf{e}}_{1}})\in\mathbb{R}\times S_{0}^{h\textbf{e}_{1}+H\hat{\textbf{e}}_{1}}(\Omega) satisfying uhe1+He^10,Ω=1\lVert u_{h\textbf{e}_{1}+H\hat{\textbf{e}}_{1}}\rVert_{0,\Omega}=1 and

    a(uhe1+He^1,v)=λhe1+He^1(uhe1+He^1,v)vS0he1+He^1(Ω).\displaystyle a(u_{h\textbf{e}_{1}+H\hat{\textbf{e}}_{1}},v)=\lambda_{h\textbf{e}_{1}+H\hat{\textbf{e}}_{1}}(u_{h\textbf{e}_{1}+H\hat{\textbf{e}}_{1}},v)\ \ \ \ \forall v\in S_{0}^{h\textbf{e}_{1}+H\hat{\textbf{e}}_{1}}(\Omega).

    For id/{1}i\in\mathbb{Z}_{d}/\{1\}, set λhei+He^i=λhe1+He^1\lambda_{h\textbf{e}_{i}+H\hat{\textbf{e}}_{i}}=\lambda_{h\textbf{e}_{1}+H\hat{\textbf{e}}_{1}} and obtain R(1,i)(uhe1+He^1)S0hei+He^i(Ω)R_{(1,i)}(u_{h\textbf{e}_{1}+H\hat{\textbf{e}}_{1}})\in S_{0}^{h\textbf{e}_{i}+H\hat{\textbf{e}}_{i}}(\Omega) from uhe1+He^1S0he1+He^1(Ω)u_{h\textbf{e}_{1}+H\hat{\textbf{e}}_{1}}\in S_{0}^{h\textbf{e}_{1}+H\hat{\textbf{e}}_{1}}(\Omega) through Algorithm 3.1.

  3. 3.

    Set

    BHehλhe\displaystyle B^{h}_{H\textbf{e}}\lambda_{h\textbf{e}} =i=1dλhei+He^i(d1)λHe,\displaystyle=\sum_{i=1}^{d}\lambda_{h\textbf{e}_{i}+H\hat{\textbf{e}}_{i}}-(d-1)\lambda_{H\textbf{e}},
    BHehuhe\displaystyle B^{h}_{H\textbf{e}}u_{h\textbf{e}} =uhe1+He^1+i=2dR(1,i)(uhe1+He^1)(d1)uHe.\displaystyle=u_{h\textbf{e}_{1}+H\hat{\textbf{e}}_{1}}+\sum_{i=2}^{d}R_{(1,i)}(u_{h\textbf{e}_{1}+H\hat{\textbf{e}}_{1}})-(d-1)u_{H\textbf{e}}.

From (4.2) we have uhei+He^i=R(1,i)(uhe1+He^1)u_{h\textbf{e}_{i}+H\hat{\textbf{e}}_{i}}=R_{(1,i)}(u_{h\textbf{e}_{1}+H\hat{\textbf{e}}_{1}}). For d=2d=2 or 33, there holds the following result, which is a refinement of the results in [7, 12].

Theorem 4.2.

Let (λHe,uHe)(\lambda_{H\textbf{e}},u_{H\textbf{e}}) and (λhe1+He^1,uhe1+He^1)(\lambda_{h\textbf{e}_{1}+H\hat{\textbf{e}}_{1}},u_{h\textbf{e}_{1}+H\hat{\textbf{e}}_{1}}) be eigenpairs of (2.7) that approximate the same exact eigenpair (λ,u)(\lambda,u). If xlaijW1,(Ω)\partial_{x_{l}}a_{ij}\in W^{1,\infty}(\Omega) for i,j,ldi,j,l\in\mathbb{Z}_{d} and uH01(Ω)WG,4(Ω)u\in H_{0}^{1}(\Omega)\cap W^{G,4}(\Omega), then

uBHehuhe1,Ω\displaystyle\lVert u-B^{h}_{H\textbf{e}}u_{h\textbf{e}}\rVert_{1,\Omega} h+H3,\displaystyle\lesssim h+H^{3}, (4.4)
|λBHehλhe|\displaystyle\lvert\lambda-B^{h}_{H\textbf{e}}\lambda_{h\textbf{e}}\rvert h2+H4.\displaystyle\lesssim h^{2}+H^{4}. (4.5)
Proof.

Combining Lemma 5.2 with Theorem 3.3 in [15], we obtain

BHehuheuhe1,Ωh2+H3.\lVert B^{h}_{H\textbf{e}}u_{h\textbf{e}}-u_{h\textbf{e}}\rVert_{1,\Omega}\lesssim h^{2}+H^{3}. (4.6)

Thus we arrive at (4.4). By Lemma 2.1, we have

BH𝐞hλh𝐞λh𝐞=λ(u,Ph𝐞uBH𝐞hPh𝐞u)+𝒪(H4).\displaystyle B^{h}_{H{\bf e}}\lambda_{h{\bf e}}-\lambda_{h{\bf e}}=\lambda(u,P_{h{\bf e}}u-B^{h}_{H{\bf e}}P_{h{\bf e}}u)+\mathcal{O}(H^{4}).

Applying Theorem 4.1, we complete the proof. ∎

Remark 4.3.

For the eigenvalue problem with symmetric eigenfunction, Algorithm 3.1 is combined with the two-scale finite element method to obtain new and more efficient algorithm (Algorithm 4.3). Algorithm 3.1 can also be combined with the postprocessed two-scale finite element method in [11] and the two-scale postprocessed finite element method in [15]. Besides, some two-scale finite element discretizations for the nonlinear eigenvalue problems have been proposed and analyzed in [9]. Consequently, for the nonlinear eigenvalue problems with symmetric eigenfunctions, the two-scale finite element methods in [9] can also be combined with Algorithm 3.1 to get new algorithms.

5 Numerical examples

In this section, several numerical examples, including the electronic structure calculations, are presented to illustrate the efficiency of our approaches. To optimize the cost of the computation, we choose h=H2h=H^{2} approximately.

Example 1 Consider a source problem with a singular coefficient:

{Δu1x12+x22+x32u+x1x2x3u=finΩ=(0,1)3,u=0onΩ\displaystyle\vspace{-0.8cm}\left\{\begin{aligned} -\Delta u-\frac{1}{\sqrt{x_{1}^{2}+x_{2}^{2}+x_{3}^{2}}}u+x_{1}x_{2}x_{3}u&=f\ \ in\ \ \Omega=(0,1)^{3},\\ u&=0\ \ on\ \ \partial\Omega\end{aligned}\right.\vspace{-0.8cm}

with ff chosen so that the exact solution is

u=2x1x2x3(1x1)(1x2)(1x3)ex1+x2+x3.u=2x_{1}x_{2}x_{3}(1-x_{1})(1-x_{2})(1-x_{3})\text{e}^{x_{1}+x_{2}+x_{3}}.

Let L=1.0L=1.0 be the side length of Ω\Omega.

For this linear source problem with symmetric solution, the numerical results are presented in Figures 7-8 and Tables 1-2. Figure 7 supports the convergence results of Theorem 4.1. Time consumptions of different methods are presented in Figure 8. It is shown that the two-scale finite element method is more efficient than the standard finite element method. Algorithm 4.2 reduces the time consumption further compared with the two-scale finite element method, which is illustrated in more details in Tables 1-2. All of these results show that for this linear source problem with symmetric solution, considering both accuracy and computational cost, the symmetrized two-scale finite element method (Algorithm 4.2) is the preferred method.

Refer to caption
Refer to caption
Figure 7: (Example 1) The convergence curves of solutions in H1H^{1} norm and L2L^{2} norm by the standard FEM and Algorithm 4.2.
Refer to caption
Figure 8: (Example 1) The time consumptions of the three methods.
Table 1: Example 1: The running time (s) by the two-scale FEM.
Lh×LH×LH\frac{L}{h}\times\frac{L}{H}\times\frac{L}{H} PHeuP_{H\textbf{e}}u Phe1+He^1uP_{h\textbf{e}_{1}+H\hat{\textbf{e}}_{1}}u Phe2+He^2uP_{h\textbf{e}_{2}+H\hat{\textbf{e}}_{2}}u Phe3+He^3uP_{h\textbf{e}_{3}+H\hat{\textbf{e}}_{3}}u BHehPheuB_{H\textbf{e}}^{h}P_{h\textbf{e}}u Total
16×4×416\times 4\times 4 0.0030 0.0104 0.0110 0.0104 0.0006 0.0354
36×6×636\times 6\times 6 0.0106 0.0609 0.0624 0.0614 0.0052 0.2005
64×8×864\times 8\times 8 0.0364 0.2250 0.2220 0.2192 0.0281 0.7307
100×10×10100\times 10\times 10 0.0754 0.5574 0.5484 0.5596 0.1104 1.8512
144×12×12144\times 12\times 12 0.1005 1.2790 1.2835 1.2941 0.3264 4.2835
Table 2: Example 1: The running time (s) by Algorithm 4.2.
Lh×LH×LH\frac{L}{h}\times\frac{L}{H}\times\frac{L}{H} PHeuP_{H\textbf{e}}u Phe1+He^1uP_{h\textbf{e}_{1}+H\hat{\textbf{e}}_{1}}u Phe2+He^2u,Phe3+He^3uP_{h\textbf{e}_{2}+H\hat{\textbf{e}}_{2}}u,P_{h\textbf{e}_{3}+H\hat{\textbf{e}}_{3}}u BHehPheuB_{H\textbf{e}}^{h}P_{h\textbf{e}}u Total
16×4×416\times 4\times 4 0.0030 0.0104 0.0001 0.0003 0.0138
36×6×636\times 6\times 6 0.0106 0.0609 0.0004 0.0026 0.0745
64×8×864\times 8\times 8 0.0364 0.2250 0.0027 0.0135 0.2776
100×10×10100\times 10\times 10 0.0754 0.5574 0.0136 0.0581 0.7045
144×12×12144\times 12\times 12 0.1005 1.2790 0.0461 0.1708 1.5964

Example 2 Consider a source problem:

{i,j=13xj(aijuxi)+i=13biuxi+u=finΩ=(1,2)3,u=0onΩ,\displaystyle\left\{\begin{aligned} -\sum\limits_{i,j=1}^{3}\frac{\partial}{\partial x_{j}}(a_{ij}\frac{\partial u}{\partial x_{i}})+\sum\limits_{i=1}^{3}b_{i}\frac{\partial u}{\partial x_{i}}+u&=f\ \ in\ \ \Omega=(1,2)^{3},\\ u&=0\ \ on\ \ \partial\Omega,\end{aligned}\right.

where

A=(aij)=(ex1111ex2111ex3),b1=b2=b3=0.001,A=(a_{ij})=\begin{pmatrix}\text{e}^{x_{1}}&1&1\\ 1&\text{e}^{x_{2}}&1\\ 1&1&\text{e}^{x_{3}}\end{pmatrix},b_{1}=b_{2}=b_{3}=0.001,

and ff is chosen so that we have the symmetric exact solution as follows

u=(1x1)(2x1)(1x2)(2x2)(1x3)(2x3)(sinx1x2x3)ex1+x2+x3.u=(1-x_{1})(2-x_{1})(1-x_{2})(2-x_{2})(1-x_{3})(2-x_{3})(\sin\sqrt{x_{1}x_{2}x_{3}})\text{e}^{x_{1}+x_{2}+x_{3}}.

Let L=1.0L=1.0 be the side length of Ω\Omega.

The numerical results are presented in Figures 9-10 and Tables 3-4 for the nonsymmetric source problem with symmetric solution. Similar to Example 1, Figure 9 also supports the convergence results of Theorem 4.1. It is shown that the symmetrized two-scale finite element method (Algorithm 4.2) is still better than the other methods.

Refer to caption
Refer to caption
Figure 9: (Example 2) The convergence curves of solutions in H1H^{1} norm and L2L^{2} norm by the standard FEM and Algorithm 4.2.
Refer to caption
Figure 10: (Example 2) The time consumptions of the three methods.
Table 3: Example 2: The running time (s) by the two-scale FEM.
Lh×LH×LH\frac{L}{h}\times\frac{L}{H}\times\frac{L}{H} PHeuP_{H\textbf{e}}u Phe1+He^1uP_{h\textbf{e}_{1}+H\hat{\textbf{e}}_{1}}u Phe2+He^2uP_{h\textbf{e}_{2}+H\hat{\textbf{e}}_{2}}u Phe3+He^3uP_{h\textbf{e}_{3}+H\hat{\textbf{e}}_{3}}u BHehPheuB_{H\textbf{e}}^{h}P_{h\textbf{e}}u Total
16×4×416\times 4\times 4 0.0062 0.0257 0.0243 0.0236 0.0008 0.0806
36×6×636\times 6\times 6 0.0292 0.1510 0.1539 0.1506 0.0052 0.4899
64×8×864\times 8\times 8 0.0677 0.5428 0.5385 0.5349 0.0275 1.7114
100×10×10100\times 10\times 10 0.1424 1.4185 1.4174 1.4132 0.1095 4.5010
144×12×12144\times 12\times 12 0.2577 3.1907 3.1658 3.1772 0.3328 10.1242
Table 4: Example 2: The running time (s) by Algorithm 4.2.
Lh×LH×LH\frac{L}{h}\times\frac{L}{H}\times\frac{L}{H} PHeuP_{H\textbf{e}}u Phe1+He^1uP_{h\textbf{e}_{1}+H\hat{\textbf{e}}_{1}}u Phe2+He^2u,Phe3+He^3uP_{h\textbf{e}_{2}+H\hat{\textbf{e}}_{2}}u,P_{h\textbf{e}_{3}+H\hat{\textbf{e}}_{3}}u BHehPheuB_{H\textbf{e}}^{h}P_{h\textbf{e}}u Total
16×4×416\times 4\times 4 0.0062 0.0257 0.0001 0.0005 0.0325
36×6×636\times 6\times 6 0.0292 0.1510 0.0006 0.0028 0.1836
64×8×864\times 8\times 8 0.0677 0.5428 0.0031 0.0137 0.6273
100×10×10100\times 10\times 10 0.1424 1.4185 0.0133 0.0570 1.6312
144×12×12144\times 12\times 12 0.2577 3.1907 0.0478 0.1748 3.6710

Example 3 Consider a model for the quantum harmonic oscillator:

(12Δ+12r2)u=λuin3.(-\frac{1}{2}\Delta+\frac{1}{2}r^{2})u=\lambda u\ \ \ \ in\ \mathbb{R}^{3}.

The minimum eigenvalue λ=1.5\lambda=1.5 and the associated eigenfunction u=π34er2/2u=\pi^{-\frac{3}{4}}\text{e}^{-r^{2}/2}. Since the eigenfunctions decay exponentially, in our calculation, the following eigenvalue problem is considered.

{(12Δ+12r2)u=λuinΩ,u=0onΩ,\displaystyle\left\{\begin{aligned} (-\frac{1}{2}\Delta+\frac{1}{2}r^{2})u&=\lambda u\ \ \ \ in\ \Omega,\\ u&=0\ \ \ \ \ \ on\ \partial\Omega,\end{aligned}\right.

where Ω=[5.0,5.0]3\Omega=[-5.0,5.0]^{3} and r=(x2+y2+z2)12r=(x^{2}+y^{2}+z^{2})^{\frac{1}{2}}. Let L=10.0L=10.0 be the side length of Ω\Omega. The numerical results of the minimum eigenvalue and associated eigenfunction are presented in Figures 11-12 and Tables 5-6. Figure 11 supports the convergence results of Theorem 4.2. For this linear eigenvalue problem with symmetric solution, our results illustrate the efficiency of the symmetrized two-scale finite element method (Algorithm 4.3).

Refer to caption
Refer to caption
Figure 11: (Example 3) The convergence curves of eigenvalue and eigenfunction by the standard FEM and Algorithm 4.3.
Refer to caption
Figure 12: (Example 3) The time consumptions of the three methods.
Table 5: Example 3: The running time (s) by the two-scale FEM.
Lh×LH×LH\frac{L}{h}\times\frac{L}{H}\times\frac{L}{H} uHeu_{H\textbf{e}} uhe1+He^1u_{h\textbf{e}_{1}+H\hat{\textbf{e}}_{1}} uhe2+He^2u_{h\textbf{e}_{2}+H\hat{\textbf{e}}_{2}} uhe3+He^3u_{h\textbf{e}_{3}+H\hat{\textbf{e}}_{3}} BHehuheB_{H\textbf{e}}^{h}u_{h\textbf{e}} BHehλheB_{H\textbf{e}}^{h}\lambda_{h\textbf{e}} Total
40×20×2040\times 20\times 20 0.7060 1.7362 1.6241 1.8173 0.1405 0.0001 6.0242
62×25×2562\times 25\times 25 1.6529 5.3517 5.1389 6.1617 0.5373 0.0001 18.8426
90×30×3090\times 30\times 30 3.5823 13.2750 13.4933 18.8052 1.6285 0.0001 50.7844
122×35×35122\times 35\times 35 7.4273 35.3173 41.0032 40.0038 4.0751 0.0001 127.8268
160×40×40160\times 40\times 40 13.1982 113.4475 105.7242 146.7036 9.8352 0.0016 388.9103
Table 6: Example 3: The running time (s) by Algorithm 4.3.
Lh×LH×LH\frac{L}{h}\times\frac{L}{H}\times\frac{L}{H} uHeu_{H\textbf{e}} uhe1+He^1u_{h\textbf{e}_{1}+H\hat{\textbf{e}}_{1}} uhe2+He^2,uhe3+He^3u_{h\textbf{e}_{2}+H\hat{\textbf{e}}_{2}},u_{h\textbf{e}_{3}+H\hat{\textbf{e}}_{3}} BHehuheB_{H\textbf{e}}^{h}u_{h\textbf{e}} BHehλheB_{H\textbf{e}}^{h}\lambda_{h\textbf{e}} Total
40×20×2040\times 20\times 20 0.7060 1.7362 0.0009 0.1338 0.0001 2.5770
62×25×2562\times 25\times 25 1.6529 5.3517 0.0029 0.5145 0.0001 7.5221
90×30×3090\times 30\times 30 3.5823 13.2750 0.0118 1.6162 0.0001 18.4854
122×35×35122\times 35\times 35 7.4273 35.3173 0.0341 3.8900 0.0001 46.6688
160×40×40160\times 40\times 40 13.1982 113.4475 0.0953 9.3284 0.0003 136.0697

Example 4 Consider the Kohn-Sham equation for the helium atom:

(12Δ2|r|+ρ(r)|rr|𝑑r+Vxc)u=λuin3,\left(-\frac{1}{2}\Delta-\frac{2}{|r|}+\int\frac{\rho(r^{\prime})}{|{r}-{r}^{\prime}|}d{r}^{\prime}+V_{xc}\right)u=\lambda u\ \ \ in\ \mathbb{R}^{3},

with u0,3=1\|u\|_{0,\mathbb{R}^{3}}=1, where |r|=(x2+y2+z2)12|r|=(x^{2}+y^{2}+z^{2})^{\frac{1}{2}} and ρ=2|u|2\rho=2|u|^{2}. In our computation, we solve the following nonlinear eigenvalue problem [5]: find (λ,u)×H01(Ω)(\lambda,u)\in\mathbb{R}\times H^{1}_{0}(\Omega) such that u0,Ω=1\|u\|_{0,\Omega}=1 and

{(12Δ2|r|+Ωρ(r)|rr|𝑑r+Vxc)u=λuinΩ,u=0onΩ,\displaystyle\left\{\begin{aligned} \left(-\frac{1}{2}\Delta-\frac{2}{|r|}+\int_{\Omega}\frac{\rho(r^{\prime})}{|{r}-{r}^{\prime}|}d{r}^{\prime}+V_{xc}\right)u&=\lambda u\ \ \ in\ \Omega,\\ u&=0\ \ \ \ \ on\ \partial\Omega,\end{aligned}\right. (5.1)

where Ω=[5.0,5.0]3\Omega=[-5.0,5.0]^{3}. We choose Vxc(ρ)=32α(3πρ)1/3V_{xc}(\rho)=-\frac{3}{2}\alpha(\frac{3}{\pi}\rho)^{1/3} with α=0.77298\alpha=0.77298. Let L=10.0L=10.0 be the side length of Ω\Omega.

For this nonlinear eigenvalue problem, it has been shown in [9] that the two-scale finite element method is more economic than the standard finite element method. Because the first eigenfunction of (5.1) is symmetric, the two-scale finite element discretization proposed in [9] can be also combined with Algorithm 3.1. To illustrate this observation, numerical results are presented in Figure 13 and Table 7. One can see that by combining the idea of Algorithm 3.1 with the two-scale finite element method, the time consumption is reduced further.

Refer to caption
Figure 13: (Example 4) The time consumptions of the three methods.
Table 7: Example 4: The running time (s) by combining the two-scale FEM [9] with Algorithm 3.1.
Lh×LH×LH\frac{L}{h}\times\frac{L}{H}\times\frac{L}{H} uHeu_{H\textbf{e}} uhe1+He^1u_{h\textbf{e}_{1}+H\hat{\textbf{e}}_{1}} uhe2+He^2,uhe3+He^3u_{h\textbf{e}_{2}+H\hat{\textbf{e}}_{2}},u_{h\textbf{e}_{3}+H\hat{\textbf{e}}_{3}} uHehu_{H\textbf{e}}^{h} λHeh\lambda^{h}_{H\textbf{e}} Total
32×18×1832\times 18\times 18 9.62 18.71 0.0006 0.16 7.55 36.10
40×20×2040\times 20\times 20 15.11 34.77 0.0012 0.29 14.55 64.84
48×22×2248\times 22\times 22 19.87 46.39 0.0015 0.54 26.05 93.00
58×24×2458\times 24\times 24 27.12 79.33 0.0028 0.91 46.61 154.25
68×26×2668\times 26\times 26 36.50 112.12 0.0042 1.47 76.90 227.41
78×28×2878\times 28\times 28 49.10 187.78 0.0062 2.22 116.20 355.92

6 Conclusions

In this paper, a symmetrization algorithm is developed to perform a vector transformation associated with symmetric functions. By combining the symmetrization algorithm with the two-scale finite element methods, some symmetrized two-scale finite element methods are proposed for the elliptic source and eigenvalue problems with symmetric solutions. Numerical analyses and numerical results show that the symmetrized two-scale finite element methods save computational cost significantly compared with the corresponding two-scale finite element methods. The symmetrization algorithm can also be combined with the postprocessed two-scale finite element method to obtain efficient numerical methods [11, 15]. Besides, some two-scale finite element discretizations have been developed for a class of integral equation and integrodifferential equation [3, 14, 17], which can be also combined with the symmetrization algorithm to get more efficient algorithms. Moreover, we believe that our symmetrization algorithm is significant for solving higher dimensional problems on tensor product domains.

Acknowledgments

The authors thank Professor Huajie Chen for enlightening discussions. P. Hou was partially supported by the National Natural Science Foundation of China (grant 11971066). F. Liu was partially supported by the National Natural Science Foundation of China (grant 11771467) and the disciplinary funding of Central University of Finance and Economics. A. Zhou was partially supported by the National Key R & D Program of China under grants 2019YFA0709600 and 2019YFA0709601.

References

  • [1] I. Babuska and J.E. Osborn. Eigenvalue problems. In Handbook of Numerical Analysis, volume II, pages 641–787. North-Holland, Amsterdam, 1991.
  • [2] M. Bachmayr, G. Dusson, and C. Ortner. Polynomial approximation of symmetric functions. arXiv, 2109.14771, 2021.
  • [3] H. Chen, F. Liu, N. Reich, C. Winter, and A. Zhou. Two-scale finite element discretizations for integrodifferential equations. J. Integ. Equ. Appl., 23:351–381, 2011.
  • [4] P.G. Ciarlet. The Finite Element Method for Elliptic Problems, volume 4 of Studies in Mathematics and its Applications. North-Holland Publishing Co., Amsterdam, 1978.
  • [5] X. Dai and A. Zhou. Three-scale finite element discretizations for quantum eigenvalue problems. SIAM J. Numer. Anal., 46:295–324, 2008.
  • [6] J. Fang, X. Gao, and A. Zhou. A symmetry-based decomposition approach to eigenvalue problems. J. Sci. Comput., 57:638–669, 2013.
  • [7] X. Gao, F. Liu, and A. Zhou. Three-scale finite element eigenvalue discretizations. BIT, 48(3):533–562, 2008.
  • [8] J. Han, Y. Li, L. Lin, J. Lu, J. Zhang, and L. Zhang. Polynomial approximation of symmetric functions. arXiv, 1912.01765, 2022.
  • [9] P. Hou and F. Liu. Two-scale finite element discretizations for nonlinear eigenvalue problems in quantum physics. Adv. Comput. Math., 47:59, 2021.
  • [10] D. Joyner. Adventures in group theory: Rubik’s cube, Merlin’s machine, and other mathematical toys. Johns Hopkins University Press, second edition, 2008.
  • [11] F. Liu, M. Stynes, and A. Zhou. Postprocessed two-scale finite element discretizations, part I. SIAM J. Numer. Anal., 49:1947–1971, 2011.
  • [12] F. Liu and A. Zhou. Two-scale finite element discretizations for partial differential equations. J. Comput. Math., 24:373–392, 2006.
  • [13] F. Liu and A. Zhou. Localizations and parallelizations for two-scale finite element discretizations. Commun. Pure Appl. Anal., 6(3):757–773, 2007.
  • [14] F. Liu and A. Zhou. Two-scale Boolean Galerkin discretizations for Fredholm integral equations of the second kind. SIAM J. Numer. Anal., 45:296–312, 2007.
  • [15] F. Liu and J. Zhu. Two-scale sparse finite element approximations. Sci. China Math., 59(4):789–808, 2016.
  • [16] C. Pflaum and A. Zhou. Error analysis of the combination technique. Numer. Math., 84:327–350, 1999.
  • [17] Y. Xu and A. Zhou. Fast Boolean approximation methods for solving integral equations in high dimensions. J. Integ. Equ. Appl., 16:83–110, 2004.