Analytical insight is obtained by considering the SVD 𝑺=𝑼𝚺𝑽T, and 𝑨=𝑺T𝑺=𝑽𝚺2𝑽T from which it results that singular values σ of 𝑺 are square roots of the eigenvalues of 𝑨. The eigenvalues of a symmetric matrix are real-valued.

Recall (see L14) that eigenvalues of

𝑫=1h2[ -2 1 1 -2 1 1 -2 1 1 -2 ]

can be obtained by the correspondence between continuum and discrete operators. The matrix 𝑫 is a discrete version of the second-order differentiation operator t2 obtained by centered finite differences

t2u(t)=2ut2(t)u(t-h)-2u(t)+u(t+h)h2.

In the continuum case, the derivative at a point requires knowledge of values within a neighborhood, e.g., u'(t)=limh0(u(t+h)-u(t-h)/(2h)). The corresponding feature of the discrete case is that the differentiation operator is not square. Consider the vector 𝒖^m+2 obtained by sampling u(t) at nodes tk=kh, h=π/(m+1), for k=0,,m+1, and the extended matrix

𝑫^=1h2[ 1 -2 1 1 -2 1 1 -2 1 1 -2 1 ]m×(m+2).

The finite difference approximation of the second derivative at m interior points u''(tk),k=1,,m requires knowledge of m+2 function values, expressed in matrix form as

𝒖''=𝑫^𝒖^.

The eigensystem of the square matrix 𝑫m×m can however be obtained by noting that:

  1. Eigenfunctions φ(t)of t2 are solutions of the ordinary differential equation t2u=λu, for u:[0,π].

  2. Choosing boundary conditions on u to recover the desired matrix 𝑫.

  3. Positing that eigenvectors of 𝑫 are obtaining by evaluating φ(t) at tk, 𝒛=[ φ(t1) φ(tm) ].

  4. Verifying that 𝑫𝒛=μ𝒛 is indeed verified with no dependence of μ on the component index k.

For the matrix 𝑫, the appropriate boundary conditions are u0=u(t0)=u(0)=0 and um+1=u(tm+1)=u(1)=0, such that

𝒖''=𝑫^𝒖^=𝑫𝒖.

At the interval endpoints

2ut2(t1)=2ut2(h)u(0)-2u(h)+u(2h)h2=-2u(h)+u(2h)h2,
2ut2(tm)=2ut2(1-h)u(1-2h)-2u(1-h)+u(1)h2=u(1-2h)-2u(1-h)h2.

Since the boundary value problem

u''=λu,u(0)=u(π)=0,

has eigenfunctions sin(ξt), ξ, posit that the eigenvectors 𝒛 of the 𝑫 matrix have components zk=sin(ξtk)=sin(ξkh). Verify that 𝒛 is indeed an eigenvector by computing the kth component of 𝑫𝒛

(𝑫𝒛)k=1h2(sin[ξ(k-1)h]-2sin[ξkh]+sin[ξ(k+1)h])=2h2[cos(ξh)-1]sin(ξkh)=λsin(ξkh).

In the above calculation

λ=2h2[cos(ξh)-1]=-[2hsin(ξh2)]2,

does not depend on the component index k, hence indeed it is an eigenvalue since 𝑫𝒛=λ𝒛 is satisfied. Verify numerically:

function D(m)
  spdiagm(0 => -2*ones(m), -1 => ones(m-1) , 1 => ones(m-1))
end;
m=10; num=eigen(collect(D(m))).values;
h=pi/(m+1); csi=m:-1:1; an=-(2*sin.(csi*h/2)).^2;
[num an]

[ -3.9189859472289936 -3.9189859472289945 -3.682507065662361 -3.682507065662362 -3.309721467890569 -3.30972146789057 -2.830830026003772 -2.830830026003773 -2.284629676546571 -2.28462967654657 -1.715370323453428 -1.7153703234534299 -1.1691699739962265 -1.1691699739962276 -0.6902785321094298 -0.6902785321094301 -0.31749293433763814 -0.3174929343376377 -0.08101405277100523 -0.08101405277100529 ] (1)

From the above, the eigenvalues of 𝑩=h2𝑫+4𝑰 can readily be found as

μ=4[1-sin2(ξh2)]=4cos2(ξh2).

The fact that the matrix 𝑨=𝑺T𝑺 differs from 𝑩 just through a rank-one update at the right endpoint,

𝑨=[ 2 1 1 2 1 1 2 1 1 2 1 1 1 ]=[ 2 1 1 2 1 1 2 1 1 2 1 1 2 ]-[ 0 0 0 0 0 0 0 0 0 0 0 0 1 ]=𝑩-𝒆m𝒆mT,

suggests one of two approaches:

  1. Define different boundary conditions for the ordinary differential equation t2u=λu.

  2. Find the effect of a rank-one perturbation upon the eigenvalues of 𝑩.

Consider the first approach, and require

𝒖''=𝑫^𝒖^=1h2[ 1 -2 1 1 -2 1 1 -2 1 1 -2 1 ][ u0 u1 um um+1 ]=1h2[ -2 1 1 -2 1 1 -2 1 1 -3 ][ u1 u2 um-1 um ]=𝑪𝒖.

The left end-condition remains the same u0-2u1+u2=-2u1+u2u0=0. At the right obtain

um-1-2um+um+1=um-1-3umum+1=-um.

In the continuum case the above is satisfied when

u(tm+h)+u(tm)=0.

Carrying out a Taylor series expansion and truncating at first order gives the Robin boundary condition

2u(tm)+hu'(tm)=0.

This leads to consideration of the Sturm-Liouville problem

u''=λu,u(0)=0,2u(π)+hu'(π)=0.

Let λ=ξ2 and obtain that a nontrivial solution u(t)=sin(ξt) is obtained for ξ that satisfies the right end-condition

2sin(ξπ)+ξhcos(ξπ)=0ξ=-2htan(ξπ)=-2(m+1)πtan(ξπ).

A numerical root-finding procedure determines solutions {ξ1,,ξm} of the above equation.

using Roots
f(x,m)=x+2*(m+1)*tan(x*pi)/pi; f10(x)=f(x,10);
csi=find_zero.(f10,1:10);
function C(m)
  d = -2*ones(m); d[m]=-3; h=pi/(m+1); s=1/h^2
  spdiagm(0 => s*d, -1 => s*ones(m-1) , 1 => s*ones(m-1))
end;
num=eigen(collect(C(10))).values

[ -48.76558779735465 -46.61123661467208 -42.4939578061028 -36.7795896621686 -29.97587886954959 -22.687364989762944 -15.561664466144167 -9.231927060838379 -4.260577719902124 -1.0893426486848086 ] (2)

collect(C(10))

[ -24.51972644144574 12.25986322072287 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 12.25986322072287 -24.51972644144574 12.25986322072287 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 12.25986322072287 -24.51972644144574 12.25986322072287 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 12.25986322072287 -24.51972644144574 12.25986322072287 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 12.25986322072287 -24.51972644144574 12.25986322072287 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 12.25986322072287 -24.51972644144574 12.25986322072287 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 12.25986322072287 -24.51972644144574 12.25986322072287 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 12.25986322072287 -24.51972644144574 12.25986322072287 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 12.25986322072287 -24.51972644144574 12.25986322072287 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 12.25986322072287 -36.77958966216861 ] (3)

Verify whether 𝒖=[sin(ξtj)] is indeed an eigenvector of 𝑪.

m=10; num=eigen(collect(D(m))).values;
h=pi/(m+1); csi=m:-1:1; an=-(2*sin.(csi*h/2)).^2;
[num an]

[ -3.9189859472289936 -3.9189859472289945 -3.682507065662361 -3.682507065662362 -3.309721467890569 -3.30972146789057 -2.830830026003772 -2.830830026003773 -2.284629676546571 -2.28462967654657 -1.715370323453428 -1.7153703234534299 -1.1691699739962265 -1.1691699739962276 -0.6902785321094298 -0.6902785321094301 -0.31749293433763814 -0.3174929343376377 -0.08101405277100523 -0.08101405277100529 ] (4)

C10=collect(C(10))

[ -2.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 -2.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 -2.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 -2.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 -2.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 -2.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 -2.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 -2.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 -2.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 -3.0 ] (5)

For m=10,

{0.956778,1.91503,2.87596,3.84033,4.80847,5.78035,6.75572,7.73422,8.71545,9.69905}

are the roots. Since 𝑨=h2𝑪+4𝑰 the smallest and largest eigenvalues of 𝑨 are

h2ξ1+4,h2ξm+4

and the smallest, largest singular values of 𝑺 are

σ1=[(πm+1)2ξ1+4]1/2,σm=[(πm+1)2ξm+4]1/2.

For m=10,20,,100 the root-finding procedure gives

m 10 20 30 40 50 60 70 80 90 100 ξ1 0.956778 0.976784 0.98414 0.987957 0.990294 0.991872 0.993008 0.993866 0.994536 0.995074 ξm 9.69905 19.6899 29.6868 39.6852 49.6842 59.6836 69.6832 79.6828 89.6826 99.6824

The extremal singular values are

However the matrix 𝑨 is a rank-one perturbation of 𝑩=𝑸Ψ𝑸T, 𝑨=𝑸Ψ𝑸T-𝒆m𝒆mT, Ψ=diag(μ1,,μm). Numerical experimentation shows that eigenvalues of 𝑩

From here there are two ways to proceed:

1) Eigenvalues of 𝑨 are roots of the characteristic polynomial

p(α)=det(α𝑰-𝑨)=det(α𝑸𝑸T-𝑸Ψ𝑸T+𝒆m𝒆mT).

Use the factorization

α𝑸𝑸T-𝑸Ψ𝑸T+𝒆m𝒆mT=𝑸(α𝑰-Ψ+𝑸T𝒆m𝒆mT𝑸)𝑸T,

and det(𝑸)=1, det(𝑭𝑮)=det(𝑭)det(𝑮), to obtain

p(α)=det

From the SVD 𝑺=𝑼𝚺𝑽T, 𝑨=𝑺T𝑺=𝑽𝚺2𝑽T deduce that singular values σ of 𝑺 are square roots of the eigenvalues of 𝑨

σ=2cos(ξh2)=2cos[ξπ2(m+1)].

The largest, smallest singular values σ1, σm are obtained for ξ=1, ξ=m, respectively. This leads to

κ(𝑺)=||𝑺||||𝑺-1||=σ1σm=cos[π2(m+1)]/cos[mπ2(m+1)].

Verify the above numerical experiment.

kappa(m)=cos(pi/2/(m+1))/cos(m*pi/2/(m+1));
r=250:250:1000; num=cond.(Matrix.(S.(r))) ./ r; an=kappa.(r) ./ r; [num an]

[ 1.2757630315067137 1.2783158144633153 1.2745070304499295 1.2757818433925137 1.274085812988015 1.2749353382552424 1.273874725330594 1.2745117381282753 ] (6)