On fast Fourier solvers for the tensor product high-order FEM for a generalized Poisson equation
Alexander Zlotnik, Ilya Zlotnik

TL;DR
This paper introduces efficient Fourier-based algorithms for high-order finite element methods on rectangular domains, enabling fast solutions to Poisson and related PDEs with optimal theoretical and practical performance.
Contribution
It develops novel FFT-based algorithms for eigenvector expansions in high-order FEM, improving computational efficiency for multi-dimensional PDEs.
Findings
Algorithms are logarithmically optimal in theory.
Numerical experiments confirm practical efficiency in 2D and 3D.
Applicable to various time-dependent PDEs.
Abstract
We present direct logarithmically optimal in theory and fast in practice algorithms to implement the tensor product high order finite element method on multi-dimensional rectangular parallelepipeds for solving PDEs of the Poisson kind. They are based on the well-known Fourier approaches. The key new points are the fast direct and inverse FFT-based algorithms for expansion in eigenvectors of the 1D eigenvalue problems for the high order FEM. The algorithms can further be used for numerous applications, in particular, to implement the tensor product high order finite element methods for various time-dependent PDEs. Results of numerical experiments in 2D and 3D cases are presented.
| – | – | – | – | – | |||||||||||||||||
| – | |||||||||||||||||||||
| – | |||||||||||||||||||||
| – | |||||||||||||||||||||
| – | – | – | |||||||||||||||||
| – | – | – | |||||||||||||||||
| – | |||||||||||||||||||
| – | – | – | – | – | |||||||||||||||||
| – | – | ||||||||||||||||||||
| – | |||||||||||||||||||||
| – | |||||||||||||||||||
| – | |||||||||||||||||||
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Numerical Methods in Computational Mathematics · Numerical methods in engineering · Model Reduction and Neural Networks
On fast Fourier solvers for the tensor product
high-order FEM for a generalized Poisson equation
Alexander Zlotnik 111Corresponding author. Department of Mathematics at Faculty of Economic Sciences, National Research University Higher School of Economics, Myasnitskaya 20, 101000 Moscow, Russia. E-mail: [email protected] and Ilya Zlotnik 222Settlement Depository Company, 2-oi Verkhnii Mikhailovskii proezd 9, building 2, 115419 Moscow, Russia. E-mail: [email protected]
Abstract
We present direct logarithmically optimal in theory and fast in practice algorithms to implement the tensor product high order finite element method on multi-dimensional rectangular parallelepipeds for solving PDEs of the Poisson kind. They are based on the well-known Fourier approaches. The key new points are the fast direct and inverse FFT-based algorithms for expansion in eigenvectors of the 1D eigenvalue problems for the high order FEM. The algorithms can further be used for numerous applications, in particular, to implement the tensor product high order finite element methods for various time-dependent PDEs. Results of numerical experiments in 2D and 3D cases are presented.
Keywords. Fast direct algorithm, high order finite element method, FFT, Poisson equation.
MSC subject classifications. 65F05, 65F15, 65M60, 65T99.
1 Introduction
We present direct fast algorithms to implement th order () finite element method (FEM) on rectangular parallelepipeds [4] for solving a -dimensional generalized Poisson equation () with the Dirichlet boundary condition. The algorithms are based on the well-known Fourier approaches, e.g., see [2, 10, 11, 12] and references therein. The key new points are the fast direct and inverse algorithms for expansion in eigenvectors of the 1D eigenvalue problems for the high order FEM utilizing several versions of the discrete fast Fourier transform (FFT) [3]. This solves the old known problem, see [2, p. 271], and makes the full algorithms logarithmically optimal with respect to the number of elements as in the case of the bilinear elements () or standard finite-difference schemes. The algorithms are fast in practice (faster than the theoretical expectations) and demonstrate only a mild growth in starting from the standard case . For example, in the 9th order case, the 2D FEM system for elements containing almost unknowns and the 3D FEM system for elements containing more than unknowns are solved respectively in less than 2 and 15 min on an ordinary laptop using Matlab R2016a code, see details below.
The algorithms can further serve for a variety of applications including general 2nd order elliptic equations (as preconditioners), for the -dimensional heat, wave or time-dependent Schrödinger PDEs, etc. They can be applied for some non-rectangular domains, in particular, by involving meshes topologically equivalent to rectangular ones [7]. Other standard boundary conditions can be covered as well, see a brief description in [14]. Moreover, the Fourier structure of algorithms is especially valuable for solving some wave physics problems, in particular, involving non-local boundary conditions, e.g., see [2, 6, 13], whence our own interest arose. Clearly the algorithms are also highly parallelizable.
The paper is organized as follows. In Section 2, the statement of the 1D FEM eigenvalue problem together with auxiliary FEM eigenvalue problems on and inside the reference element are given. The basic Section 3 is devoted to a description of eigenvalues and eigenvectors of the 1D FEM eigenvalue problem and the fast direct and inverse algorithms for expansion in these eigenvectors. Applications to the generalized Poisson equation in a -dimensional rectangular parallelepiped with the Dirichlet boundary condition are described in Section 4. Results of numerical experiments for and 3 are presented in detail in Section 5; all of them include the standard case for comparison.
2 The statement of 1D FEM eigenvalue problem
We first consider in detail the FEM for the simplest 1D eigenvalue ODE problem
[TABLE]
We take the uniform mesh with the nodes , (i.e., ) and the step . Let be the FEM space of the piecewise-polynomial functions such that for , , with ; here is the space of polynomials having at most th degree, .
Let be the space of vector functions such that for with and , . Clearly . A function is uniquely defined by its values at the mesh nodes , , with , and inside the elements , , that form the element in .
We use the following scaled operator form of the standard FEM discretization for problem (2.1)
[TABLE]
Here and are the global (scaled) stiffness and mass operators (matrices) acting in and together with independent on ; the true approximate eigenvalues are .
Let and be the local stiffness and mass matrices related to the reference element with the following entries
[TABLE]
where is the Lagrange basis in such that e_{l}\big{(}-1+(2k)/n\big{)}=\delta_{kl}, for , and is the Kronecker delta. The matrices , and the related matrix pencil have the following –block form
[TABLE]
Here , and are square matrices of order with the column vectors whereas , , for . The matrices , and are bisymmetric (i.e. symmetric with respect to the main and secondary diagonals).
Notice that and . Let and be the subspaces of even and odd vectors in , i.e. such that respectively and . The decomposition (for ) is implemented by the formulas
[TABLE]
Notice that and , with for . Clearly
[TABLE]
Hereafter the symbol denotes the inner product of vectors in .
Then problem (2.2) can be written in the following explicit form
[TABLE]
with , .
We also consider the auxiliary eigenvalue problems on and inside the reference element
[TABLE]
where clearly , and , ; see some their properties in [13] (where the problem similar to (2.6), (2.7) on the uniform mesh on for was studied). Denote by and their spectra. Let be eigenpairs of problem (2.9).
Lemma 2.1**.**
1. The subspaces and are invariant with respect to and . Thus each eigenvector in can be chosen either even or odd. Also , .
2. Similar properties are valid for problem (2.8) with the exception of one simple zero eigenvalue.
Proof.
Any bisymmetric matrix of the order commutes with , i.e.
[TABLE]
that implies the main result of Item 1. The property , is well-known.
For Item 2, the argument is similar taking into account that (concerning simplicity of , see Proposition 5 in [13]). ∎
One can check by the direct computation that all the eigenvalues in and are simple and at least for , see [13].
For low , one can find and analytically (with the help of Mathematica), in particular, , , and (repeatability of the eigenvalues is not occasional, see [13]).
We choose as in Lemma 2.1 using scaling .
Lemma 2.2**.**
Let , where . Let the vectors and be expanded as
[TABLE]
See , , and in (2.3). Then the following formulas hold
[TABLE]
Proof.
For the expansions and (2.11), we have
[TABLE]
and the result easily follows. ∎
3 Solving of the 1D FEM eigenvalue problem and related FFT-based algorithms
Below we impose the following assumption:
[TABLE]
Recall that it is valid at least for (below in Section 5 we verify it up to ).
We introduce the auxiliary equation
[TABLE]
where , with the parameter . Its solving is equivalent to finding the roots of a polynomial having at most th degree, see [13]. In particular, owing to Lemma 2.2 this equation can be rewritten as
[TABLE]
Here and . Moreover, for computations help to confirm that the vectors are even and odd respectively for odd and even provided that ; therefore and , .
We define the simplest inner product in and the corresponding squared -norm
[TABLE]
Next theorem describes eigenvalues and eigenvectors of problem (2.2).
Theorem 3.1**.**
1. The spectrum of problem (2.2) consists in and the numbers \big{\{}\lambda_{k}^{(l)}\big{\}}_{l=1}^{n} that are all (and all positive real) solutions to equation (3.2) with for . The numbers \big{\{}\lambda_{k}^{(l)}\big{\}}_{l=1}^{n} differ from and are different for fixed .
2. The following eigenvector corresponds to the eigenvalue :
[TABLE]
for . Here for even , for odd .
3. The following eigenvector corresponds to the eigenvalue :
[TABLE]
where and solves the non-degenerate algebraic system \widetilde{G}\big{(}\lambda^{(l)}_{k}\big{)}p_{k}^{(l)}=-g\big{(}\lambda^{(l)}_{k}\big{)}, for , .
4. The introduced eigenvectors are -orthogonal, i.e.
[TABLE]
for any , and such that and/or .
Consequently they form the basis in , i.e. any can be uniquely expanded as
[TABLE]
Proof.
- We distinguish between two cases. Let first and satisfy (2.9). Then, for any , using equation (2.7) we get
[TABLE]
Clearly
[TABLE]
Since by assumption (A), we have or . Owing to assumption (A) and Lemma 2.1, is simple in and is either even or odd. Correspondingly either and , or and . Since , in both cases we get
[TABLE]
Thus equation (2.7) is reduced to and implies that .
Now equation (2.6) is reduced to
[TABLE]
Therefore for even or for odd . Consequently the sought eigenvector satisfies (3.7) together with
[TABLE]
( is defined up to a non-zero constant multiplier). Thus we come to eigenvectors (3.3).
- Next let . Then from equation (2.7) we get
[TABLE]
Inserting this into equation (2.6), we find the three-point equation
[TABLE]
where
[TABLE]
Straightforwardly the following equalities hold
[TABLE]
If , then the equalities mean that is at least double eigenvalue for problem (2.8) that contradicts assumption (A).
If and , then equation (3.9) together with (3.8) lead to thus such does not satisfy (2.2).
Therefore and equation (3.9) is simplified to
[TABLE]
with the function (see it also in (3.1)). Since , we can use the expansion
[TABLE]
and define the vector of its coefficients. Using the expansion in (3.10) gives
[TABLE]
Clearly this equality is valid for some if and only if
[TABLE]
Notice that is equivalent to in (taking into account formula (3.8)). Therefore satisfies (3.12); moreover, and consequently , , together with
[TABLE]
see (3.8) (all last three equalities are valid up to the same non-zero multilplier). Thus we come to eigenvectors (3.4).
The total amount of eigenvalues (taking into account their possible multiplicity) is . The maximal amount of roots algebraic equations (3.12) for all is the same so that each equation (3.12) has to possess exactly distinct roots (for fixed , the written eigenvector is defined by uniquely).
- Property (3.5) is knowingly valid for eigenvectors and corresponding to different eigenvalues of problem (2.2), in particular, for and , or and . The remaining case will be covered below in Corollary 3.1 of the related Lemma 3.1. ∎
Notice that: (1) the vectors are used only to describe the algorithm, and only the vectors are applied in its implementation; (2) are independent on ; (3) the vectors are independent on and can also be computed owing to Lemma 2.2.
Lemma 3.1**.**
Let and , , for some . Then
[TABLE]
for , , where .
Proof.
- For any , recalling notation (2.3) we have
[TABLE]
[TABLE]
since and for any as well as .
For odd , we similarly get
[TABLE]
since and for any as well as . Equality (3.13) is proved.
[TABLE]
Owing to formula
[TABLE]
we first derive
[TABLE]
Second, using formulas (2.5) and (2.10), we get
[TABLE]
Owing to , as well as formulas (3.17), we further derive
[TABLE]
Adding (3.18) and (3.19), we prove (3.14). ∎
Corollary 3.1**.**
The orthogonality property (3.5) from Theorem 3.1, Item 4 is valid.
Proof.
It remains to consider the case and . Since then , the result follows from (3.14). ∎
We call the calculation of by the coefficients of the expansion (3.6) as the inverse -transform and the calculation of the coefficients by as the direct -transform. We also consider related expansion of
[TABLE]
and the calculation of the coefficients by that we call as the direct -transform.
Let us describe their fast FFT-based implementation.
Theorem 3.2**.**
1. The inverse -transform can be implemented according to the following formulas
[TABLE]
where and are respectively even and odd components of the vector . Note that for odd and for even for any .
The collection can be computed by the standard inverse FFT with respect to sines. The collection can be computed by modified inverse FFT related to the centers of elements in the amount of with respect to sines and with respect to cosines using extensions and , see algorithms DST-I, DST-III and DCT-III in [3].
2. The direct -transform can be implemented basing on the standard formula
[TABLE]
Here, first, for , , the following formulas hold
[TABLE]
Second, for , , the following formulas hold
[TABLE]
Notice that the sums in formula (3.25) are independent on . The collection of all these coefficients can be computed using standard direct FFTs with respect to sines.
3. Similarly to Item 2, the direct -transform can be implemented basing on the standard formula
[TABLE]
Here, for , , the following formula holds
[TABLE]
For , , formula (3.25) with is applicable. Alternatively, the following formula holds as well
[TABLE]
where and are respectively even and odd components of the vector . Once again all these coefficients can be computed using standard direct FFTs with respect to sines.
Proof.
- Let the coefficients of expansion (3.6) be known. According to the first formulas (3.3) and (3.4), the values of for integer indices in (3.6) are reduced to (3.21).
To compute for half-integer indices, we transform the second sum in (3.6). Owing to decomposition (2.4) we rewrite the second formula (3.4) in the form
[TABLE]
Then using also the second formula (3.3), we obtain formula (3.22).
- Now we consider the computation of the coefficients in expansion (3.20) for given . Owing to the orthogonality property (3.5), they first can be expressed in the form (3.23) for , and , .
Formulas (3.15) and (3.3) imply that
[TABLE]
Lemma 3.1 immediately implies formula (3.26) since .
By virtue of formulas (3.3) for the numerator of formula (3.23) for we can write
[TABLE]
By virtue of formulas (3.4) for the same numerator for we get
[TABLE]
Therefore shifting by 1 the index in the second of these sums, and applying the identity and recalling decomposition (2.4), we derive
[TABLE]
Since also
[TABLE]
we obtain formula (3.25).
By virtue of formulas (3.3), (3.15) as well as and for its numerator for we can write
[TABLE]
By virtue of formulas (3.16), (3.18) for the same numerator for we get
[TABLE]
where . Transforming the last sum in the same manner as above the second and third terms in (3.30), we obtain (3.29). ∎
4 Applications to the generalized Poisson equation
To begin with, we turn to the simple 1D ODE boundary value problem
[TABLE]
where for simplicity . Its FEM discretization has the operator form
[TABLE]
where is the FEM average of . Its solution can be written in the form
[TABLE]
of the expansion like (3.6), where are the coefficients of the expansion like (3.20) for the vector ; recall that is the Kronecker delta.
Next we consider in detail solving of the -dimensional () boundary value problem
[TABLE]
where is the Laplace operator and \alpha=\textrm{const}>-\pi^{2}\big{(}X_{1}^{-2}+\ldots+X_{N}^{-2}\big{)} (for simplicity, in order to treat the positive definite operator that actually is not so necessary).
We define the space of the piecewise-polynomial in functions, where and , . Let and .
We also define the space of vector functions. For example, for , these functions are numbers for the indices , , , and vectors from , and respectively for the indices
[TABLE]
as well as zero vectors for and . Similarly to the 1D case, there is the natural isomorphism between functions in and vectors in .
The FEM dicretization of problem (4.4) can be written in the following operator form
[TABLE]
where and are versions of the above defined operators and acting in variable (depending on and ), , and is the FEM average of . Recall that the case of the non-homogeneous Dirichlet boundary condition on in (4.4) could be easily covered by reducing to (4.5) with the modified depending on an approximation of .
To compute its solution, the -transforms from Theorem 3.2 can be applied twofold.
(a) We consider the multiple expansion of like (3.20)
[TABLE]
Then the expansion of the solution has the following form
[TABLE]
Here \big{\{}\lambda_{i,k_{i}}^{(l_{i})},s_{i,k_{i}}^{(l_{i})}\big{\}} are versions of the above defined eigenpairs \big{\{}\lambda_{k}^{(l)},s_{k}^{(l)}\big{\}} with respect to .
Algorithm (a) comprises two rather standard steps:
(1) finding the coefficients of expansion (4.6) for (by the direct -transforms in ,…, );
(2) finding by the coefficients of its expansion (4.7) (by the inverse -transforms in ,…, ).
(b) We consider the expansion of like (3.20) in ,…, , i.e.
[TABLE]
now with the coefficients . Then the coefficients in the similar expansion of the solution
[TABLE]
serve as the solutions to 1D problems in
[TABLE]
Their matrices are symmetric and positive definite.
Algorithm (b) comprises three rather standard steps:
(1) finding the coefficients of the expansion (4.8) for (by the direct -transforms in ,…, );
(2) solving the collection of the independent 1D problems (4.10) for the coefficients of the expansion of ;
(3) finding by the coefficients of its expansion (4.9) (by the inverse -transforms in ,…, ).
Implementing algorithms (a) and (b) costs respectively O\big{(}K_{1}\ldots K_{N}\log_{2}(K_{1}\ldots K_{N})\big{)} and O\big{(}K_{1}\ldots K_{N}\log_{2}(K_{2}\ldots K_{N})\big{)} arithmetic operations.
Importantly, they can be applied to solve various time-dependent PDEs such as the heat, wave or Schrödinger’s equations since for their implicit time discretizations one usually gets problems like (4.5) at the upper time level.
Moreover, algorithm (b) is directly extended to the case of more general equations than in (4.4) with the coefficients depending on (that is essential, in particular, in the polar and cylindrical coordinates), various boundary conditions for and the nonuniform mesh in [11]. It can also be applied for reducing 3D problems in a cylindrical domain to a collection of independent 2D problems in the cylinder base.
5 Numerical experiments
- We first check that the eigenvalues of each of problems (2.8) and (2.9) are well separated. We define their spectral gaps as
[TABLE]
where and present and in Fig. 1 (left). The terms and are the spectral gaps (in fact, the gaps between two minimal eigenvalues) of the corresponding ODE problems, see [13]. We observe that both and are decreasing and rapidly tend to 0 as increases. We also checked that for all .
Also we give the spectral condition numbers and in Fig. 1 (right) and remark their rapid growth as increases (unfortunately).
Notice that all our computations are accomplished on an ordinary notebook ASUS-U36S with Intel Core i3-2350M CPU 2.3 GHz, 8 Gb, Win 10 x64. The codes in Matlab R2016a were developed to implement the algorithms, and we emphasize that several basic and advanced [1] code vectorisation techniques were applied to speed up them notably.
In the case of the 1D ODE problem (4.2) for , we provide the condition numbers of the global FEM matrix for and its local version in dependence on for in Fig. 2 for a further reference. Notice their rather rapid growth as increases.
Next we analyze the execution time for -transforms in dependence on the choice of as it grows up to very high values . We consider three choices of : powers of two (), primes or other composite numbers (not powers of two). Primes and composite values of are randomly chosen as different ten numbers between each two consecutive powers of two, and the comparison is accomplished in the spirit of [8]. We use the external function comp_dst for DST-I and DST-III and comp_dct for DCT-III from Large Time-Frequency Analysis Toolbox [15] based on FFTW library [9], which is also used in the Matlab function fft for FFT.
The execution times for the DST-I and DST-III as well as our transforms in the case (for definiteness) are given respectively in Fig. 3 and Fig. 4. We do not take into account the execution time for the pairs since it becomes negligible for multiple using of the transforms for fixed as required below. For our transforms the execution times are respectively larger (than for the DST-I and DST-III) due to multiple using of FFTs and some additional computations. The inverse -transform takes less time than the direct one. Moreover, the best results are mainly for though this is not the case for DST-I (fortunately, we apply it in the optimal case ). For the two other choices of the execution times are worse but close, and the difference between all of them is less than in the case of both DST-I and DST-III. These results are attractive. Notice that the data in Fig. 4 can be approximated by linear functions for and but with rather flat slope in the former case and a visibly higher slope in the latter one.
Remark 5.1**.**
The last phenomenon is explained by the advanced architecture of modern processors involving cache memory, streaming SIMD extensions and advanced vector extensions of the instruction set, etc. Also the above mentioned high-quality implementations of FFTs are applied.
- Our main computational results concern solving problem (4.4) for both and 3, and . We take and for simplicity. We apply the multiple Gauss quadrature formulas with nodes in to compute . The eigenpairs of the 1D problems are computed with the quadruple precision (using Mathematica) to improve the stability with respect to round-off errors. We notice that system (4.5) contains unknowns. For comparison, we include the simplest known case implemented in the code in the unified manner.
We first consider the 2D case () and take the exact solution \cosh\big{(}\sqrt{2}x_{1}-x_{2}\big{)}. We compute the FEM solution for different values of and in order to study the (absolute) error behaviour, see Fig. 5 and Table 1 (where values of less than 3 are omitted). To reduce the possible round-off errors, hereafter we compute the pairs with the quadruple precision. For algorithm (a), the error behaviour in the uniform mesh norm is standard: the rate of its decreasing is mainly proportional to except for when it is faster and similar to (the exception has previously been noted in [5]). Curiously, for and the minimal the error is already less than for and the maximal . Of course, the error cannot be better than the level of round-off errors that is achieved the faster, the higher . We observe that impact of the round-off errors is almost absent. For algorithm (b), the situation is similar only up to the error level \sim$$10^{-11}. Once this value is reached for fixed , we further see the error growth as increases that means the perceptible impact of the round-off errors. This is due to the respective growth of condition numbers for matrices in system (4.10) as or increases, see above Fig. 2. Consequently algorithm (a) is preferable than (b) provided that very high precision is required. Notice that if we use the double precision olny, then the level of the best error becomes at \sim$$10^{-12}-10^{-13} and the results remain stable for algorithm (a) but they remain practically unchanged for algorithm (b). Thus only the double precision computations are possible provided that the mentioned accuracy is sufficient (that is the case in a lot of applications).
We also analyze the execution time for both algorithms (using multiple program runs and their median execution time), see Fig. 6 and Tables 2 and 3 for the same and . Clearly this time is independent of the above specific choice of . We do not take into account the execution time for the pairs considering the case where they are computed in advance and stored (recall that they are independent of the data of PDE problem (4.4)). We call attention to the weakly superlinear behaviour of time in and its mild monotone growth in . Notice that all the ratios of the consecutive execution times in the both tables are even less than the lower bound 4 for the theoretical ratios (the ratios less than one are omitted); see Remark 5.1 in this respect. In contrast to theoretical expectations, almost all ratios for algorithm (a) are less than for (b). The ratios grows as and increase, and for algorithm (b) the highest value is already close to 4. For the maximal and , system (4.5) contains almost unknowns but only less than 2 min is required to solve it that is the excellent result.
Finally we consider the most interesting 3D case () and take the exact solution \sin(4\pi x_{3})\cosh\big{(}\sqrt{2}x_{1}-x_{2}+x_{3}/\sqrt{3}\big{)}. Once again we compute the FEM solution for different values of and and study the error behaviour, see Fig. 7 and Table 4 (where values of less than 3 are omitted). Conclusions are generally the same as in the 2D case. Notice that now the worse stability properties of algorithm (b) are visible only for since much less maximal value of is taken.
The execution times in the 3D case are presented in Fig. 8 and Tables 5 and 6. Once more conclusions are similar to the 2D case. All the ratios in the both tables are notably less than the lower bound 8 for the theoretical ratios. Importantly, for the maximal and , system (4.5) contains more than unknowns but only less than 15 min is required to solve it that is the nice result (especially taking into account the Matlab implementation of loops).
The study has been funded within the framework of the Academic Fund Program at the National Research University Higher School of Economics in 2016-2017 (grant no. 16-01-0054) and by the Russian Academic Excellence Project ‘5-100’ as well as by the RFBR, grant № 16-01-00048.
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] Y.M. Altman, Accelerating MATLAB Performance: 1001 Tips to Speed up MATLAB Programs, Chapman and Hall/CRC, 2014.
- 2[2] B. Bialecki, G. Fairweather, A. Karageorghis, Matrix decomposition algorithms for elliptic boundary value problems: a survey, Numer. Algor. 56 (2011) 253–-295.
- 3[3] V. Britanak, K.R. Rao, P. Yip, Discrete cosine and sine transforms: general properties, fast algorithms and integer approximations. Oxford: Academic Press – Elsevier, 2007.
- 4[4] P.G. Ciarlet, Finite Element Method for Elliptic Problems, SIAM, Philadelphia, 2002.
- 5[5] K. Du, G. Fairweather, Q.N. Nguyen, W. Sun, Matrix decomposition algorithms for the C 0 superscript 𝐶 0 C^{0} -quadratic finite element Galerkin method, BIT Numer. Math. 49 (2009) 509–526.
- 6[6] B. Ducomet, A. Zlotnik, I. Zlotnik, The splitting in potential Crank-Nicolson scheme with discrete transparent boundary conditions for the Schrödinger equation on a semi-infinite strip, ESAIM: Math. Model. Numer. Anal., 48:6 (2014), 1681-1699.
- 7[7] E.G. Dyakonov, Optimization in Solving Elliptic Problems, CRC Press, Boca Raton, 1996.
- 8[8] S. Eddins, Timing the FFT, http://blogs.mathworks.com/steve/2014/04/07/timing- the-fft/ .
