Skip to main content
Erschienen in: BIT Numerical Mathematics 3/2020

Open Access 28.01.2020

Automated local Fourier analysis (aLFA)

verfasst von: Karsten Kahl, Nils Kintscher

Erschienen in: BIT Numerical Mathematics | Ausgabe 3/2020

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

Local Fourier analysis is a commonly used tool to assess the quality and aid in the construction of geometric multigrid methods for translationally invariant operators. In this paper we automate the process of local Fourier analysis and present a framework that can be applied to arbitrary, including non-orthogonal, repetitive structures. To this end we introduce the notion of crystal structures and a suitable definition of corresponding wave functions, which allow for a natural representation of almost all translationally invariant operators that are encountered in applications, e.g., discretizations of systems of PDEs, tight-binding Hamiltonians of crystalline structures, colored domain decomposition approaches and last but not least two- or multigrid hierarchies. Based on this definition we are able to automate the process of local Fourier analysis both with respect to spatial manipulations of operators as well as the Fourier analysis back-end. This automation most notably simplifies the user input by removing the necessity for compatible representations of the involved operators. Each individual operator and its corresponding structure can be provided in any representation chosen by the user.
Hinweise
Communicated by Daniel Kressner.
This work was partially funded by Deutsche Forschungsgemeinschaft (DFG) Transregional Collaborative Research Centre 55 (SFB/TRR55).

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

1 Introduction

Local Fourier analysis (LFA) is a powerful tool used in the construction and analysis of multigrid methods introduced in [4]. The fundamental idea of LFA is to leverage the connection between position space and frequency space via the Fourier transform. That is, in case the involved operators can be described by stencils in position space, meaning that they are translationally invariant, their Fourier transform yields so-called symbols, which can be handled much more easily.
In the context of multigrid methods LFA can be used to obtain precise approximations of the asymptotic convergence rate by assessing the spectral radius of the corresponding error propagation operator [23]. This approximation of the convergence rate is (asymptotically) still valid if the translational invariance is slightly violated, as for example when lexicographic Gauss–Seidel type smoothers are used, or in the case of certain non-periodic boundary conditions [5, 20, 27]. In other cases a similar convergence rate can usually be obtained by additional processing [12, 29]. Due to these facts, LFA is one of the main tools in the quantitative analysis of two- and multigrid methods.
An introduction to LFA including several examples can be found in [29, 30]. Multigrid methods have first been considered for the solution of the linear systems of equations originating in the discretization of (elliptic) partial differential equations (PDEs) [29]. Due to the fact that the simplest tiling of space is rectangular and discretizations are particularly simple to carry out on such tilings, the usual multigrid components and the LFA have originally been designed and tailored for such discretizations (cf. [29, 30]). Several other geometries, including systems of PDEs, have been considered in the past as well. LFA has been carried out for operators defined on triangular tilings in [7] and on hexagonal tilings in [32]. Further, it has been applied to edge-based quadrilateral discretizations [3], regular Voronoi meshes associated with acute triangular grids [21], edge-based discretizations on triangular grids [22] and jumping coefficients on rectangular grids [2, 18]. These papers do a complete two-grid analysis, and in some cases even a three-grid analysis, which was first introduced in [31].
While the concept of LFA is well understood, its application quickly becomes complex and involved the more frequencies get intermixed, e.g., by block smoothers, in a three-grid analysis, or in higher dimensional problems (\(n > 2\)). Thus, there exists software that automates the application of the LFA [19, 30]. In contrast to the software described in [30], which basically consists of a collection of templates corresponding to certain smoother and restriction/prolongation strategies for specific problems, the software [19], freely available on GitHub,1 can be used to analyze arbitrary translationally invariant operators on rectangular grids. This software has for example been used to analyze colored block Jacobi methods in combination with aggressive coarsening applied to PDEs with jumping coefficients in [2, 18]. As the number of frequencies which get intermixed increases with the block-size of the smoother and the growing coarsening rate, a manual analysis of this problem would be laborious.
In contrast to the approach developed in this paper, the bulk of the analysis in the previously mentioned references is mainly carried out in frequency space.
LFA with an emphasize on position space is rare in the literature.
In [11] under the name compact Fourier analysis, a position space oriented LFA is introduced where block Toeplitz matrices are used in order to capture the different classes of unknowns.
This work has some aspects in common with the approach to LFA we develop in this paper, but lacks generality as it is limited to simple systems on rectangular grids.
The LFA presented in this paper unifies the position space oriented approaches and allows the treatment of operators on arbitrary repetitive structures. To do so we introduce a mathematical framework for the analysis of translationally invariant operators which alter value distributions on lattices and crystals [1, 24]. These structures can be based on arbitrary sets of primitive vectors, including non-orthogonal ones, i.e., non-rectangular structures. These crystal structures, which naturally occur in the tight-binding descriptions of solid-state physics [1] or discretizations of systems of PDEs, enable the convenient and concise description of the resulting operators and allow for the automatic generation of their representations when enlarging their translational invariance, e.g., coarsening in the context of multigrid methods. Furthermore, they are very helpful in the representation of overlapping and non-overlapping block smoothers. Our framework is developed to such an extent that the only task required of the user is to provide a description of the occurring operators with respect to (potentially non-matching) descriptions of the underlying repetitive structures, i.e., each operator can be supplied in the simplest or most convenient representation. The remainder of the analysis can then be carried out automatically. In contrast to previously developed LFA, this is achieved by explicitly including a connection of the operator to its underlying structure. This allows us on one hand to automate the transformation of operators in position space, e.g., by finding a least common lattice of translational invariance of two operators and to rewrite their representations accordingly. On the other hand, this focus on structure yields a natural representation and discretization of the dual space that enables the automation of the frequency space part of the analysis as well. All these tasks can be carried out using basic principles and normal forms of integer linear algebra [24]. In combination these developments alleviate the use of LFA by removing any manual calculations. That is, neither a mixing analysis nor transformations of operators to common (and rectangular) translational invariances have to be carried out by hand. While our automated LFA does not necessarily enlarge the set of methods that are analyzable by conventional LFA, it enables the reliable and easy-to-use analysis of complex methods on complicated structures (e.g., overlapping block smoothers and discretizations of systems of PDEs). An open-source Python implementation of the automated LFA framework [13] is freely available on GitLab.2
The automation presented in this paper does have some limitation in terms of the smoothers that can be analyzed. Any sequential, i.e., lexicographic, smoother with overlapping update regions changes values in the overlap multiple times in one application. This cannot be easily translated to the structures introduced in this paper. While such smoothers have been analyzed in frequency space before (cf. [16, 17, 25]), this particular treatment of sequential overlap is momentarily not covered in our framework. Note, that the mere presence of overlap is not the problem here. By introducing a coloring, such that the complete sweep can be split into a sequence of updates where each one of them only changes values at most once, automated LFA can be applied as we are going to demonstrate in this paper. Due to the fact that a coloring in overlapping approaches also favors parallelism over their sequential counterparts, we feel that this limitation is relatively minor when targeting actual applications.
The paper is organized as follows. In Sect. 2 we introduce basic notation to describe the underlying structures of the operators we want to analyze: lattices and crystals. In the context of LFA we are interested in translationally invariant operators which alter value distributions on crystals. These kind of operators and their properties are specified in Sect. 3. After that, Sect. 4 illustrates the introduced notation by means of the discretized Laplacian and the red–black Gauss–Seidel method, which is the simplest method where a difference to the conventional LFA becomes apparent. In here, we manually rewrite the discretized Laplacian with respect to the translational invariance of the red–black splitting, such that the method can be analyzed via the results of Sect. 3. Sect. 5 contains the general theoretical results which are used to automate the complete procedure, removing the need to manually modify operators. In here, several results of integer linear algebra are used, which we review in Sect. 2.1. Using these results we obtain the algorithms given in “Appendix B” which, in combination with the arithmetic of multiplication operators given in “Appendix A”, realize the automated LFA. Finally, Sect. 6 contains selected examples to demonstrate the merits of the developed approach. First, we analyze a 4-color overlapping block Gauss–Seidel smoother for the tight-binding Hamiltonian of the carbon allotrope graphene and give some two-grid convergence results. Second, we reproduce the two-level analysis for the curl-curl problem found in [3] as a further illustration of how our approach is applied to complex error propagators and to double-check its results.

2 Lattices and crystals

In order to be able to automate the process of LFA within a unified framework we first have to review some basic definitions of integer linear algebra and crystallography [1, 24]. An (ideal) crystal is an infinite repetition, defined by a lattice, of a structure element.
Definition 2.1
Let https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq2_HTML.gif be linearly independent. An n-dimensional lattice \(\mathbb {L}\) is the set of points
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ19_HTML.png
The vectors https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq4_HTML.gif are known as the primitive vectors or lattice basis. Using matrix notation, i.e., https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq5_HTML.gif , we can abbreviate the notation by
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ20_HTML.png
Without loss of generality we restrict the definition of the second component of a crystal, the structure element, to primitive cells of the lattice.
Definition 2.2
A primitive cell https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq6_HTML.gif of a lattice https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq7_HTML.gif is a (connected) volume of space that, if translated by all vectors of \(\mathbb {L}\), fills up \(\mathbb {R}^n\) completely without any overlap, i.e.,
$$\begin{aligned} \dot{\cup }_{x\in \mathbb {L}} \left\{ x + \xi \, : \, \xi \in \varXi \right\} =\mathbb {R}^n. \end{aligned}$$
A common choice of primitive cells is given by
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ21_HTML.png
i.e., parallelotopes spanned by the primitive vectors of https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq10_HTML.gif .
The structure element of a crystal is now defined to consist of points \(\mathfrak {s}_{1},\ldots ,\mathfrak {s}_{m}\) that are contained in a particular primitive cell \(\varXi \).
Definition 2.3
Let https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq13_HTML.gif be a lattice and https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq14_HTML.gif , \(m \in \mathbb {N}\) be the structure element. A crystal is defined as the set of tuples
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ22_HTML.png
The elements of https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq16_HTML.gif are collectively written as \(x+\mathfrak {s}=(x+\mathfrak {s}_1,x+\mathfrak {s}_2,\ldots ,x+\mathfrak {s}_m)\).
Remark 2.1
We define a crystal and the associated structure element to be a tuple instead of a set as we want to study value distributions on crystals and particular operators which manipulate them. For this purpose, the order of a structure element is of importance.
To give an idea of the various occurrences of crystal structures in numerical applications we illustrate typical examples in Fig. 1 together with their crystal representation. There are three main sources of repetitive structures that are well suited for crystal representations. First, the discretization of systems of PDEs on lattices lead to crystal structures, where the different species of unknowns typically constitute the structure element. Second, tight-binding Hamiltonian formulations in solid state physics for crystalline materials naturally imply a crystal representation based on the atomic structure. Last, colored domain decomposition approaches (e.g., red–black Gauss–Seidel) can be easily represented using crystals, where the smallest structure element typically consists of the union of one domain of each color.

2.1 Sublattices and quotient spaces

There are infinitely many representations of a crystal https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq21_HTML.gif . On one hand, the representation of any lattice in \(n>1\) dimensions is non-unique, i.e., there exist different sets of primitive vectors that yield the same lattice structure. On the other hand, different representations of the crystal can be obtained by shifting the structure element or manipulating the underlying lattice structure, e.g., by using integer linear combinations of the primitive vectors and adjusting the structure element accordingly.
In order to cope with this lack of uniqueness of the representation of crystals, illustrated in Fig. 2, we introduce basic results from integer linear algebra [24], which resolve the relationship of lattice structures.3 An important tool in this is the notion of a sublattice.
Definition 2.4
Let https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq32_HTML.gif and https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq33_HTML.gif be two lattices, if https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq34_HTML.gif then https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq35_HTML.gif is called sublattice of https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq36_HTML.gif .
Lemma 2.1
A lattice https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq37_HTML.gif is a sublattice of https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq38_HTML.gif if and only if https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq39_HTML.gif .
A key-role in the computational comparison of lattices play the Hermite and Smith normal forms. The Hermite normal form defines a canonical choice of primitive vectors, whereas the Smith normal form allows us to find least common sublattices. Using these canonical forms is a crucial ingredient in both the theoretical analysis and the automation of the LFA.
Definition 2.5
A matrix \(U \in \mathbb {Z}^{n\times n}\) is called unimodular if \(\det (U)\in \{\pm 1\}\).
Definition 2.6
A matrix \(H\in \mathbb {R}^{n\times n}\) is in Hermite normal form (HNF) if it is upper triangular, elementwise non-negative and its row-wise maximum is located on the diagonal.
Definition 2.7
A matrix \(S\in \mathbb {R}^{n\times n}\) is in Smith normal form (SNF) if it is a diagonal matrix and the diagonal entries satisfy \( {s_{i+1}}/{s_{i}}\in \mathbb {Z}\) for all \(i=1,\ldots ,n-1\). These entries are called the elementary divisors.
Theorem 2.1
Let https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq46_HTML.gif , then
(i)
there exists a unimodular \(U \in \mathbb {Z}^{n \times n}\) such that https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq48_HTML.gif is in HNF,
 
(ii)
there exist unimodular \(U,V \in \mathbb {Z}^{n \times n}\) such that https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq50_HTML.gif is in SNF.
 
In addition both normal forms H and S are unique with respect to https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq51_HTML.gif .
Remark 2.2
Polynomial algorithms to compute the HNF and SNF can for example be found in [8]. Implementations for the computation of these normalforms are for example part of the PARI software package [28].
Using these definitions and results one obtains a precise statement about the equality of two lattices.
Theorem 2.2
Let https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq52_HTML.gif and https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq53_HTML.gif be two lattices then the following statements are equivalent.
(i)
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq54_HTML.gif .
 
(ii)
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq55_HTML.gif and https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq56_HTML.gif .
 
(iii)
There exists a unimodular matrix \(U \in \mathbb {Z}^{n\times n}\), such that https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq58_HTML.gif .
 
(iv)
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq59_HTML.gif and https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq60_HTML.gif have the same HNF.
 
Instead of analyzing infinite lattice/crystal structures, we limit ourselves to analyze finite dimensional periodic structures due to the fact that we are ultimately aiming to analyze finite dimensional problems. To this end, another helpful tool is the definition of crystal tori which are defined as quotient groups.
Definition 2.8
Let https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq61_HTML.gif be a crystal and https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq62_HTML.gif be a sublattice. We define the crystal torus https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq63_HTML.gif by
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ23_HTML.png
For every https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq64_HTML.gif , their equivalence class \([x+\mathfrak {s}]\) is in https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq66_HTML.gif . Furthermore, the elements of https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq67_HTML.gif are defined by the equivalence
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ24_HTML.png
For theoretical and practical reasons, e.g., in Theorem 3.2 and Algorithm B.3, it is necessary to be able to list all elements of a torus https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq68_HTML.gif https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq69_HTML.gif , \(M \in \mathbb {\mathbb {Z}}^{n \times n}\), uniquely.
To illustrate this point, consider for example an arbitrary lattice https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq71_HTML.gif with https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq72_HTML.gif , and the lattice torus https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq73_HTML.gif with
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ25_HTML.png
as depicted in Fig. 3. Even though we know that the quotient space consists of https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq74_HTML.gif different elements, there is no apparent canonical list of these elements. Fortunately, a canonical ordering of the lattice points on a torus can be formulated using the Hermite or Smith normal form of M.
Theorem 2.3
Let https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq75_HTML.gif be arbitrary, i.e., https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq76_HTML.gif for some \(M \in \mathbb {\mathbb {Z}}^{n \times n}\).
  • Let \(H \in \mathbb {\mathbb {Z}}^{n \times n}\) be the HNF of M with entries \(H_{ij}\) (cf. Definition 2.6). Defining the index set \(I=I_1 \times I_2 \times \ldots \times I_n\) by \(I_\ell :=\{0,1,\ldots ,H_{\ell \ell }-1\}\), we then obtain
    https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ26_HTML.png
    \(\text {with } [x_j+\mathfrak {s}] \ne [x_{j'}+\mathfrak {s}] \ \Leftrightarrow \ j \ne j' \in I.\)
  • Let \(S=U^{-1}MV \in \mathbb {Z}^{n\times n}\) denote the Smith decomposition of M with diagonal entries \(s_{i}\) (cf.Definition 2.7) and unimodular matrices UV. Defining the index set \(\tilde{I}=\tilde{I}_1 \times \tilde{I}_2 \times \ldots \times \tilde{I}_n\) by \(\tilde{I}_\ell :=\{0,1,\ldots ,s_{\ell }-1\}\), we then obtain
    https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ27_HTML.png
    \(\text {with }\ [x_j+\mathfrak {s}] \ne [x_{j'}+\mathfrak {s}] \ \Leftrightarrow \ j \ne j' \in \tilde{I},\) where https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq88_HTML.gif denotes the altered lattice basis.
Proof
Both statements are a direct consequence of the triangular or diagonal shape of the normal forms and Theorem 2.2, i.e., lattices are not changed by unimodular column transformations. On the one hand we have https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq89_HTML.gif . The second statement follows from https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq90_HTML.gif and hence https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq91_HTML.gif . \(\square \)
In terms of the example of Fig. 3 we obtain:
  • The Hermite normal form H of M is given by
    https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ28_HTML.png
    Thus, a unique list of all representatives of https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq93_HTML.gif is given by
    https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ29_HTML.png
  • The Smith decomposition of M is given by
    https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ30_HTML.png
    Thus, another unique list of all representatives of https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq94_HTML.gif is given by
    https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ31_HTML.png
    where https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq95_HTML.gif .
All tori representations https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq96_HTML.gif , https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq97_HTML.gif and https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq98_HTML.gif are depicted in Fig. 3. In the remainder we drop the bracket notation for reasons of readability.

3 Operators on crystals

Now that the basic notation of the underlying structure is in place we introduce notation for value distributions and operators on these structures. For aforementioned reasons, we restrict ourselves to the finite dimensional setting by only considering quotient groups of lattices
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ32_HTML.png
with https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq100_HTML.gif being an arbitrary sublattice of https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq101_HTML.gif . While it is significantly easier to be mathematically precise in this general finite setting than in an infinite setting it is also much closer to the targeted applications, namely finite dimensional approximations of PDEs and Hamiltonians. Eventually we only work with operators as part of numerical simulations, i.e., we face only a finite number of unknowns/lattice points anyway. The quotient group https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq102_HTML.gif , https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq103_HTML.gif , precisely describes such an arbitrarily large but finite torus. To shorten notation we use https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq104_HTML.gif instead of https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq105_HTML.gif whenever we do not specify https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq106_HTML.gif explicitly.
Definition 3.1
A crystal-operator is a linear function
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ33_HTML.png
where https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq107_HTML.gif corresponds to the crystal of the domain and https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq108_HTML.gif corresponds to the crystal of the codomain. The function spaces are defined by
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ34_HTML.png
A value \(f_j(x)\), https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq110_HTML.gif , corresponds to a value at the position \(x + \mathfrak {s}_j\). The function space is equipped with the scalar product
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ35_HTML.png
where \(\langle f(x),g(x)\rangle _{2} := \sum _{\ell =1}^{|\mathfrak {s}|} f_\ell (x) \overline{g_\ell (x)}\) denotes the Euclidean scalar product on \(\mathbb {C}^{|\mathfrak {s}|}\).
In the context of LFA we are interested in operators which can be represented in (block) stencil notation. That is, translationally invariant operators that can be written as multiplication operators. As these two properties are in fact equivalent (cf. [26, Theorem 3.16]), we can connect those operators to the notation of crystal structures.
Theorem 3.1
Let https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq114_HTML.gif be a crystal operator. The following statements are equivalent.
1.
L is a multiplication operator, i.e., there exist matrices \(m_L^{(y)} \in \mathbb {C}^{|{\mathfrak {c}}|\times |{\mathfrak {d}}|}\) such that for each https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq116_HTML.gif and https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq117_HTML.gif we have
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ36_HTML.png
 
2.
L is https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq118_HTML.gif -translationally invariant, i.e.,
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ37_HTML.png
where the translation operator is defined by https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq119_HTML.gif .
 
For the analysis of such operators the concept of the dual lattice comes in handy as already considered in similar form in [7, 32].
Definition 3.2
Let https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq120_HTML.gif be a lattice. Its dual lattice https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq121_HTML.gif is the set
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ38_HTML.png
A lattice basis of the dual lattice is given by https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq122_HTML.gif . The elements of https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq123_HTML.gif may also be referred to as wave vectors.
In addition to the dual space we introduce an orthonormal basis of wave functions that are compatible with the crystal structure introduced in Sect. 2. This basis is an extension of the basis used in [15] to analyze the red–black Gauss–Seidel relaxation. Furthermore, similar basis functions have been used in the context of LFA, e.g. in [2, 3, 6, 9, 14].
Theorem 3.2
An orthonormal basis for the function space https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq124_HTML.gif with a structure element \(\mathfrak {s}=(\mathfrak {s}_1,\ldots ,\mathfrak {s}_m)\) is given by the wave functions \(e_{1,k},e_{2,k},\ldots ,e_{m,k}\) defined by
$$\begin{aligned} \left( e_{\ell ,k}(x)\right) _j := {\left\{ \begin{array}{ll} e^{2\pi i\langle k,x\rangle _{2}} &{} \text { if }j=\ell , \\ 0 &{} \text { else,} \end{array}\right. } \end{aligned}$$
with https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq127_HTML.gif .
Proof
The statement follows by a straightforward, but lengthy calculation, by assuming without loss of generality that https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq128_HTML.gif is given in Smith normal form, making use of Theorem 2.3 and the geometric sum formula. \(\square \)
An illustration of a lattice torus https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq130_HTML.gif along with its dual https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq131_HTML.gif is given in Fig. 4.
The orthonormal basis of Theorem 3.2 can be split into subsets with respect to the wave vector k, i.e., https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq136_HTML.gif with
$$\begin{aligned} H_k = {\text {span}}\left\{ e_{\ell ,k} \, : \, \ell =1,\ldots ,m\right\} . \end{aligned}$$
(3.1)
Theorem 3.3
Let https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq137_HTML.gif be a multiplication operator. Then the subspaces \(H_k\) of Eq. (3.1) are L-invariant, i.e., \(L(H_k) \subseteq H_k\).
Proof
Let \(e_{k}(x)\) denote an arbitrary value distribution in \(H_{k}\). That is, there exist \(\alpha _{1},\ldots ,\alpha _{m} \in \mathbb {C}\) such that
$$\begin{aligned} e_k(x)=\sum _{\ell }\alpha _\ell e_{\ell ,k} = (\alpha _1 e^{2\pi i\langle k,x\rangle _{2}},\ldots ,\alpha _me^{2\pi i\langle k,x\rangle _{2}})^T \in {\text {span}}(H_k). \end{aligned}$$
Then we obtain by direct calculation
$$\begin{aligned} (L e_k)(x) = \sum _{y} m_L^{(y)} e_k(x+y) = \left( \sum _{y} m_L^{(y)} e^{2\pi i\langle k,y\rangle _{2}}\right) e_k(x). \end{aligned}$$
(3.2)
\(\square \)
Due to their L-invariance the subspaces \(H_k\) are oftentimes referred to as spaces of harmonics. Thus we can easily represent any https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq145_HTML.gif -translationally operator via its symbols, which are formally defined as follows.
Definition 3.3
Let https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq146_HTML.gif be a multiplication operator with
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ39_HTML.png
We define the symbol of L according to Eq. (3.2) by
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ40_HTML.png
In case \(\mathfrak {s}= \mathfrak {t}\) the spectrum of L can then be extracted from its symbols \(L_{k}\).
Theorem 3.4
Let https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq149_HTML.gif be a multiplication operator with
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ41_HTML.png
Then https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq150_HTML.gif .
Proof
Follows immediately due to the orthonormality of the basis \(e_{\ell ,k}\) (cf. Theorem 3.2) and the L-invariance of the subspaces \(H_{k}\) (cf. Theorem 3.3). \(\square \)
Remark 3.1
The main purpose of https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq154_HTML.gif , i.e., the set of primitive vectors that define an arbitrary sublattice https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq155_HTML.gif of https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq156_HTML.gif , is to simplify the theory developed in Sect. 3 by turning an infinite dimensional setting to an (arbitrarily large) finite one. Though there is another interpretation to it as well. In Theorem 3.4 https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq157_HTML.gif explicitly specifies the resolution of the frequency space as seen in Fig. 4, i.e.,
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ42_HTML.png
where the spectrum of the multiplication operator is sampled. Due to the reciprocal nature of the dual space, the larger https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq158_HTML.gif is, the finer the resolution becomes.
With these tools at hand we are able to fully analyze a single multiplication operator, but typically we are interested in analyzing a composition of several operators using LFA. As long as the corresponding domains and codomains of these operators are compatible we can use the rules of computation given in “Appendix A” on the level of multiplication operators and/or on the level of the corresponding symbols. While computing the sum, a product and taking the transpose can easily be done on both levels, taking the (pseudo-)inverse is simple only on the level of symbols. The (pseudo-)inverse of a multiplication operator may have an arbitrarily large number4 of multipliers \(m_{L^{-1}}^{(y)} \ne 0\) and thus there is no simple rule to compute it. In case a pseudo-inverse has to be used in the following we opt to employ the Moore-Penrose pseudo-inverse, which we denote by \(S^{\dagger }\) for a multiplication operator S.
In our framework, which tries to automate as much of the LFA as possible, we would like to allow for user friendly descriptions of all occurring operators. That is, it should be possible to describe operators in terms of their individual translational invariance and ordering of the structure element without having to worry about compatibility issues with other operators on the input level of the analysis. The process how to automatically make crystal representations of operators compatible is explained in detail in Sect. 5. Before diving into the gritty details of this automation process we would like to illustrate the developments made so far with an example in order to convey the introduced notation.

4 An example

Consider the red–black Gauss–Seidel method applied to the discretized Laplacian on the unit square with periodic boundary conditions. The most fundamental representation of the discretized unit square with periodic boundary conditions is given by the torus https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq161_HTML.gif with
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ43_HTML.png
Then, the discretized Laplacian https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq162_HTML.gif using finite differences is given by https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq163_HTML.gif with non-zero multipliers:
The error propagator G of the red–black Gauss–Seidel method can be written with respect to the crystal https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq179_HTML.gif via
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ44_HTML.png
with
$$\begin{aligned} (S_r f)(x) := {\left\{ \begin{array}{ll} \frac{4}{h^2} f(x) &{} x\in X_{\mathrm{red}} \\ 0 &{} x\in X_{\mathrm{black}} \end{array}\right. } \text { and } (S_b f)(x) := {\left\{ \begin{array}{ll} 0 &{} x\in X_{\mathrm{red}} \\ \frac{4}{h^2} f(x) &{} x\in X_{\mathrm{black}} \end{array}\right. } , \end{aligned}$$
where \(X_{\mathrm{red}}\) and \(X_{\mathrm{black}}\) correspond to the red and black unknowns of the torus https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq182_HTML.gif as illustrated in Fig. 5b. In order to analyze this composite operator in our framework, we write all occurring operators as multiplication operators. It is now important that the red–black splitting of https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq183_HTML.gif implies the crystal https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq184_HTML.gif with
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ45_HTML.png
such that https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq185_HTML.gif , https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq186_HTML.gif and https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq187_HTML.gif (cf. Fig. 5b). With respect to this crystal the operators \(S_r\) and \(S_b\) can be written as multiplication operators https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq190_HTML.gif with
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ46_HTML.png
We now have described all individual operators of G, each one defined with respect to its own (minimal) translational invariance, but the domains and codomains are not identical, i.e., https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq191_HTML.gif , such that we cannot directly use the computation rules described in “Appendix A”. In order to carry on with the analysis we have to rewrite the operators with respect to a common crystal structure. In this example we construct this structure by hand, but this process can be automated as explained in Sect. 5.
As the crystal https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq192_HTML.gif is yet another representation of https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq193_HTML.gif , the operator \(L_h\) can be rewritten with respect to this crystal (cf. Fig. 5) as https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq195_HTML.gif with https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq196_HTML.gif and non-zero multipliers:
Thus, the spectrum of the error propagator of the red–black Gauss–Seidel method applied to the Laplacian
$$\begin{aligned} \hat{G} = (I-\hat{S}_b^\dagger \hat{L}_h)(I-\hat{S}_r^\dagger \hat{L}_h) \end{aligned}$$
(4.1)
can now be obtained elementwise for each fixed https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq220_HTML.gif by first computing the individual symbols\(I_k, (\hat{S}_r)_k, (\hat{S}_b)_k\) and \((\hat{L}_h)_k\) and assembling the symbols \(\hat{G}_k\) according to Eq. (4.1) and the rules in “Appendix A”, followed by the computation of the eigenvalues of the matrices \(\hat{G}_k\). The resulting spectral information of the discretized Laplace operator \(\hat{L}_h\) and the error propagator \(\hat{G}\) is illustrated in Fig. 6, where it is sampled on the dual lattice https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq227_HTML.gif . Note, that one naturally obtains two eigenvalues per sampled wave vector k. In case of the spectrum of the red–black Gauss–Seidel error propagator, one of the two eigenvalues is equal to zero for all wave vectors k.

5 Crystal representations and natural isomorphisms

In general, we are given several multiplication operators which make up the error propagator of an iterative method, each defined with respect to its own (minimal) translational invariance. In order to analyze the method we thus need to find a common denominator, i.e., a lattice basis corresponding to the collective translational invariance, and rewrite the operators accordingly. The following Theorem yields a set of primitive vectors of such a collective translational invariance for two arbitrary lattices, if it exists.
Theorem 5.1
Given two n-dimensional lattices https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq231_HTML.gif , https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq232_HTML.gif . If there exists an \(r\in \mathbb {Z}\), such that https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq234_HTML.gif , then there is a lattice https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq235_HTML.gif with https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq236_HTML.gif and https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq237_HTML.gif with https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq238_HTML.gif as small as possible. A lattice basis of https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq239_HTML.gif is given by
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ47_HTML.png
where https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq240_HTML.gif is a diagonal matrix with https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq241_HTML.gif , where \(S= V^{-1} M T^{-1} = {\text {diag}}{(s_{1},\ldots ,s_{n})}\) is the SNF of M (cf. Definition 2.7) and \({\text {gcd}}(r,s_{i})\) denotes the greatest common divisor of r and \(s_i\). Consequently, we write https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq245_HTML.gif and call it the least common multiple of https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq246_HTML.gif and https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq247_HTML.gif .
Proof
Due to Lemma 2.1 it is sufficient to find integral matrices https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq248_HTML.gif , such that
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ48_HTML.png
with https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq249_HTML.gif and https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq250_HTML.gif as small as possible. Using Theorem 2.2, i.e., https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq251_HTML.gif , for any unimodular matrices \(U_1,V_1\), we can assume the equality
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ49_HTML.png
for any unimodular U and https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq253_HTML.gif in Hermite normal form (cf. Theorem 2.1). Plugging in the Smith decomposition VST of https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq254_HTML.gif and defining \(U:=T^{-1}\), we find
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ50_HTML.png
Both matrices
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ51_HTML.png
have to be integral with
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ52_HTML.png
as small as possible. It can easily be verified that
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ53_HTML.png
is the optimal choice for the diagonal entries. With this choice, the off-diagonal entries https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq256_HTML.gif have to be integral multiples of https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq257_HTML.gif . Due to the fact that https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq258_HTML.gif is in Hermite normal form, the off-diagonal entries are zero. \(\square \)
We now study different representations of the same crystal structure in order to derive a general way to rewrite a multiplication operator with respect to some coarser crystal structure corresponding to a sublattice, as has been done manually in Sect. 4 for the discretized Laplacian.
Theorem 5.2
(Rewriting a crystal with respect to a sublattice) Let https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq260_HTML.gif be a crystal and https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq261_HTML.gif a sublattice. Denoting https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq262_HTML.gif ,5 the set
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ54_HTML.png
defines a primitive cell of https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq264_HTML.gif , and the tuple
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ55_HTML.png
defines a structure element of https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq265_HTML.gif such that https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq266_HTML.gif , meant as a one-to-p correspondence.
Proof
Without loss of generality we may assume https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq267_HTML.gif , \(j = 1,\ldots ,p\). Then, each element in https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq269_HTML.gif can be written as
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ56_HTML.png
and there is a unique y, such that https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq270_HTML.gif with https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq271_HTML.gif and https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq272_HTML.gif . Thus, we find z as a unique part of the element
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ57_HTML.png
This argument works in the other direction in the same way. \(\square \)
Remark 5.1
Note, that \(\mathfrak {u}\), as defined in Theorem 5.2, is an explicit representation of https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq275_HTML.gif , thus using this explicit representation Theorem 5.2 implies a congruence of the function spaces
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ58_HTML.png
given by the natural isomorphism https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq276_HTML.gif ,
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ59_HTML.png
as (f) and \((\eta f)\) describe the same value distribution on the crystal. This congruence in turn implies that the coarsest possible crystal interpretation, i.e., https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq278_HTML.gif , is simply the complex coordinate space
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ60_HTML.png
with https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq279_HTML.gif . The scalar product on https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq280_HTML.gif then corresponds to the Euclidean scalar product on \(\mathbb {C}^{mn}\) up to a factor of n.
Using the natural isomorphism of function spaces in Remark 5.1, we can derive the transformations of multiplication operators when coarsening the underlying crystal representation corresponding to a sublattice.
Theorem 5.3
(Rewriting a multiplication operator with respect to a sublattice) Consider crystals https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq282_HTML.gif , https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq283_HTML.gif , a sublattice https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq284_HTML.gif and a multiplication operator
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ61_HTML.png
Then, using https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq285_HTML.gif , the multiplication operator
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ62_HTML.png
with block matrices \((m_G^{(y)})_{i,k} := m_L^{(y-\mathfrak {t}_i+\mathfrak {t}_k)} \in \mathbb {C}^{|\mathfrak {c}|\times |\mathfrak {d}|}\) fulfills the commutative diagram: Here, the mappings for \(\mathfrak {s}\in \{\mathfrak {d},\mathfrak {c}\}\),
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ63_HTML.png
denote the natural isomorphisms between the congruent crystal representations.
Proof
A straightforward calculation for each block-row i yields
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ64_HTML.png
\(\square \)
Using Theorem 5.3 we now know how to rewrite multiple multiplication operators with respect to some common crystal structure with a coarser translational invariance. Due to the fact that we do not make any assumption on the initial representation of the crystal structures, the resulting structure elements of Theorem 2.3 might differ in their orderings and might contain shifts with respect to the common shift invariance. To automatically remove these differences and determine the corresponding transformations of the associated multiplication operators we first define the notion of congruent structure elements.
Definition 5.1
Two crystal tori https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq289_HTML.gif , https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq290_HTML.gif are congruent with respect to https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq291_HTML.gif if the structure elements are of the same size, i.e., \(|\mathfrak {s}| = |\mathfrak {t}| = m\), and there is a permutation \(\pi :\{1,\ldots ,m\} \rightarrow \{1,\ldots ,m\}\) as well as shifts https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq294_HTML.gif , such that
$$\begin{aligned} \mathfrak {s}_j = y_j + \mathfrak {t}_{\pi (j)} \end{aligned}$$
In order to introduce a unique representation for the sake of automation, we introduce the following normal form and the required transformations to transfer any operator to this form.
Definition 5.2
Let https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq295_HTML.gif be a multiplication operator. We say L is in normal form if
  • the coordinates of the structure elements are found in the primitive cell spanned by the primitive vectors, i.e., https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq296_HTML.gif ,
  • the structure elements \(\mathfrak {d}\) and \(\mathfrak {c}\) are sorted lexicographically.6
We now derive the implications of Definition 5.1 for multiplication operators when the structure element is element wise shifted or permuted. We do so in two steps, Theorems 5.4 and  5.5. First, we show that a shift of an entry of the structure element in the codomain or domain results in a modification of the corresponding row or column of the non-zero multipliers, respectively.
Theorem 5.4
(Shifted structure elements) Consider the two multiplication operators https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq302_HTML.gif and https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq303_HTML.gif defined by
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ65_HTML.png
Further let \(\hat{\mathfrak {t}}\) be a structure element which is obtained from \(\mathfrak {t}\) when shifted element-wise along https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq306_HTML.gif , i.e.,
$$\begin{aligned} \mathfrak {t}= (\mathfrak {t}_1,\ldots ,\mathfrak {t}_m) = (\hat{\mathfrak {t}}_1 + y_1,\ldots ,\hat{\mathfrak {t}}_m+y_m ) = \hat{\mathfrak {t}} +(y_1,\ldots ,y_m), \end{aligned}$$
where https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq307_HTML.gif and \(m=|\mathfrak {t}|\). Then, the operators \(\hat{L}\) and \(\hat{G}\) given by
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ66_HTML.png
fulfill the commutative diagram:
Proof
The natural isomorphism between the two corresponding function spaces is given by
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ67_HTML.png
as f and \((\mathbb {T}f)\) describe the same value distribution on the crystal.7 Again, a straightforward calculation yields
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ68_HTML.png
Analogously we find https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq314_HTML.gif . \(\square \)
Finally, we show that permutations of the entries of the structure element result in a transformation of the non-zero multipliers by corresponding permutation matrices.
Theorem 5.5
(Permuted structure elements) Consider the two multiplication operators https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq316_HTML.gif and https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq317_HTML.gif defined by
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ69_HTML.png
Let further \(\hat{\mathfrak {t}}\) be a structure element which is a permuted version of \(\mathfrak {t}\), i.e.,
$$\begin{aligned} \hat{\mathfrak {t}} = (\hat{\mathfrak {t}}_1,\ldots ,\hat{\mathfrak {t}}_m) = (\mathfrak {t}_{\pi (1)},\ldots , \mathfrak {t}_{\pi (m)}) = m_\pi \mathfrak {t}\end{aligned}$$
where \(m=|\mathfrak {t}|\), \(\pi :\{1,\ldots ,m\} \rightarrow \{1,\ldots ,m\}\) is a permutation and \(m_\pi \in \{0,1\}^{m\times m}\) the corresponding permutation matrix. Then, the operators \(\hat{L}\) and \(\hat{G}\) given by
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ70_HTML.png
fulfill the commutative diagram:
Proof
Due to the fact that the natural isomorphism https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq325_HTML.gif is a multiplication operator defined by \((p f)(x) = m_\pi f(x)\) for all https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq327_HTML.gif , the statement is true due to the rules of computation in Lemma A.1. \(\square \)
Theorems 2.3 and  5.1 to 5.5 allow for the automatic adjustment of crystal representations within the LFA. The corresponding detailed algorithms which make use of these results are given in “Appendix B”.

6 Application

Before demonstrating the application of aLFA to some selected examples let us briefly recapitulate the individual parts of the framework. The introduction of crystal structures in Sect. 2 allow for a canonical description of translationally invariant operators introduced in Sect. 3. Combined with the definition of the dual of a crystal structure in Definition 3.2 and a corresponding orthonormal basis in Theorem 3.2, the symbol of any single multiplication operator that is translationally invariant with respect to an arbitrary lattice structure, can be expressed (cf. Definition 3.3). This combination of choice of basis functions and the explicit connection of operators to their underlying structure enables an automated mixing analysis. This part of the framework can thus be seen on one hand as a unification of positional approaches to LFA by introducing structures that allow for the native treatment of arbitrary translational invariances and on the other hand as a general strategy for the automation of the frequency part back-end of LFA. In order to deal with compositions of operators as encountered in the analysis of iterative methods, the tools provided in Sect. 5 allow for an automatic transformation of the underlying crystal structures into compatible representations and the corresponding transformations of the operators. Thus, the only task remaining for the user is to provide any, i.e., the simplest or most convenient, crystal representation of the operators. The following examples show how such a construction can be carried out and as such serve as a tutorial for the use of the algorithms in “Appendix B”. Annotated Jupyter Notebooks of the presented examples can be found in [13].

6.1 Multicolored block smoother for the tight-binding Hamiltonian of graphene

In [12] a multigrid method for the tight-binding Hamiltonian of the carbon allotrope graphene based on Kaczmarz smoothing is constructed and analyzed using conventional LFA. Due to the hexagonal structure of graphene, the lexicographic ordering of Kaczmarz and the mixing analysis of the coarse grid correction which involved a mixing of eight frequencies, the analysis turned out to be quite lengthy. In this subsection we now want to analyze a two-grid method for this problem where we replace Kaczmarz by an overlapping colored Gauss–Seidel method that allows for better parallelism in the application of the multigrid method. Thus, the goal of this example is two-fold, first we want to show that the tight-binding Hamiltonian can be easily expressed using the native crystal structure of graphene and second that even the analysis of an overlapping block smoother can be carried out with ease using aLFA due to the fact that only a representation of the involved operators is needed.
The graphene structure can be described as a crystal https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq329_HTML.gif where the underlying lattice is triangular, i.e., any three nearby lattice points form an equilateral triangle. We have
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ71_HTML.png
with the structure element
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ72_HTML.png
The parameter \(a= 1.42\AA {}\) which denotes the distance of two neighboring atoms can be omitted as it does not occur in the tight-binding formulation. An illustration of the crystal has already been given in Fig. 2.
The (nearest neighbor) tight-binding Hamiltonian is a multiplication operator
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ73_HTML.png
with non-zero multipliers as illustrated in Fig. 7a.
Overlapping Hexagons We now present an overlapping block smoother for the tight-binding Hamiltonian L. Consider the non-disjoint splitting (or coloring) of the crystal into hexagons as depicted in Fig. 7b. This splitting has a translational invariance of https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq347_HTML.gif . Rewriting the graphene crystal https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq348_HTML.gif with respect to this coarser lattice https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq349_HTML.gif , we find https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq350_HTML.gif with the structure element
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ74_HTML.png
The splitting is then given by the structure elements
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ75_HTML.png
such that https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq351_HTML.gif , https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq352_HTML.gif , https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq353_HTML.gif and https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq354_HTML.gif . In the case of the nearest neighbor Hamiltonian any two hexagons of the same color do not interact. Thus, a relaxed sweep on the unknowns of one color is cheap and, in addition, yields a good degree of parallelism.
There are two options to describe the multiplication operators of the multicolored block smoother. On the one hand, we can construct them from scratch by defining the multiplication operator structure as well as the non-zero multipliers. On the other hand, we can derive the structure and non-zero multipliers of the operators corresponding to the colored blocking from the tight-binding Hamiltonian L by exploiting the fact that a colored block corresponds to the operator L restricted to this block. In order to proceed with the latter approach, we first need to find the description \(\hat{L}\) of the underlying operator, the tight-binding Hamiltonian L, with respect to the translational invariance of the splitting https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq356_HTML.gif . After that the structure element needs to be adjusted such that all unknowns and their couplings among each other are found within the central multiplier \(m_{\hat{L}}^{(0)}\). Consider the structure element \(\mathfrak {t}\). As can be seen in Fig. 7b, the coupling among the unknowns \(\mathfrak {t}^{(\ell )}\) which we want to update simultaneously are found in the multipliers:
\(\mathfrak {t}^{(1)}\)
\(\mathfrak {t}^{(2)}\)
\(\mathfrak {t}^{(3)}\)
\(\mathfrak {t}^{(4)}\)
\(m_{\hat{L}}^{(0)}\)
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq365_HTML.gif
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq366_HTML.gif
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq367_HTML.gif
Thus, in order to obtain suitable descriptions for \(\mathfrak {t}^{(\ell )}\), \(\ell \in \{2,3,4\}\), we need to consider shifted versions \(\mathfrak {t}+ \tau ^{(\ell )}\). For example
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ4_HTML.png
(6.1)
Finally, the error propagator corresponding to a single color relaxed block Gauss–Seidel update can be written as
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ76_HTML.png
with \((S^{(\ell )}f)(x) := (m_P m_{\hat{L}}^{(0)} m_P)f(x)\) where \(m_P\) is the diagonal matrix
$$\begin{aligned} (m_P)_{ii} = {\left\{ \begin{array}{ll} 1 &{} \text { for }i\in \{2,3,4,5,6,7\} \\ 0 &{} \text { else}. \end{array}\right. } \end{aligned}$$
(6.2)
We summarize the algorithmical steps to obtain the error propagators. The error propagator of a successive update of the four colors corresponds to the product of the error propagators \(G^{(\ell )} = ( I - \omega (S^{(\ell )})^\dagger \hat{L}^{(\ell )})\).
Now that all operators of the overlapping colored block Gauss–Seidel smoother are defined, we can compute its spectrum. The computation of the eigenvalues of the error propagator is carried out with Algorithm B.1 via
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ77_HTML.png
The function g denotes the composition of the error propagators
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ78_HTML.png
Note, that in this algorithm all operators are checked for compatibility and any incompatibility with respect to domains and codomains is dealt with using the transformations introduced in Sect. 5.
For \(\omega =\frac{1}{2}\) we obtain the plot in Fig. 8a. As the largest spectral radius is greater than one, this method cannot be used as a standalone solver.
Coarse grid correction In [12] a Galerkin coarse grid correction is used with a corresponding coarse grid correction operator that is defined by
$$\begin{aligned} E = (I- P(L_c)^\dagger R L) \end{aligned}$$
with \(L_c = RLP\) and \(P=R^T\). Just as in the description of the smoother, the shift invariance of the coarse grid is https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq384_HTML.gif . Defining the coarse structure element by \(2\mathfrak {s}\), and with \(\mathfrak {t}\) denoting the structure element of the fine crystal according to the coarse lattice basis, the restriction operator can be described as
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ79_HTML.png
The multipliers of the restriction operator according to [12] then read
This coarse grid correction is constructed in a way, such that it preserves the kernel of the tight-binding Hamiltonian L, where with https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq414_HTML.gif ,
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ80_HTML.png
The frequencies corresponding to the kernel modes are known as the Dirac points.
The two-grid analysis can now be carried out using Algorithm B.1 via
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ81_HTML.png
The function f denotes the composition of the two-grid error propagator
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ82_HTML.png
A plot of the spectral radii of the two-grid error propagator is given in b) of Fig. 8 which shows that the two-grid method converges with a convergence rate of \(\rho _{\max } \approx 0.167\). Thus, this new method with overlapping colored block Gauss–Seidel smoothing not only yields opportunities for parallel computations, but also converges faster than the old approach which used Kaczmarz smoothing.
In order to double-check the results of the developed theory, we show in table 1 that the asymptotic convergence rate of the two-grid method with random initial guess \(x_0\) and right-hand-side 0 coincides with the convergence rate obtained in the LFA with a relative accuracy of roughly \(.002\%\). This comes as no surprise as the theory is exact for this problem with periodic boundary conditions and we have chosen the sampling of the frequency space in accordance with the problem size (cf. Remark 3.1).
Table 1
Convergence history of the two-grid method applied to the tight-binding Hamiltonian of graphene with \((41\times 41)\cdot 2^3\) unknowns/atoms and periodic boundary conditions
Iteration i
\(||r_i||_2:=||b - A x_i||_2\)
\(\rho _i:=\frac{||r_i||_2}{||r_{i-1}||_2}\)
\(\frac{|\rho _i - \rho _{\mathrm{analytic}}|}{\rho _{\mathrm{analytic}}}\)
398
1.161369e−312
0.16685534
0.00220%
399
1.937806e−313
0.16685539
0.00217%
400
3.233335e−314
0.16685545
0.00213%
The reported asymptotic convergence rate \(\rho _i\) coincides with high precision to the convergence estimate https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq423_HTML.gif obtained in aLFA

6.2 Two-level analysis for the curl-curl equation

In [3] a complete two-level analysis is carried out for the 2-dimensional curl-curl formulation of Maxwell’s equations using conventional LFA. In this subsection we want to reproduce the results of the two-grid method discussed in this paper making use of the native crystal structure of the staggered discretization of the curl-curl equations. The method consists of a so-called half-hybrid smoother, introduced in [10], and a Galerkin coarse grid correction.
The degrees of freedom of the discrete curl-curl equation
$$\begin{aligned} \left( \frac{1}{h^2}K_{cc} + \sigma M\right) x= b \end{aligned}$$
(6.3)
are associated with the edges of a quadrilateral lattice https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq424_HTML.gif with
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ83_HTML.png
By multiplying Eq. (6.3) with \(h^2\), the grid size can be incorporated into the material parameter \(\sigma _h := h^2\sigma \). Then the discrete operator \(K=K_{cc} + \sigma _h M\) can be expressed as a multiplication operator by
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ84_HTML.png
where the elements https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq428_HTML.gif and https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq429_HTML.gif correspond to the (midpoints of the) horizontal and the vertical edge, respectively (cf. Fig. 9). According to [3] the multipliers are given by:
Hybrid smoother The (half) hybrid smoother uses an auxiliary space correction. That is, it can be seen as a two-grid method itself where smoothing replaces the exact inversion of the auxiliary space operator. The construction of this operator is as follows.
As already stated, we want to reproduce the results in [3]. Due to the fact that lexicographic Gauss–Seidel smoothers are used, we introduce the exact same ordering of the lattice points used in this paper, that is, the coordinates https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq433_HTML.gif are ordered from bottom to top and left to right which leads us to the following definition for https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq434_HTML.gif :
$$\begin{aligned} x=(x_1,x_2)< y=(y_1,y_2) :\Leftrightarrow x_2< y_2 \text { or } \left( x_2 = y_2 \text { and } x_1 < y_1\right) . \end{aligned}$$
The error propagator of the smoother on the original crystal https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq435_HTML.gif is a node-based lexicographic Gauss–Seidel iteration. When updating a horizontal edge \(x + \mathfrak {e}_h\), https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq437_HTML.gif it is assumed that all edges \(y+\mathfrak {e}_h\) and \(y+\hat{\mathfrak {e}}_v\), https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq440_HTML.gif , with \(y<x\) are already updated. When updating the edge \(y+\hat{\mathfrak {e}}_v\), it is additionally assumed that \(x+\mathfrak {e}_h\) is already updated (cf. [3, Figure 6.1]). In order to obtain the error propagator which exactly represents this ordering, it is convenient to rewrite the operator K with respect to this representation of the structure element, that is
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ85_HTML.png
which can be obtained with Algorithm B.6 via
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ86_HTML.png
The corresponding error propagator is then given by
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ87_HTML.png
with the multipliers
$$\begin{aligned} m_{S_E}^{(y)} = {\left\{ \begin{array}{ll} m_{\hat{K}}^{(y)} &{} \text {if } y < 0, \\ \texttt {tril}(m_{\hat{K}}^{(y)}) &{} \text {if } y=0, \\ 0 &{} \text{ else. } \end{array}\right. } \end{aligned}$$
In here, only the lower triangular part \(\texttt {tril}(m_{\hat{K}}^{(0)})\) of the central multiplier is used due to the fact that it represents a Gauss–Seidel sweep where a horizontal edge is updated before a vertical edge.
The crystal, where the auxiliary space system is formulated, is given by https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq445_HTML.gif , i.e., the nodal points between the edges. The transfer operator to this crystal is the discrete gradient operator defined by https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq446_HTML.gif with non-zero multipliers
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ88_HTML.png
Using a Galerkin construction, i.e., \(P_N = R_N^T\), the coarse grid operator \(K_N = R_N K P_N\) can be obtained using the computation rules in Lemma A.1. Inversion of this auxiliary space operator is then approximated by Gauss–Seidel. Thus, the auxiliary space correction with a single smoothing step on the auxiliary space is given by
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ89_HTML.png
where https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq449_HTML.gif consists of the scalar multipliers
$$\begin{aligned} m_{S_N}^{(y)} = {\left\{ \begin{array}{ll} m_{K_N}^{(y)} &{} \text {if } y \le 0, \\ 0 &{} \text{ else. }\end{array}\right. } \end{aligned}$$
With this definition of the auxiliary space correction, the half-hybrid smoother consists of the following steps.
1.
Smooth on \(Kx=b\): \(x \leftarrow (I+S_E^\dagger K)x + S_E^\dagger b\),
 
2.
Restrict the residual: \(r_N \leftarrow R_N(b-Kx)\),
 
3.
Smooth on \(K_N x_N= r_N\) with zero initial guess: \(x_N \leftarrow S_N^\dagger r_N\),
 
4.
Prolongate to the primal crystal \(x \leftarrow x + P_N x_N\).
 
The smoother is analyzed analogously to Sect. 6.1 with Algorithm B.1 by computing the spectral radii via
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ90_HTML.png
where g denotes the composition of the error propagators
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ91_HTML.png
In Fig. 10 a) a contour plot of \(\rho (G_k)\) with \(\sigma _h = 0.01\), with respect to https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq458_HTML.gif is given. It corresponds to the result given in [3, Figure 6.2, right].
Coarse grid correction In [3] a Galerkin coarse grid correction is used corresponding to the error propagator
$$\begin{aligned} E = (I- P(K_c)^\dagger R K) \end{aligned}$$
with \(K_c = RKP\) and \(P=R^T\). In here, the coarse crystal is https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq461_HTML.gif and the original crystal https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq462_HTML.gif with respect to the lattice \(2\mathcal {A}\) is given by https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq464_HTML.gif with
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ92_HTML.png
Then, according to [3] the restriction operator is given as https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq465_HTML.gif with the multipliers:
Here, each coarse horizontal and vertical edge is connected to its six nearest edges of the same type (cf. Fig. 9b)). The prolongation and coarse grid operator P and \(K_c\) can be obtained via Lemma A.1.
The spectral radii of the two-grid method can then be obtained via
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ93_HTML.png
where f denotes the composition of the two-grid error propagator
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ94_HTML.png
Figure 10b shows the spectral radii, \(\sup _k \rho (M_k)\), of the two-grid error propagator as a function of \(\sigma _h\). We used exactly the same orderings in pre- and post-smoothing, as described in [3]. Furthermore, we double-checked the results with convergence tests similar to Table 1. However, the obtained results show major differences to the one in [3, Figure 8.1, left], which leads us to believe that our assumptions on the lexicographic orderings employed in pre- or post-smoothing in [3] are wrong, as these have a large impact on the convergence rates.

7 Conclusion

In this paper we present an LFA framework that is applicable to arbitrary crystal structures, which are encountered in many applications, e.g., systems of partial differential equations, block smoothers or tight-binding formulations. This was achieved by introducing a rigorous notion of crystal structures and translationally invariant operators that manipulate value distributions on crystal structures. Based on these structures we introduced a complete framework to modify and transform these operators with respect to different crystal representations by using normal forms of integer linear algebra. This allowed us to automate the LFA in both position space, i.e., in terms of multiplication operators/stencils, and frequency space, i.e., in terms of canonical basis functions and samplings. In two examples we showed that the approach can be used for complicated operators, i.e., hexagonal grids, overlapping block smoothers and hybrid smoothers, without requiring insight into the frequency space back-end of LFA. An explicit mixing calculation is no longer needed, and the user only has to provide any representation of the individual operators. The transformation of the individual operators to a compatible representation and the subsequent frequency analysis is then carried out automatically. Even though we have limited ourselves in the examples in this paper to 2-dimensional problems our automated LFA can be applied to operators in higher dimension, where the difference is a larger set of primitive vectors defining the underlying lattice.
The automation presented in this paper does have some limitation. Each individual operator in the analysis is only allowed to change each value of the value distribution at most once. This limitation solely restricts the class of smoothers that can be analyzed with this approach. Any sequential, i.e., lexicographic, smoother with overlapping update regions changes values in the overlap multiple times in one application. This cannot be easily translated to a corresponding local multiplication operator, but it can be dealt with in frequency space (cf. [16, 17, 25]). This particular treatment of sequential overlap is momentarily not covered in our framework. Note, that the mere presence of overlap is not the problem here. By introducing a coloring, such that the complete sweep can be split into a sequence of updates where each one of them only changes values at most once, automated LFA can be applied (cf. Sect. 6.1). Due to the fact that a coloring in overlapping approaches also favors parallelism over their sequential counterparts, we feel that this limitation is relatively minor when targeting actual applications. An open-source implementation of the automated LFA framework [13] is freely available on GitLab.8 Jupyter Notebooks for all examples from Sects. 4 and 6.1 and 6.2 are included in this software package as well.

Acknowledgements

Open Access funding provided by Projekt DEAL.
Open AccessThis article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article’s Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article’s Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Anhänge

Rules of computation

Calculus of multiplication operators plays a key-role in local Fourier analysis. In this section we list all elementary operations, such as addition and multiplication. Proofs for these rules can be obtained by straightforward calculation.
Lemma A.1
Let two multiplication operators be given by
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ95_HTML.png
Then the following operators are multiplication operators as well:
(i)
If \(\mathfrak {s}= \mathfrak {u}\) and \(\mathfrak {t}=\mathfrak {v}\), then https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq477_HTML.gif .
 
(ii)
If \(\mathfrak {v}= \mathfrak {s}\), then https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq479_HTML.gif .
 
(iii)
The adjoint is given by https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq480_HTML.gif .
 
Theorem A.1
Let two multiplication operators be given by
https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_Equ96_HTML.png
with corresponding symbols \(L_k\) and \(G_k\).
Then we have the following statements.
(i)
Assuming that \({\mathfrak {s}} = {\mathfrak {u}}\) and \({\mathfrak {t}} = {\mathfrak {v}}\), the symbols of \(L+G\) are given by \(L_k+ G_k\).
 
(ii)
Assuming that \({\mathfrak {v}} = {\mathfrak {s}}\), the symbols of \(L\cdot G\) are given by \(L_k\cdot G_k\).
 
(iii)
The symbols of \(L^*\) are given by \(L_k^*\).
 
(iv)
The symbols \((L^\dagger )_k\) are given by \((L_k)^\dagger \).
 

Algorithms

Fußnoten
3
All proofs of Lemma 2.1 and Theorems 2.1 and 2.2 can be found in [24].
 
4
Bounded by the number of lattice points on the (arbitrarily large) torus.
 
5
Recall that a unique list of representatives https://static-content.springer.com/image/art%3A10.1007%2Fs10543-019-00797-w/MediaObjects/10543_2019_797_IEq263_HTML.gif can be found via Theorem 2.3.
 
6
In case \(\mathfrak {d}_i=\mathfrak {d}_j\) or \(\mathfrak {c}_i = \mathfrak {c}_j\) for any \(i\ne j\) a consistent ordering of ij has to be defined a priori.
 
7
The left-hand side of \([(\mathbb {T}f)(x)]_i=f_i(x-y_i)\) corresponds to the value at position \(x + {\hat{\mathfrak {t}}}_i = (x-y_i)+\mathfrak {t}_i\) which coincides with the position of the value of the right-hand side.
 
Literatur
1.
Zurück zum Zitat Ashcroft, N., Mermin, N.: Solid State Physics. Saunders College, Rochester (1976)MATH Ashcroft, N., Mermin, N.: Solid State Physics. Saunders College, Rochester (1976)MATH
2.
Zurück zum Zitat Bolten, M., Rittich, H.: Fourier analysis of periodic stencils in multigrid methods. SIAM J. Sci. Comput. 40(3), A1642–A1668 (2018)MathSciNetMATH Bolten, M., Rittich, H.: Fourier analysis of periodic stencils in multigrid methods. SIAM J. Sci. Comput. 40(3), A1642–A1668 (2018)MathSciNetMATH
3.
Zurück zum Zitat Boonen, T., Van Lent, J., Vandewalle, S.: Local Fourier analysis of multigrid for the curl–curl equation. SIAM J. Sci. Comput. 30(4), 1730–1755 (2008)MathSciNetMATH Boonen, T., Van Lent, J., Vandewalle, S.: Local Fourier analysis of multigrid for the curl–curl equation. SIAM J. Sci. Comput. 30(4), 1730–1755 (2008)MathSciNetMATH
4.
Zurück zum Zitat Brandt, A.: Multi-level adaptive solutions to boundary-value problems. Math. Comput. 31(138), 333–390 (1977)MathSciNetMATH Brandt, A.: Multi-level adaptive solutions to boundary-value problems. Math. Comput. 31(138), 333–390 (1977)MathSciNetMATH
5.
Zurück zum Zitat Brandt, A.: Rigorous quantitative analysis of multigrid, I. Constant coefficients two-level cycle with \$L\_2 \$-norm. SIAM J. Numer. Anal. 31(6), 1695–1730 (1994)MathSciNetMATH Brandt, A.: Rigorous quantitative analysis of multigrid, I. Constant coefficients two-level cycle with \$L\_2 \$-norm. SIAM J. Numer. Anal. 31(6), 1695–1730 (1994)MathSciNetMATH
7.
Zurück zum Zitat Gaspar, F., Gracia, J., Lisbona, F.: Fourier analysis for multigrid methods on triangular grids. SIAM J. Sci. Comput. 31(3), 2081–2102 (2009)MathSciNetMATH Gaspar, F., Gracia, J., Lisbona, F.: Fourier analysis for multigrid methods on triangular grids. SIAM J. Sci. Comput. 31(3), 2081–2102 (2009)MathSciNetMATH
8.
Zurück zum Zitat Grabmeier, J., Kaltofen, E., Weispfenning, V. (eds.): Computer Algebra Handbook. Springer, Berlin (2003)MATH Grabmeier, J., Kaltofen, E., Weispfenning, V. (eds.): Computer Algebra Handbook. Springer, Berlin (2003)MATH
9.
Zurück zum Zitat Greenfeld, D., Galun, M., Basri, R., Yavneh, I., Kimmel, R.: Learning to Optimize Multigrid PDE Solvers. In: Chaudhuri, K., Salakhutdinov, R. (eds.) Proceedings of the 36th International Conference on Machine Learning, Proceedings of Machine Learning Research, vol. 97, pp. 2415–2423. PMLR, Long Beach, California, USA (2019). http://proceedings.mlr.press/v97/greenfeld19a.html Greenfeld, D., Galun, M., Basri, R., Yavneh, I., Kimmel, R.: Learning to Optimize Multigrid PDE Solvers. In: Chaudhuri, K., Salakhutdinov, R. (eds.) Proceedings of the 36th International Conference on Machine Learning, Proceedings of Machine Learning Research, vol. 97, pp. 2415–2423. PMLR, Long Beach, California, USA (2019). http://​proceedings.​mlr.​press/​v97/​greenfeld19a.​html
10.
Zurück zum Zitat Hiptmair, R.: Multigrid method for maxwell’s equations. SIAM J. Numer. Anal. 36(1), 204–225 (1998)MathSciNetMATH Hiptmair, R.: Multigrid method for maxwell’s equations. SIAM J. Numer. Anal. 36(1), 204–225 (1998)MathSciNetMATH
11.
Zurück zum Zitat Huckle, T.: Compact Fourier analysis for designing multigrid methods. SIAM J. Sci. Comput. 31(1), 644–666 (2008)MathSciNetMATH Huckle, T.: Compact Fourier analysis for designing multigrid methods. SIAM J. Sci. Comput. 31(1), 644–666 (2008)MathSciNetMATH
12.
Zurück zum Zitat Kahl, K., Kintscher, N.: Geometric multigrid for the tight-binding Hamiltonian of graphene. SIAM J. Numer. Anal. 56(1), 499–519 (2018)MathSciNetMATH Kahl, K., Kintscher, N.: Geometric multigrid for the tight-binding Hamiltonian of graphene. SIAM J. Numer. Anal. 56(1), 499–519 (2018)MathSciNetMATH
14.
Zurück zum Zitat Kumar, P., Rodrigo, C., Gaspar, F., Oosterlee, C.W.: On local Fourier analysis of multigrid methods for PDEs with jumping and random coefficients. SIAM J. Sci. Comput. 41(3), A1385–A1413 (2019)MathSciNetMATH Kumar, P., Rodrigo, C., Gaspar, F., Oosterlee, C.W.: On local Fourier analysis of multigrid methods for PDEs with jumping and random coefficients. SIAM J. Sci. Comput. 41(3), A1385–A1413 (2019)MathSciNetMATH
15.
Zurück zum Zitat Kuo, C.C., Levy, B.C.: Two-color Fourier analysis of the multigrid method with red-black Gauss–Seidel smoothing. Appl. Math. Comput. 29(1), 69–87 (1989)MathSciNetMATH Kuo, C.C., Levy, B.C.: Two-color Fourier analysis of the multigrid method with red-black Gauss–Seidel smoothing. Appl. Math. Comput. 29(1), 69–87 (1989)MathSciNetMATH
16.
Zurück zum Zitat MacLachlan, S.P., Oosterlee, C.W.: Local Fourier analysis for multigrid with overlapping smoothers applied to systems of PDEs. Numer. Linear Algebra Appl. 18(4), 751–774 (2011)MathSciNetMATH MacLachlan, S.P., Oosterlee, C.W.: Local Fourier analysis for multigrid with overlapping smoothers applied to systems of PDEs. Numer. Linear Algebra Appl. 18(4), 751–774 (2011)MathSciNetMATH
17.
Zurück zum Zitat Molenaar, J.: A two-grid analysis of the combination of mixed finite elements and Vanka-type relaxation. In: Hackbusch, W., Trottenberg, U. (eds.) Multigrid Methods III, pp. 313–323. Birkhäuser, Basel (1991) Molenaar, J.: A two-grid analysis of the combination of mixed finite elements and Vanka-type relaxation. In: Hackbusch, W., Trottenberg, U. (eds.) Multigrid Methods III, pp. 313–323. Birkhäuser, Basel (1991)
18.
Zurück zum Zitat Rittich, H.: Extending and Automating Fourier Analysis for Multigrid Methods. PhD Thesis, University of Wuppertal (2017) Rittich, H.: Extending and Automating Fourier Analysis for Multigrid Methods. PhD Thesis, University of Wuppertal (2017)
20.
Zurück zum Zitat Rodrigo, C., Gaspar, F.J., Zikatanov, L.T.: On the validity of the local Fourier analysis. J. Comput. Math. 37(3), 340–348 (2019)MathSciNetMATH Rodrigo, C., Gaspar, F.J., Zikatanov, L.T.: On the validity of the local Fourier analysis. J. Comput. Math. 37(3), 340–348 (2019)MathSciNetMATH
21.
Zurück zum Zitat Rodrigo, C., Salinas, P., Gaspar, F., Lisbona, F.: Local Fourier analysis for cell-centered multigrid methods on triangular grids. J. Comput. Appl. Math 259, 35–47 (2014). Proceedings of the Sixteenth International Congress on Computational and Applied Mathematics (ICCAM-2012), Ghent, Belgium, 9-13 July, 2012MathSciNetMATH Rodrigo, C., Salinas, P., Gaspar, F., Lisbona, F.: Local Fourier analysis for cell-centered multigrid methods on triangular grids. J. Comput. Appl. Math 259, 35–47 (2014). Proceedings of the Sixteenth International Congress on Computational and Applied Mathematics (ICCAM-2012), Ghent, Belgium, 9-13 July, 2012MathSciNetMATH
22.
Zurück zum Zitat Rodrigo, C., Sanz, F., Gaspar, F.J., Lisbona, F.J.: Local Fourier analysis for edge-based discretizations on triangular grids. Numer. Math. Theory Methods 8(1), 78–96 (2015)MathSciNetMATH Rodrigo, C., Sanz, F., Gaspar, F.J., Lisbona, F.J.: Local Fourier analysis for edge-based discretizations on triangular grids. Numer. Math. Theory Methods 8(1), 78–96 (2015)MathSciNetMATH
23.
Zurück zum Zitat Saad, Y.: Iterative Methods for Sparse Linear Systems, 2nd edn. Society for Industrial and Applied Mathematics, Philadelphia (2003)MATH Saad, Y.: Iterative Methods for Sparse Linear Systems, 2nd edn. Society for Industrial and Applied Mathematics, Philadelphia (2003)MATH
24.
Zurück zum Zitat Schrijver, A.: Theory of Linear and Integer Programming. Wiley, London (1986)MATH Schrijver, A.: Theory of Linear and Integer Programming. Wiley, London (1986)MATH
25.
Zurück zum Zitat Sivaloganathan, S.: The use of local mode analysis in the design and comparison of multigrid methods. Comput. Phys. Commun. 65(1), 246–252 (1991)MATH Sivaloganathan, S.: The use of local mode analysis in the design and comparison of multigrid methods. Comput. Phys. Commun. 65(1), 246–252 (1991)MATH
26.
Zurück zum Zitat Stein, E.M., Weiss, G.: Introduction to Fourier Analysis on Euclidean Spaces. Princeton University Press, Princeton (1971)MATH Stein, E.M., Weiss, G.: Introduction to Fourier Analysis on Euclidean Spaces. Princeton University Press, Princeton (1971)MATH
27.
Zurück zum Zitat Stevenson, R.: On the Validity of Local Mode Analysis of Multi-Grid Methods. PhD Thesis, Utrecht University (1990-12) Stevenson, R.: On the Validity of Local Mode Analysis of Multi-Grid Methods. PhD Thesis, Utrecht University (1990-12)
29.
Zurück zum Zitat Trottenberg, U., Oosterlee, C.W., Schüller, A.: Multigrid, Texts in Applied Mathematics. Bd. Academic Press, Cambridge (2001). With contributions by A. Brandt, P. Oswald and K. StübenMATH Trottenberg, U., Oosterlee, C.W., Schüller, A.: Multigrid, Texts in Applied Mathematics. Bd. Academic Press, Cambridge (2001). With contributions by A. Brandt, P. Oswald and K. StübenMATH
30.
Zurück zum Zitat Wienands, R., Joppich, W.: Practical Fourier Analysis for Multigrid Methods. CRC Press, Boca Raton (2004)MATH Wienands, R., Joppich, W.: Practical Fourier Analysis for Multigrid Methods. CRC Press, Boca Raton (2004)MATH
31.
Zurück zum Zitat Wienands, R., Oosterlee, C.: On three-grid Fourier analysis for multigrid. SIAM J. Sci. Comput. 23(2), 651–671 (2001)MathSciNetMATH Wienands, R., Oosterlee, C.: On three-grid Fourier analysis for multigrid. SIAM J. Sci. Comput. 23(2), 651–671 (2001)MathSciNetMATH
32.
Zurück zum Zitat Zhou, G., Fulton, S.: Fourier analysis of multigrid methods on hexagonal grids. SIAM J. Sci. Comput. 31(2), 1518–1538 (2009)MathSciNetMATH Zhou, G., Fulton, S.: Fourier analysis of multigrid methods on hexagonal grids. SIAM J. Sci. Comput. 31(2), 1518–1538 (2009)MathSciNetMATH
Metadaten
Titel
Automated local Fourier analysis (aLFA)
verfasst von
Karsten Kahl
Nils Kintscher
Publikationsdatum
28.01.2020
Verlag
Springer Netherlands
Erschienen in
BIT Numerical Mathematics / Ausgabe 3/2020
Print ISSN: 0006-3835
Elektronische ISSN: 1572-9125
DOI
https://doi.org/10.1007/s10543-019-00797-w

Weitere Artikel der Ausgabe 3/2020

BIT Numerical Mathematics 3/2020 Zur Ausgabe