In this section, we present four examples in support of our working hypothesis. We also discuss the fact that standard double precision eigenvalue solvers (such as LAPACK, eig in Matlab, and eigvals in Julia [6]) fail to give accurate eigenvalues of certain non-Hermitian matrices Tn(f) (both with real and complex eigenvalues); see, e.g., [5, Section 7], [12, Sections 3 and 5.8], [22], and [26, Chapter II]. A simple illustrative example is the Toeplitz matrix Tn(f) generated by the symbol f(θ) = eiθ + e− 2iθ presented in Fig. 1; see, e.g., [5, Section 5.1]. The numerically computed eigenvalues Ψj(Tn(f)) (beige) and \({\Psi }_{j}(T_{n}^{\textsc {t}}(f))\) (blue), for n = 999 and using Matlab (double precision), differ and neither is correct. A high-precision computation (256 bit) [1] of the eigenvalues λj(Tn(f)) (green) agrees well with the theoretical prediction; see, e.g., [23, Section 7] and [10, Example 11.18]. Along the first arm of the “star,” the eigenvalues are real, and the other arms are simply rotations of these real eigenvalues.
High-precision computations, by using packages such as GenericLinearAlgebra.jl [1] in Julia can compute the true eigenvalues, but they are very expensive from the computational point of view. Therefore, approximating \(\mathfrak {f}\) on the grid θj, n and using matrix-less methods, described in Section 3, to compute the spectrum of Tn(f) can be computationally very advantageous. Also, the presented approaches can be a valuable tool for the analysis of the spectra of non-normal Toeplitz matrices having real eigenvalues.
Here is a short description of the four examples we are going to consider, where ξj, n is the “perfect grid” defined in Remark 1.
-
Example 1: Tn(f) is non-symmetric tridiagonal, \(\mathfrak {f}\) is known, and the eigenvalues \(\lambda _j(T_n(f))=\mathfrak {f}(\theta _{j,n})\) are known explicitly;
-
Example 2: Tn(f) is symmetric pentadiagonal, \(\mathfrak {f}=f\), and the eigenvalues \(\lambda _j(T_n(f))=\mathfrak {f}(\xi _{j,n})\) are not known explicitly;
-
Example 3: Tn(f) is non-symmetric, \(\mathfrak {f}\) is known, and the eigenvalues \(\lambda _j(T_n(f))=\mathfrak {f}(\xi _{j,n})\) are not known explicitly;
-
Example 4: Tn(f) is non-symmetric, \(\mathfrak {f}\) is not known, and the eigenvalues \(\lambda _j(T_n(f))=\mathfrak {f}(\xi _{j,n})\) are not known explicitly.
Example 1
Consider the symbol
$$ \begin{array}{@{}rcl@{}} f(\theta)=\hat{f}_{-1}e^{-\mathbf{i}\theta}+\hat{f}_{0}+\hat{f}_{1}e^{\mathbf{i}\theta}. \end{array} $$
(3)
The matrix Tn(f) is tridiagonal, and there exists a function
$$ \begin{array}{@{}rcl@{}} \mathfrak{f}(\theta)=\hat{f}_{0}+2\sqrt{\hat{f}_{-1}}\sqrt{\hat{f}_{1}}\cos(\theta), \end{array} $$
(4)
such that \(T_n(f)\sim T_n(\mathfrak {f})\), that is, they are similar and hence have the same eigenvalues. The eigenvalues are given explicitly by
$$ \begin{array}{@{}rcl@{}} \lambda_{j}(T_{n}(f))=\mathfrak{f}(\theta_{j,n}), \end{array} $$
(5)
where θj, n is defined in the working hypothesis. Now, choose the Fourier coefficients \(\hat {f}_{-1}=-2\), \(\hat {f}_0=2\), and \(\hat {f}_{1}=-1\). In this case, we have
$$ f(\theta)=-2e^{-\mathbf{i}\theta} +2 -e^{\mathbf{i}\theta}, $$
and thus,
$$ \begin{array}{@{}rcl@{}} \mathfrak{f}(\theta)=2-2\sqrt{2}\cos(\theta), \end{array} $$
(6)
where the spectrum of Tn(f) is real and is described by \(\mathfrak {f}(\theta )\), and the symbol f is complex-valued. The Toeplitz matrices generated by f and \(\mathfrak {f}\) are given by
$$ \begin{array}{@{}rcl@{}} {T_{n}(f)=\left[ \begin{array}{rrrrr} 2&-2\\ -1&2&-2\\ &\ddots&\ddots&\ddots\\ &&\ddots&\ddots&-2\\ &&&-1&2 \end{array} \right],} \quad {T_{n}(\mathfrak{f})=\left[ \begin{array}{rrrrr} 2&-\sqrt{2}\\ -\sqrt{2}&2&-\sqrt{2}\\ &\ddots&\ddots&\ddots\\ &&\ddots&\ddots&-\sqrt{2}\\ &&&-\sqrt{2}&2 \end{array} \right]}. \end{array} $$
We also note that \(T_n(\mathfrak {f})\) is a symmetrized version of Tn(f), in the sense that there exists a transformation \(T_n(\mathfrak {f})=DT_n(f)D^{-1}\) where D is a diagonal matrix with elements (D)i, i = γi− 1, and \(\gamma =\sqrt {\hat {f}_{-1}}/\sqrt {\hat {f}_1}\); see, e.g., [21].
In the left panel of Fig. 2, we represent the function f (red line), \(\mathfrak {f}\) (dashed black line), and the eigenvalues \(\lambda _j(T_n(f))=\lambda _j(T_n(\mathfrak {f}))\) (green dots) for n = 5. In the right panel of Fig. 2, we show the function \(\mathfrak {f}\) (dashed black line) on the interval [0, π] only (since it is even on [−π, π]) and the eigenvalues \(\lambda _j(T_5(f))=\lambda _j(T_5(\mathfrak {f}))=\mathfrak {f}(\theta _{j,5})\) (green dots).
In Fig. 3, we present the symbol f(θ) (red line), the numerically computed spectra Ψj(Tn(f)) (beige dots), and \({\Psi }_j(T_n^{\mathrm {T}}(f))\) (blue dots), for n = 1000, using a standard double precision eigenvalue solver. The analytical spectrum, defined by (5) and (6), is also shown (green dots). These numerically computed eigenvalues Ψj(An), for non-Hermitian An, are related to the pseudospectrum, discussed for example in [5, 12, 22, 26].
Example 2
In this example, we consider the symbol
$$ \begin{array}{@{}rcl@{}} f(\theta)=(2-2\cos(\theta))^{2}=6-8\cos(\theta)+2\cos(2\theta), \end{array} $$
which generates a Toeplitz matrix Tn(f) associated with the second order finite difference approximation of the bi-Laplacian,
$$ \begin{array}{@{}rcl@{}} { T_{n}(f)=\left[ \begin{array}{rrrrrrrrrrr} 6&-4&1\vphantom{\ddots}\\ -4&6&-4&1\vphantom{\ddots}\\ 1&-4&6&-4&1\vphantom{\ddots}\\ &\ddots&\ddots&\ddots&\ddots&\ddots\\ &&\ddots&\ddots&\ddots&\ddots&1\\ &&&\ddots&\ddots&\ddots&-4\\ &&&&1&-4&6\vphantom{\ddots} \end{array} \right]}. \end{array} $$
The matrices Tn(f) are all Hermitian and so they have a real spectrum. Moreover, we have \(f(\theta )=\mathfrak {f}(\theta )\) and \(\{T_n(f)\}_n\sim _{\lambda }f\). In Fig. 4, we represent the symbol \(\mathfrak {f}=f\) and the eigenvalues of Tn(f) for n = 5. The “perfect grid” ξj, n such that \(\lambda _j(T_n(f))=\mathfrak {f}(\xi _{j,n})\) is not equispaced but can in this case be obtained by either computing \(\xi _{j,n}=2\sin \limits ^{-1}\left ((\lambda _j(T_n(f)))^{1/4}/2\right )\) (since \(f(\theta )=16\sin \limits ^4(\theta /2)\)), finding the roots in (0, π) of \(\mathfrak {f}(\theta )-\lambda _j(T_n(f))\) with eigenvalues given by some standard solver, or using the expansion described in [14] for large n.
Example 3
In this example, we consider the following symbol
$$ \begin{array}{@{}rcl@{}} f(\theta)&=&e^{-3\mathbf{i}\theta}-4e^{-2\mathbf{i}\theta}+6e^{-\mathbf{i}\theta}-4+e^{\mathbf{i}\theta}\\ &=&e^{-\mathbf{i}\theta}\left( 6-8\cos(\theta)+2\cos(2\theta)\right)\\ &=&e^{-\mathbf{i}\theta}\left( 2-2\cos(\theta)\right)^{2}. \end{array} $$
The Toeplitz matrix Tn(f) is a shifted version of the matrix considered in Example 2 (that is, the matrix associated with the second order finite difference approximation of the bi-Laplacian), and it is given by
$$ \begin{array}{@{}rcl@{}} { T_{n}(f)=\left[ \begin{array}{rrrrrrrrrrr} -4&6&-4&1\vphantom{\ddots}\\ 1&-4&6&-4&1\vphantom{\ddots}\\ &\ddots&\ddots&\ddots&\ddots&\ddots\\ &&\ddots&\ddots&\ddots&\ddots&1\\ &&&\ddots&\ddots&\ddots&-4\\ &&&&\ddots&\ddots&6\\ &&&&&1&-4\vphantom{\ddots} \end{array} \right]}. \end{array} $$
We note that,
$$ \begin{array}{@{}rcl@{}} f(\theta)&=&e^{-\mathbf{i}\theta}\left( 2-2\cos(\theta)\right)^{2}\\ &=&e^{-3\mathbf{i}\theta}\left( 1-e^{\mathbf{i}\theta}\right)^{4}, \end{array} $$
which is equivalent to (41) in [24, Example 3.] with z = eiθ, a = − 1, r = 3, and s = 1. Hence, by (43) in [24], we have,
$$ \begin{array}{@{}rcl@{}} \mathfrak{f}(\theta)=-\frac{\sin^{4}(\theta)}{\sin(\theta/4)\sin^{3}(3\theta/4)}, \end{array} $$
(7)
and the matrix \(T_n(\mathfrak {f})\) would be full with \(\lambda _j(T_n(f))\approx \lambda _j(T_n(\mathfrak {f}))\in (-\frac {(r+s)^{r+s}}{r^rs^s},0)=(-\frac {256}{27},0)\) for all j.
In the left panel of Fig. 5, we represent the functions f (red line), \(\mathfrak {f}\) (dashed black line) and the eigenvalues λj(Tn(f)) (green dots) for n = 5. In the right panel of Fig. 5, we show the function \(\mathfrak {f}\) (dashed black line) on the interval [0, π] only (since it is even on [−π, π]) and the eigenvalues \(\lambda _j(T_5(f))=\mathfrak {f}(\xi _{j,5})\) (green dots).
In Fig. 6, we present the symbol f (red line), the numerically computed spectra Ψj(Tn(f)) (beige dots) and \({\Psi }_j(T_n^{\mathrm {T}}(f))\) (blue dots), for n = 1000, using a standard double precision eigenvalue solver. The approximations of the true eigenvalues \(\lambda _j(T_{1000}(f))=\mathfrak {f}(\xi _{j,1000})\) (green dots) are also shown, computed with 128 bit precision BigFloat.
Example 4
In this example, we consider a symbol f where the expression for \(\mathfrak {f}\) is not known explicitly. Let,
$$ \begin{array}{@{}rcl@{}} f(\theta)= -e^{-4\mathbf{i}\theta} +2e^{-3\mathbf{i}\theta} -2e^{-2\mathbf{i}\theta} +9e^{-\mathbf{i}\theta} +7e^{\mathbf{i}\theta} -e^{2\mathbf{i}\theta} +e^{3\mathbf{i}\theta} , \end{array} $$
which generates the matrix
$$ \begin{array}{@{}rcl@{}} {T_{n}(f)=\left[ \begin{array}{rrrrrrrrrrrrrrr} 0&9&-2&2&-1\vphantom{\ddots}\\ 7&0&9&-2&2&-1\vphantom{\ddots}\\ -1&7&0&9&-2&2&-1\vphantom{\ddots}\\ 1&-1&7&0&9&-2&2&-1\vphantom{\ddots}\\ &\ddots&\ddots&\ddots&\ddots&\ddots&\ddots&\ddots&\ddots\\ &&\ddots&\ddots&\ddots&\ddots&\ddots&\ddots&\ddots&-1\\ &&&\ddots&\ddots&\ddots&\ddots&\ddots&\ddots&2\\ &&&&\ddots&\ddots&\ddots&\ddots&\ddots&-2\\ &&&&&\ddots&\ddots&\ddots&\ddots&9\\ &&&&&&1&-1&\hphantom{-}7&0\vphantom{\ddots} \end{array} \right]}. \end{array} $$
From [24, Example 4.] we have strong indications that approximately λj(Tn(f)) ∈ [− 22.09,14.96] for all j.
In the left panel of Fig. 7, we represent the symbol f (red line) and the eigenvalues λ1000(Tn(f)), computed with 256 bit precision BigFloat (black dots) since \(\mathfrak {f}\) is not known. The eigenvalues λj(Tn(f)) (green dots) for n = 5 are also shown. In the right panel of Fig. 7, we again show the eigenvalues λ1000(Tn(f)) arranged in non-decreasing order (black dots) since \(\mathfrak {f}\) is not known on the interval [0, π], and it is even on [−π, π]. Also the eigenvalues \(\lambda _j(T_5(f))=\mathfrak {f}(\xi _{j,5})\) (green dots) are shown. The “perfect” grid ξj, n is computed using data from Example 8. Numerically, we have λj(T1000(f)) ∈ [− 22.0912, 14.9641] in agreement with [24]. In Fig. 8, we present the numerically computed spectra Ψj(Tn(f)) (beige dots) and \({\Psi }_j(T_n^{\mathrm {T}}(f))\) (blue dots), for n = 1000, using a standard double precision eigenvalue solver. The true eigenvalues \(\lambda _j(T_{1000}(f))=\mathfrak {f}(\xi _{j,1000})\) (green dots) are approximated using a 256 bit precision computation.