Kronecker Sum of Discrete Laplacians

We consider a two-dimensional grid of \(\,m\times n\,\) points with a spacing \(\,h.\ \) \(\\\) Application of the finite difference method with the five-point stencil 1

\[\begin{split}\begin{array}{ccc} & (x-h,y) & \\ & | & \\ (x,y-h) & -\quad (x,y)\quad - & (x,y+h) \\ & | & \\ & (x+h,y) & \end{array}\end{split}\]

leads to the approximate expression for the Laplacian of a function \(\,f(x,y)\,\) defined on the grid:

\[\Delta f(x,y)\ \approx\ \frac{1}{h^2}\ \ [\,f(x-h,y)+f(x,y-h)+f(x,y+h)+f(x+h,y)-4\,f(x,y)\,].\]

We shall put henceforth \(\,h=1.\ \) Thus \(\,x=1,2,\ldots,m,\ y=1,2,\ldots,n,\ \) and

\[\Delta f(x,y)\ =\ \Delta^{(xx)} f(x,y)\ +\ \Delta^{(yy)} f(x,y)\]

where the 2nd order partial derivatives correspond to the three-point stencil in one dimension:

(1)\[ \begin{align}\begin{aligned}\Delta^{(xx)} f(x,y)\ \equiv\ \frac{\partial^{\,2}}{\partial x^2}\ f(x,y) \approx\ f(x-1,y)\ - \ 2\,f(x,y)\ + \ f(x+1,y),\\\Delta^{(yy)} f(x,y)\ \equiv\ \frac{\partial^{\,2}}{\partial y^2}\ f(x,y) \approx\ f(x,y-1)\ - \ 2\,f(x,y)\ +\ f(x,y+1).\end{aligned}\end{align} \]

To write these relations in a matrix form, we use the matrix notation:

\[\begin{split}\begin{array}{rl} f(x,y) \rightarrow f_{xy}\,, & \boldsymbol{f}\ :\,=\ [\,f_{xy}\,]_{\,m \times n}\,; \\ \Delta f(x,y) \rightarrow (\Delta f)_{xy}\,, & \boldsymbol{\Delta} f\ :\,=\ [\,(\Delta f)_{xy}\,]_{\,m \times n}\,; \\ \\ \Delta^{(xx)} f(x,y) \rightarrow (\Delta^{(xx)} f)_{xy}\,, & \boldsymbol{\Delta}^{(xx)} f\ :\,=\ [\,\Delta^{(xx)} f)_{xy}\,]_{\,m \times n}\,; \\ \Delta^{(yy)} f(x,y) \rightarrow (\Delta^{(yy)} f)_{xy}\,, & \boldsymbol{\Delta}^{(yy)} f\ :\,=\ [\,\Delta^{(yy)} f)_{xy}\,]_{\,m \times n}\,; \\ \\ \boldsymbol{D}^{(xx)}\ =\ [\,d^{(xx)}_{vw}\,]_{m\times m}\,, & \boldsymbol{D}^{(yy)}\ =\ [\,d^{(yy)}_{vw}\,]_{n\times n}\,. \end{array}\end{split}\]

The index \(\,y\in\{1,2,\ldots,n\}\,\) being fixed, the first of Eqs. (1) can be rewritten as

\[ \begin{align}\begin{aligned}(\Delta^{(xx)} f)_{xy}\ \ =\ \ \displaystyle\sum_{w=1}^m\ d^{(xx)}_{xw}\ f_{wy}\,, \qquad \forall\ x = 1,2,\ldots,m;\\\boldsymbol{\Delta}^{(xx)} f\ \ =\ \ \boldsymbol{D}^{(xx)}\cdot\,\boldsymbol{f}\,,\\\boldsymbol{\Lambda}^{mn}(\boldsymbol{\Delta}^{(xx)}f)\ =\ (\boldsymbol{D}^{(xx)}\otimes\boldsymbol{I}_n)\ \cdot\ \boldsymbol{\Lambda}^{mn}(\boldsymbol{f})\,.\end{aligned}\end{align} \]

Here \(\,\boldsymbol{\Lambda}^{mn}(\boldsymbol{A})\,\) is the column of coordinates of a \(\,m\times n\,\) matrix \(\,\boldsymbol{A}\,\) in the standard basis of the vector space \(\,M_{m\times n}(K).\ \) The last formula above is the vectorized form of the preceding matrix equation (see the section ‘Vectorization of Matrices’ in this chapter).

On the other hand, for a fixed \(\,x\in\{1,2,\ldots,m\},\ \) the second equation in (1) yields

\[ \begin{align}\begin{aligned}(\Delta^{(yy)} f)_{xy}\ \ =\ \ \displaystyle\sum_{v=1}^n\ d^{(yy)}_{yv}\ f_{xv}\ \ =\ \ \displaystyle\sum_{v=1}^n\ f_{xv}\ \left[\,d^{(yy)}\,\right]_{vy}^{\,T}\,, \qquad \forall\ y = 1,2,\ldots,n;\\\boldsymbol{\Delta}^{(yy)} f\ \ =\ \ \boldsymbol{f}\,\cdot\,\left[\,\boldsymbol{D}^{(yy)}\,\right]^{\,T}\,,\\\boldsymbol{\Lambda}^{mn}(\boldsymbol{\Delta}^{(yy)}f)\ =\ (\boldsymbol{I}_m\otimes\boldsymbol{D}^{(yy)})\ \cdot\ \boldsymbol{\Lambda}^{mn}(\boldsymbol{f})\end{aligned}\end{align} \]

(once again we used vectorization formulas for a matrix product from a preceding section).

Gathering together the partial results for \(\ \,\boldsymbol{\Delta}f\,=\, \boldsymbol{\Delta}^{(xx)}f\ + \ \boldsymbol{\Delta}^{(yy)}f\,,\ \ \) we obtain

\[\blacktriangleright\quad \boldsymbol{\Lambda}^{mn}(\boldsymbol{\Delta}f)\ =\ \left(\boldsymbol{D}^{(xx)}\oplus\,\boldsymbol{D}^{(yy)}\right)\ \cdot\ \boldsymbol{\Lambda}^{mn}(\boldsymbol{f})\,,\]

where the \(\,\) Kronecker sum \(\,\) of matrices \(\,\boldsymbol{D}^{(xx)}\in M_m(K)\ \) and \(\,\boldsymbol{D}^{(yy)}\in M_n(K)\ \) is defined as

\[\triangleright\quad \boldsymbol{D}^{(xx)}\oplus\,\boldsymbol{D}^{(yy)}\ :\,=\ \, \boldsymbol{D}^{(xx)}\otimes\,\boldsymbol{I}_n\ +\ \boldsymbol{I}_m\otimes\,\boldsymbol{D}^{(yy)}\,.\]

To get some idea how the matrices \(\,\boldsymbol{D}^{(xx)}\ \) and \(\,\boldsymbol{D}^{(yy)}\ \) look, we shall use the tools of Sage. The function ML(n) (‘Minus Laplacian’) returns the matrix \(\,\boldsymbol{D}^{(xx)}\ \) or \(\,\boldsymbol{D}^{(yy)}\ \) of a given size \(\,n:\)

For example, for a \(\,3\times 5\ \) grid of 15 points \(\,\) (\(m=3,\ n=5\)) \(\,\) the matrices read:

\[\begin{split}\boldsymbol{D}^{(xx)}\ =\ \left[\begin{array}{rrr} -1 & 1 & 0 \\ 1 & -2 & 1 \\ 0 & 1 & -1 \end{array}\right] \,,\qquad \boldsymbol{D}^{(yy)}\ =\ \left[\begin{array}{rrrrr} -1 & 1 & 0 & 0 & 0 \\ 1 & -2 & 1 & 0 & 0 \\ 0 & 1 & -2 & 1 & 0 \\ 0 & 0 & 1 & -2 & 1 \\ 0 & 0 & 0 & 1 & -1 \end{array}\right]\,.\end{split}\]

Unlike the internal rows, the first and the last rows of these matrices do not result from (1). Instead, they have been chosen so that \(\,\boldsymbol{D}^{(xx)}\ \) or \(\,\boldsymbol{D}^{(yy)}\ \) are the negative Laplacian matrix 2 of a one-dimensional grid with \(\,m\,\) or \(\,n\,\) points, respectively.

The code below shows the matrix \(\,\boldsymbol{D}^{(xx)}\oplus\,\boldsymbol{D}^{(yy)}\ \) for a \(\,3\times 5\ \) grid of 15 points \(\,\) (\(m=3,n=5\)):

1

https://en.wikipedia.org/wiki/Five-point_stencil

2

https://en.wikipedia.org/wiki/Laplacian_matrix