Gauss quadrature approximation by Lanczos algorithm
一、 Gauss Quadrature
1.1 Gauss quadrature with weight function
For
I
(
f
)
=
∫
a
b
ρ
(
x
)
f
(
x
)
d
x
(1)
I(f)=\int_{a}^{b} \rho(x) f(x)dx \tag{1}
I(f)=∫abρ(x)f(x)dx(1)
If the following quadrature formula[2,p220]
∫
a
b
ρ
(
x
)
f
(
x
)
d
x
≈
∑
k
=
0
n
A
k
f
(
x
k
)
(2)
\int_{a}^{b}\rho(x)f(x)dx\approx \sum_{k=0}^{n}A_{k}f(x_{k}) \tag{2}
∫abρ(x)f(x)dx≈k=0∑nAkf(xk)(2)
with the
(
2
n
+
1
)
(2n+1)
(2n+1) algebraic degree of precision, that is, when the degree of polynomial
f
(
x
)
f(x)
f(x) less than or equal to
2
n
+
1
2n+1
2n+1, the left and right sides of equation (2) are strictly equal. Thus, it’s called the Gauss-type quadrature formula with weights
ρ
(
x
)
\rho(x)
ρ(x).
The nodes
x
k
x_{k}
xk are called Gauss points (nodes),
A
k
A_{k}
Aks are called quadrature coefficients about
ρ
(
x
)
\rho(x)
ρ(x) (weights or coefficients).
1.2 The caculation of the weights and nodes
(Note: This section is mainly about how to caculate the Gauss points and coefficents. The theoretical foundation can refer to [2, p223]. )
- 1)Undeterminated coefficient method: As the Gaussian quadrature formula in equation (2) is accurately for any polynomial with degree at most
2
n
+
1
2n+1
2n+1. Thus, for the polynomial sequence
{
1
,
x
,
x
2
,
⋯
,
x
2
n
+
1
}
\{1,x,x^{2},\cdots,x^{2n+1}\}
{1,x,x2,⋯,x2n+1}, equation (2) are all exactly equal.
Based on the above analysis, we can construct the following ( 2 n + 2 ) (2n+2) (2n+2) equations about quadrature nodes { x k } k = 0 n \{x_{k}\}_{k=0}^{n} {xk}k=0n and quadrature coefficient { A k } k = 0 n \{A_{k}\}_{k=0}^{n} {Ak}k=0n :
{ ∑ k = 0 n A k = ∫ a b 1 d x ∑ k = 0 n x k A k = ∫ a b x d x ∑ k = 0 n x k 2 A k = ∫ a b x 2 d x ⋮ ∑ k = 0 n x k 2 n + 1 A k = ∫ a b x 2 n + 1 d x \left\{\begin{array}{l}\sum_{k=0}^{n} A_{k}=\int_{a}^{b} 1 \mathrm{~d} x \\ \sum_{k=0}^{n} x_{k} A_{k}=\int_{a}^{b} x \mathrm{~d} x \\ \sum_{k=0}^{n} x_{k}^{2} A_{k}=\int_{a}^{b} x^{2} \mathrm{~d} x \\ \vdots \\ \sum_{k=0}^{n} x_{k}^{2 n+1} A_{k}=\int_{a}^{b} x^{2 n+1} \mathrm{~d} x\end{array}\right. ⎩ ⎨ ⎧∑k=0nAk=∫ab1 dx∑k=0nxkAk=∫abx dx∑k=0nxk2Ak=∫abx2 dx⋮∑k=0nxk2n+1Ak=∫abx2n+1 dx
Note: when n ≥ 2 n\geq 2 n≥2, it is difficult to solve the above system of equations directly.
- 2)Orthogonal polynomials method: The basic idea mainly based on the following two theorem.
[2, Theorem 5.5.1, p221] Let I ( f ) = ∫ a b f ( x ) d x I(f)=\int_{a}^{b}f(x)\mathrm{d}x I(f)=∫abf(x)dx and its interpolation quadrature formula is I n ( f ) = ∑ k = 0 n A k f ( x k ) , I_{n}(f)=\sum_{k=0}^{n}A_{k}f(x_{k}), In(f)=k=0∑nAkf(xk), and denote W n + 1 ( x ) = ( x − x 0 ) ( x − x 1 ) ⋯ ( x − x n ) . W_{n+1}(x)=(x-x_{0})(x-x_{1})\cdots(x-x_{n}). Wn+1(x)=(x−x0)(x−x1)⋯(x−xn).
Then { x k } k = 0 n \{x_{k}\}_{k=0}^{n} {xk}k=0n are Gaussian nodes if and only if W n + 1 ( x ) W_{n+1}(x) Wn+1(x) is orthogonal to any polynomial p ( x ) p(x) p(x) with degree at most n n n, that is ∫ a b p ( x ) W n + 1 ( x ) d x = 0. \int_{a}^{b}p(x)W_{n+1}(x)\mathrm{d}x=0. ∫abp(x)Wn+1(x)dx=0.
[2, Theorem 5.5.3, p223] Let { q n ( x ) } n = 0 ∞ \{q_{n}(x)\}_{n=0}^{\infty} {qn(x)}n=0∞ is an orthogonal polynomilas sequence on [ a , b ] [a,b] [a,b], thus q n ( x ) q_{n}(x) qn(x) has n n n different zeros on [ a , b ] [a,b] [a,b].
` As the orthogonal polynomials sequence
{
q
k
(
x
)
}
k
=
0
n
+
1
\{q_{k}(x)\}_{k=0}^{n+1}
{qk(x)}k=0n+1 form a basis for a polynomial space of degree n+1, and
q
n
(
x
)
q_{n}(x)
qn(x) is orthogoanl to any polynomial of degree at most n on the interval [a,b].
Thus, for a given weight function
ρ
(
x
)
\rho(x)
ρ(x) (can be
ρ
(
x
)
=
1
\rho(x)=1
ρ(x)=1), if we can find a orthogonal polynomials sequence
{
q
0
(
x
)
,
q
1
(
x
)
,
⋯
,
q
n
(
x
)
,
q
n
+
1
(
x
)
}
\{q_{0}(x),q_{1}(x),\cdots,q_{n}(x),q_{n+1}(x)\}
{q0(x),q1(x),⋯,qn(x),qn+1(x)} related to the weight funciton
ρ
(
x
)
\rho(x)
ρ(x).
Where
q
n
+
1
(
x
)
q_{n+1}(x)
qn+1(x) is exact degree
n
+
1
n+1
n+1, suppose its zeros are
t
0
,
⋯
,
t
n
t_{0},\cdots,t_{n}
t0,⋯,tn, then they are also the Gauss points
{
x
k
}
k
=
0
n
\{x_{k}\}_{k=0}^{n}
{xk}k=0n, their coresponding coefficients
{
A
k
}
k
=
0
n
\{A_{k}\}_{k=0}^{n}
{Ak}k=0n are derived by
A
k
=
∫
a
b
ρ
(
x
)
l
k
(
x
)
d
x
,
(3)
A_{k}=\int_{a}^{b}\rho(x)l_{k}(x)dx, \tag{3}
Ak=∫abρ(x)lk(x)dx,(3)
where
l
k
(
t
)
l_{k}(t)
lk(t) are base function of interpolation
l
k
(
t
)
=
∏
j
=
0
,
j
≠
k
n
t
−
t
j
t
k
−
t
j
.
l_{k}(t)=\prod_{j=0,j\neq k}^{n}\frac{t-t_{j}}{t_{k}-t_{j}}.
lk(t)=j=0,j=k∏ntk−tjt−tj.
Note: Using the zeros of orthogoanl polynomials to construct the Gauss quadrature formula, which is only effective for some special weight functions, such as
1
1
1(Legendre),
1
1
−
x
2
\frac{1}{\sqrt{1-x^{2}}}
1−x21(Chebyshev 1),
1
−
x
2
\sqrt{1-x^{2}}
1−x2(Chebyshev 2) and
e
−
x
2
e^{-x^{2}}
e−x2(Hermite), et.al.
However, for the general weight function, the above undertermined coefficient method is usually adopted.
二、Lanczos algorithm
2.1 Krylov subspace
- Krylov subspace:
A
A
A is real matrix (unsymmetric) of order
n
n
n. Let
v
v
v be a given vector and
K k = ( v , A v , ⋯ , A k − 1 v ) K_{k}=\left(v, \quad A v, \quad \cdots, \quad A^{k-1} v\right) Kk=(v,Av,⋯,Ak−1v)
be the Krylov matrix of dimension n × k n\times k n×k. The subspace spanned by the columns of matrix K k K_{k} Kk is called a Krylov subspace and denoted by K k ( A , v ) K_{k}(A,v) Kk(A,v) or K ( A , v ) K(A,v) K(A,v).
Note: The natural basis of the Krylov subspace K ( A , v ) K(A,v) K(A,v) given by the columns of the Krylov matirx K k K_{k} Kk is badly conditioned when k k k is large.
2.2 Arnoldi algorithm
Arnoldi algorithm constructs an orthonormal basis of the Krylov subspace K ( A , v ) K(A,v) K(A,v) by applying a variant of the Gram-Schmidt orthogonalization process.
- Arnoldi algorithm: Set vectors
v
(
j
+
1
)
=
A
v
(
j
)
v^{(j+1)}=Av^{(j)}
v(j+1)=Av(j) with
v
(
1
)
=
v
v^{(1)}=v
v(1)=v, then
K
(
A
,
v
)
K(A,v)
K(A,v) is spanned by the vectors
{
v
(
j
)
}
j
=
1
k
\{v^{(j)}\}_{j=1}^{k}
{v(j)}j=1k.For constucting orthogonal basis vectors
v
j
v^{j}
vj, instead of orthogonalizing
A
j
v
A^{j}v
Ajv against the previous vectors, orthogonalize
A
v
j
Av^{j}
Avj.
Starting from v 1 = v v^{1}=v v1=v(normalized,that is v 1 = v / ∥ v ∥ v^{1}=v/\|v\| v1=v/∥v∥),the ( j + 1 ) (j+1) (j+1)st vector of the basis is computed by using the previous vectors, - Projection: h i , j = ( A v j , v i ) , i = 1 , ⋯ , j , h_{i,j}=(Av^{j},v^{i}),i=1,\cdots,j, hi,j=(Avj,vi),i=1,⋯,j,
- Orthogonalize: v ~ j + 1 = A v j − ∑ i = 1 j h i , j v i , \tilde{v}^{j+1}=Av^{j}-\sum_{i=1}^{j}h_{i,j}v^{i}, v~j+1=Avj−∑i=1jhi,jvi,
- Length: h j + 1 , j = ∥ v ~ j + 1 ∥ h_{j+1,j}=\|\tilde{v}^{j+1}\| hj+1,j=∥v~j+1∥,(if h j + 1 , j = 0 h_{j+1,j}=0 hj+1,j=0 then stop)
- Normalize: v j + 1 = v ~ j + 1 h j + 1 , j v^{j+1}=\frac{\tilde{v}^{j+1}}{h_{j+1,j}} vj+1=hj+1,jv~j+1
As
h
j
+
1
,
j
v
j
+
1
=
A
v
j
−
∑
i
=
1
j
h
i
,
j
v
i
h_{j+1,j}v^{j+1}=Av^{j}-\sum_{i=1}^{j}h_{i,j}v^{i}
hj+1,jvj+1=Avj−∑i=1jhi,jvi, we have
A
v
j
=
∑
i
=
1
j
h
i
,
j
v
i
+
h
j
+
1
,
j
v
j
+
1
.
Av^{j}=\sum_{i=1}^{j}h_{i,j}v^{i}+h_{j+1,j}v^{j+1}.
Avj=i=1∑jhi,jvi+hj+1,jvj+1.
If we collect the vectors
v
j
,
j
=
1
,
⋯
,
k
v^{j},j=1,\cdots,k
vj,j=1,⋯,k in a matrix
V
k
V_{k}
Vk, that is
V
k
=
[
v
1
,
v
2
,
⋯
,
v
k
]
V_{k}=[v_{1},v_{2},\cdots,v_{k}]
Vk=[v1,v2,⋯,vk] (thus
V
k
V_{k}
Vk is column orthogonal matrix), the relations defining the vectors
v
k
+
1
v^{k+1}
vk+1 can be written in the matrix form as
A
V
k
=
V
k
H
k
+
h
k
+
1
,
k
v
k
+
1
(
e
k
)
T
,
(4)
A V_{k}=V_{k} H_{k}+h_{k+1, k} v^{k+1}\left(e^{k}\right)^{T}, \tag{4}
AVk=VkHk+hk+1,kvk+1(ek)T,(4)
where
H
k
H_{k}
Hk is an upper Hessenberg matrix with elements
h
i
,
j
h_{i,j}
hi,j,
h
i
,
j
=
0
,
j
=
1
,
⋯
,
i
−
2
,
i
>
2
h_{i,j}=0,j=1,\cdots,i-2,i>2
hi,j=0,j=1,⋯,i−2,i>2.
H
k
=
[
h
1
,
1
h
1
,
2
h
1
,
3
⋯
h
1
,
k
h
2
,
1
h
2
,
2
h
2
,
3
⋯
h
2
,
k
0
h
3
,
2
h
3
,
3
⋯
h
3
,
k
0
0
h
4
,
3
⋯
h
4
,
k
⋮
⋮
⋮
⋱
⋮
0
0
0
h
k
,
k
−
1
h
k
,
k
]
H_{k}=\left[ \begin{array}{lllll} h_{1,1} & h_{1,2} & h_{1,3} & \cdots & h_{1,k}\\ h_{2,1} & h_{2,2} & h_{2,3} & \cdots & h_{2,k}\\ 0 & h_{3,2} & h_{3,3} & \cdots & h_{3,k}\\ 0 & 0 & h_{4,3} & \cdots & h_{4,k}\\ \vdots & \vdots & \vdots & \ddots & \vdots\\ 0 & 0 & 0 & h_{k,k-1} & h_{k,k}\\ \end{array} \right ]
Hk=
h1,1h2,100⋮0h1,2h2,2h3,20⋮0h1,3h2,3h3,3h4,3⋮0⋯⋯⋯⋯⋱hk,k−1h1,kh2,kh3,kh4,k⋮hk,k
2.3 Lanczos algorithm
Multiplying equation (4) by
V
k
T
V_{k}^{T}
VkT and using orthogonality, we have
H
k
=
V
k
T
A
V
k
.
H_{k}=V_{k}^{T}A V_{k}.
Hk=VkTAVk.
If matrix
A
A
A is symmetric, then the Hessenberg matrix
H
k
H_{k}
Hk is tridiagonal and denoted by
J
k
J_{k}
Jk, that is
J
i
,
j
=
0
,
j
=
i
+
2
,
⋯
,
k
.
J_{i,j}=0,j=i+2,\cdots,k.
Ji,j=0,j=i+2,⋯,k. (or
h
i
,
j
=
0
,
i
=
1
,
⋯
,
j
−
2
,
j
+
2
,
⋯
,
k
h_{i,j}=0,i=1,\cdots,j-2,j+2,\cdots,k
hi,j=0,i=1,⋯,j−2,j+2,⋯,k). This implies that the new vector
v
k
+
1
v^{k+1}
vk+1 can be computed by using only the two previous
v
k
v^{k}
vk and
v
k
−
1
v^{k-1}
vk−1.
h
j
+
1
,
j
v
j
+
1
=
A
v
j
−
∑
i
=
1
j
h
i
,
j
v
i
=
A
v
j
−
h
j
−
1
,
j
v
j
−
1
−
h
j
,
j
v
j
.
h_{j+1,j}v^{j+1}=Av^{j}-\sum_{i=1}^{j}h_{i,j}v^{i}=Av^{j}-h_{j-1,j}v^{j-1}-h_{j,j}v^{j}.
hj+1,jvj+1=Avj−i=1∑jhi,jvi=Avj−hj−1,jvj−1−hj,jvj.
In matrix form, set
η
i
\eta_{i}
ηi denote the nonzero off-diagonal entries of
J
k
J_{k}
Jk,
A
V
k
=
V
k
J
k
+
η
k
v
k
+
1
(
e
k
)
T
.
(5)
A V_{k}=V_{k} J_{k}+\eta_{k} v^{k+1}\left(e^{k}\right)^{T}. \tag{5}
AVk=VkJk+ηkvk+1(ek)T.(5)
Equation (5) describes in matrix form the elegant Lanczos algorithm.
For simple notation system, starting from a nonzero vector
v
1
=
v
/
∥
v
∥
,
α
1
=
(
A
v
1
,
v
1
)
,
v
~
2
=
A
v
1
−
α
1
v
1
v^{1}=v/\|v\|,\alpha_{1}=(Av^{1},v^{1}),\tilde{v}^{2}=Av^{1}-\alpha_{1}v^{1}
v1=v/∥v∥,α1=(Av1,v1),v~2=Av1−α1v1, and then for
k
=
2
,
3
,
⋯
,
k=2,3,\cdots,
k=2,3,⋯,
η
k
−
1
=
∥
v
~
k
∥
,
v
k
=
v
~
k
η
k
−
1
,
α
k
=
(
v
k
,
A
v
k
)
=
(
v
k
)
T
A
v
k
,
v
~
k
+
1
=
A
v
k
−
α
k
v
k
−
η
k
−
1
v
k
−
1
.
\begin{array}{c} \eta_{k-1}=\|\tilde{v}^{k}\|,\\ v^{k}=\frac{\tilde{v}^{k}}{\eta_{k-1}},\\ \alpha_{k}=\left(v^{k}, A v^{k}\right)=\left(v^{k}\right)^{T} A v^{k},\\ \tilde{v}^{k+1}=A v^{k}-\alpha_{k} v^{k}-\eta_{k-1} v^{k-1}.\\ \end{array}
ηk−1=∥v~k∥,vk=ηk−1v~k,αk=(vk,Avk)=(vk)TAvk,v~k+1=Avk−αkvk−ηk−1vk−1.
J
k
=
[
α
1
η
1
0
⋯
0
η
1
α
2
η
2
⋯
0
0
η
2
α
3
⋯
0
0
0
η
3
⋯
0
⋮
⋮
⋮
⋱
⋮
0
0
0
η
k
−
1
α
k
]
J_{k}=\left[ \begin{array}{lllll} \alpha_{1} & \eta_{1} & 0 & \cdots & 0\\ \eta_{1} & \alpha_{2} & \eta_{2} & \cdots & 0\\ 0 & \eta_{2} & \alpha_{3} & \cdots & 0\\ 0 & 0 & \eta_{3} & \cdots & 0\\ \vdots & \vdots & \vdots & \ddots & \vdots\\ 0 & 0 & 0 & \eta_{k-1} & \alpha_{k}\\ \end{array} \right ]
Jk=
α1η100⋮0η1α2η20⋮00η2α3η3⋮0⋯⋯⋯⋯⋱ηk−10000⋮αk
三、Two important theory
3.1 Theorem 1
Theorem1 [1,Th.4.1]: Let χ k ( λ ) \chi_{k}(\lambda) χk(λ) be the determinant of J k − λ I J_{k}-\lambda I Jk−λI(which is a monic polynomial); then
v k = p k ( A ) v 1 , p k ( λ ) = ( − 1 ) k − 1 χ k − 1 ( λ ) η 1 ⋯ η k − 1 , k > 1 , p 1 ≡ 1 v^{k}=p_{k}(A) v^{1}, \quad p_{k}(\lambda)=(-1)^{k-1} \frac{\chi_{k-1}(\lambda)}{\eta_{1} \cdots \eta_{k-1}}, k>1, \quad p_{1} \equiv 1 vk=pk(A)v1,pk(λ)=(−1)k−1η1⋯ηk−1χk−1(λ),k>1,p1≡1
The polynomials p k p_{k} pk of degree k − 1 k-1 k−1 are called the normalized Lanczos polynomials.
This theorem describes the most important property of Lanczos alg orithm:The Lanczos vectors v k v^{k} vk are given as a polynomial in matrix A A A applied to the initial vector v 1 v^{1} v1.
It is easy to verify that (expand on the last row of
J
k
+
1
J_{k+1 }
Jk+1)
det
(
J
k
+
1
)
=
α
k
+
1
det
(
J
k
)
−
η
k
2
det
(
J
k
−
1
)
,
(6)
\det(J_{k+1}) = \alpha_{k+1}\det(J_{k})-\eta_{k}^{2}\det(J_{k-1}), \tag{6}
det(Jk+1)=αk+1det(Jk)−ηk2det(Jk−1),(6)
and
det
(
J
k
+
1
−
λ
I
)
=
(
α
k
+
1
−
λ
)
det
(
J
k
−
λ
I
)
−
η
k
2
det
(
J
k
−
1
−
λ
I
)
.
(7)
\det(J_{k+1}-\lambda I) = (\alpha_{k+1}-\lambda)\det(J_{k}-\lambda I)-\eta_{k}^{2}\det(J_{k-1}-\lambda I). \tag{7}
det(Jk+1−λI)=(αk+1−λ)det(Jk−λI)−ηk2det(Jk−1−λI).(7)
From the expression of polynomial
p
k
(
λ
)
p_{k}(\lambda)
pk(λ) in Theorem 1, we know that the Lanczos polynomials satisfy a scalar three-term recurrence,
η
k
p
k
+
1
(
λ
)
=
(
λ
−
α
k
)
p
k
(
λ
)
−
η
k
−
1
p
k
−
1
(
λ
)
,
k
=
1
,
2
,
…
,
(8)
\eta_{k} p_{k+1}(\lambda)=\left(\lambda-\alpha_{k}\right) p_{k}(\lambda)-\eta_{k-1} p_{k-1}(\lambda), k=1,2, \ldots, \tag{8}
ηkpk+1(λ)=(λ−αk)pk(λ)−ηk−1pk−1(λ),k=1,2,…,(8)
with initial conditions
p
0
≡
0
,
p
1
≡
1
p_{0} \equiv 0, p_{1} \equiv 1
p0≡0,p1≡1.
3.2 Theorem 2
Theorem2 [1, Th.4.2]:
Consider the Lanczos vectors v k v^{k} vk. There exists a measure α ( λ ) \alpha(\lambda) α(λ) such that
( v k , v l ) = ⟨ p k , p l ⟩ = ∫ a b p k ( λ ) p l ( λ ) d α ( λ ) , (9) \left(v^{k}, v^{l}\right)=\left\langle p_{k}, p_{l}\right\rangle=\int_{a}^{b} p_{k}(\lambda) p_{l}(\lambda) d \alpha(\lambda), \tag{9} (vk,vl)=⟨pk,pl⟩=∫abpk(λ)pl(λ)dα(λ),(9)
where α ≤ λ 1 = λ m i n \alpha\leq \lambda_{1}=\lambda_{min} α≤λ1=λmin and b ≥ λ n = λ m a x b\geq \lambda_{n}=\lambda_{max} b≥λn=λmax, λ m i n \lambda_{min} λmin and λ m a x \lambda_{max} λmax being the smallest and largest eigenvalues of A A A, and p i p_{i} pi are the Lanczos polynomials associated with A A A and v 1 v^{1} v1.
α ( λ ) = { 0 , if λ < λ 1 ∑ j = 1 i [ v ^ j ] 2 , if λ i ≤ λ < λ i + 1 ∑ j = 1 n [ v ^ j ] 2 , if λ n ≤ λ (10) \alpha(\lambda)=\left\{\begin{array}{ll}0, & \text { if } \lambda<\lambda_{1} \\ \sum_{j=1}^{i}\left[\hat{v}_{j}\right]^{2}, & \text { if } \lambda_{i} \leq \lambda<\lambda_{i+1} \\ \sum_{j=1}^{n}\left[\hat{v}_{j}\right]^{2}, & \text { if } \lambda_{n} \leq \lambda\end{array}\right. \tag{10} α(λ)=⎩ ⎨ ⎧0,∑j=1i[v^j]2,∑j=1n[v^j]2, if λ<λ1 if λi≤λ<λi+1 if λn≤λ(10)
where v ^ = Q T v 1 \hat{v}=Q^{T}v^{1} v^=QTv1, v 1 = v / ∥ v ∥ v^{1}=v/\|v\| v1=v/∥v∥, and the spectral decomposition of A A A is A = Q Λ Q T A=Q\Lambda Q^{T} A=QΛQT.
That is, normalized Lanczos polynomials sequence { p k ( λ ) } \{p_{k}(\lambda)\} {pk(λ)} is orthogonal in the sense of measure α ( λ ) \alpha(\lambda) α(λ).
Note: For the sake of simplicity, here suppose that the eigenvalues of A A A are distinct.
四、Gauss quadrature by Lanczos algorithm
For symetric matrix
A
A
A with eigenvalue decomposition
A
=
Q
Λ
Q
T
A=Q\Lambda Q^{T}
A=QΛQT,
f
f
f is smooth funciton,
v
v
v is random unit vector, then
v
T
f
(
A
)
v
=
v
T
Q
f
(
Λ
)
Q
T
v
v^{T}f(A)v=v^{T}Qf(\Lambda)Q^{T}v
vTf(A)v=vTQf(Λ)QTv
set
v
^
=
Q
T
v
\hat{v}=Q^{T}v
v^=QTv, then
v
T
f
(
A
)
v
=
v
^
T
f
(
Λ
)
v
=
∑
j
=
1
m
f
(
λ
i
)
[
v
^
j
]
2
v^{T}f(A)v=\hat{v}^{T}f(\Lambda)v=\sum_{j=1}^{m}f(\lambda_{i})[\hat{v}_{j}]^{2}
vTf(A)v=v^Tf(Λ)v=j=1∑mf(λi)[v^j]2
Consider the above sum as Riemann-Stieltjes integral
∑
j
=
1
m
f
(
λ
i
)
[
v
^
j
]
2
=
∫
a
b
f
(
t
)
d
α
(
t
)
.
(11)
\sum_{j=1}^{m}f(\lambda_{i})[\hat{v}_{j}]^{2}=\int_{a}^{b}f(t)d\alpha(t). \tag{11}
j=1∑mf(λi)[v^j]2=∫abf(t)dα(t).(11)
where the measure
α
(
t
)
\alpha(t)
α(t) is defined as:
α
(
t
)
=
{
0
,
if
t
<
λ
1
=
a
∑
j
=
1
i
[
v
^
j
]
2
,
if
λ
i
≤
t
<
λ
i
+
1
∑
j
=
1
m
[
v
^
j
]
2
,
if
b
=
λ
m
≤
t
.
\alpha(t)=\left\{\begin{array}{ll}0, & \text { if } t<\lambda_{1}=a \\ \sum_{j=1}^{i}\left[\hat{v}_{j}\right]^{2}, & \text { if } \lambda_{i} \leq t<\lambda_{i+1} \\ \sum_{j=1}^{m}\left[\hat{v}_{j}\right]^{2}, & \text { if } b=\lambda_{m} \leq t.\end{array}\right.
α(t)=⎩
⎨
⎧0,∑j=1i[v^j]2,∑j=1m[v^j]2, if t<λ1=a if λi≤t<λi+1 if b=λm≤t.
The integral in Equation (11) can be estimated using the Gauss quadrature,
∫
a
b
f
(
t
)
d
α
(
t
)
≈
∑
k
=
1
m
A
k
f
(
x
k
)
.
(12)
\int_{a}^{b}f(t)d\alpha(t)\approx \sum_{k=1}^{m}A_{k}f(x_{k}).\tag{12}
∫abf(t)dα(t)≈k=1∑mAkf(xk).(12)
As stated in the Theorem2,
{
p
k
}
k
=
1
m
+
1
\{p_{k}\}_{k=1}^{m+1}
{pk}k=1m+1 are orthonormal polynomial and the measure funciton is also
α
(
t
)
\alpha(t)
α(t).
Thus, the Gaussian quadrature nodes in (12) can be derived by caculating the zeros of polynomial
p
m
+
1
(
x
)
p_{m+1}(x)
pm+1(x) with degree of
m
m
m.
We can rewirte the three-term recurrence in Equation (8) in matrix form. Precisely, let
p
(
λ
)
=
[
p
1
(
λ
)
,
p
2
(
λ
)
,
⋯
,
p
k
(
λ
)
]
T
\mathbf{p}(\lambda)=[p_{1}(\lambda),p_{2}(\lambda),\cdots,p_{k}(\lambda)]^{T}
p(λ)=[p1(λ),p2(λ),⋯,pk(λ)]T and
p
0
(
λ
)
=
0
p_{0}(\lambda)=0
p0(λ)=0, then
λ
p
(
λ
)
=
p
(
λ
)
J
k
+
η
k
p
k
+
1
(
λ
)
e
k
T
.
(13)
\lambda \mathbf{p}(\lambda)=\mathbf{p}(\lambda) J_{k}+\eta_{k}p_{k+1}(\lambda)e_{k}^{T}. \tag{13}
λp(λ)=p(λ)Jk+ηkpk+1(λ)ekT.(13)
Then the zeros of
p
k
+
1
(
λ
)
p_{k+1}(\lambda)
pk+1(λ) are equal to the eigenvalues of
J
k
J_{k}
Jk.
Thus, the Gaussian quadrature nodes in (12) can be derived by caculating the eigenvalues of tridiagonal Jacobi matrix
J
m
J_{m}
Jm, where
J
m
J_{m}
Jm is derived by m-steps Lanczos algorithm associate with
A
A
A and
v
v
v.
Note: p k + 1 ( λ ) p_{k+1}(\lambda) pk+1(λ) is polynomial of degree k.
In conclusion, the Gauss point prolbem in Equation(12) can be get by the eigenvalues of J k J_{k} Jk which derived by Lanczos algorithm for matrix A A A and v v v.
References:
[1] Golub, G. H. and Meurant, G. Matrices, Moments and Quadrature with Applications, Princeton University Press, 2010.
[2] 孙志忠,袁慰平,闻震初. 数值分析(第3版),东南大学出版社.