estimates of error norms in the conjugate gradient algorithm · 2008. 10. 10. · we have to be...

37
Estimates of error norms in the conjugate gradient algorithm erard MEURANT October, 2008

Upload: others

Post on 30-Sep-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Estimates of error norms in the conjugate gradient algorithm · 2008. 10. 10. · We have to be careful in computing (J−1 k) (1,1) −(J −1 k−d) (1,1) Let j k = J−1 k e k

Estimates of error norms in the conjugategradient algorithm

Gerard MEURANT

October, 2008

Page 2: Estimates of error norms in the conjugate gradient algorithm · 2008. 10. 10. · We have to be careful in computing (J−1 k) (1,1) −(J −1 k−d) (1,1) Let j k = J−1 k e k

1 Error norms in solving linear systems

2 Formulas for the A–norm of the error in CG

3 Estimates of the A–norm of the error

4 Estimates of the l2 norm of the error

5 Relation with finite element problems

6 Numerical experiments

Page 3: Estimates of error norms in the conjugate gradient algorithm · 2008. 10. 10. · We have to be careful in computing (J−1 k) (1,1) −(J −1 k−d) (1,1) Let j k = J−1 k e k

Error norms in solving linear systems

Let A be an SPD matrix of order n and x an approximate solutionof

Ax = c

The residual r is defined as

r = c − Ax

The error ε being defined as ε = x − x

ε = A−1r

The A–norm of the error is

‖ε‖2A = εTAε = rTA−1AA−1r = rTA−1r

and the l2 norm is ‖ε‖2 = rTA−2r

Page 4: Estimates of error norms in the conjugate gradient algorithm · 2008. 10. 10. · We have to be careful in computing (J−1 k) (1,1) −(J −1 k−d) (1,1) Let j k = J−1 k e k

I [A, r ] = rTA−i r =

∫ b

aλ−i dα(λ)

Bounds can be obtained by running N iterations of the Lanczosalgorithm

‖r‖2(e1)T (JN)−ie1

However

CG ≡ Lanczos

therefore, it does not make to much sense to run Lanczos to boundthe error norm of CG!

What can we do for CG?

Page 5: Estimates of error norms in the conjugate gradient algorithm · 2008. 10. 10. · We have to be careful in computing (J−1 k) (1,1) −(J −1 k−d) (1,1) Let j k = J−1 k e k

Formulas for the A–norm of the error in CG

TheoremThe square of the A–norm of the error at CG iteration k is givenby

‖εk‖2A = ‖r0‖2[(J−1

n e1, e1)− (J−1k e1, e1)]

where n is the order of the matrix A and Jk is the Jacobi matrixof the Lanczos algorithm whose coefficients can be computed fromthose of CG. Moreover

‖εk‖2A = ‖r0‖2

n∑j=1

[(z j(n))1]

2

λj−

k∑j=1

[(z j(k))1]

2

θ(k)j

where z j

(k) is the jth normalized eigenvector of Jk corresponding

to the eigenvalue θ(k)j

Page 6: Estimates of error norms in the conjugate gradient algorithm · 2008. 10. 10. · We have to be careful in computing (J−1 k) (1,1) −(J −1 k−d) (1,1) Let j k = J−1 k e k

Proof.We have Aεk = rk = r0 − AVkyk where Vk is the matrix of theLanczos vectors and yk is the solution of Jkyk = ‖r0‖e1

‖εk‖2A = (Aεk , εk) = (A−1r0, r0)− 2(r0,Vkyk) + (AVkyk ,Vkyk)

But A−1Vn = VnJ−1n

r0 = ‖r0‖v1 = ‖r0‖Vne1

Therefore

A−1r0 = ‖r0‖A−1Vne1 = ‖r0‖VnJ

−1n e1

and

(A−1r0, r0) = ‖r0‖2(VnJ−1n e1,Vne

1) = ‖r0‖2(J−1n e1, e1)

Page 7: Estimates of error norms in the conjugate gradient algorithm · 2008. 10. 10. · We have to be careful in computing (J−1 k) (1,1) −(J −1 k−d) (1,1) Let j k = J−1 k e k

Since r0 = ‖r0‖v1 = ‖r0‖Vke1

(r0,Vkyk) = ‖r0‖2(e1, J−1k e1)

Finally

(AVkyk ,Vkyk) = (V Tk AVkyk , yk) = (Jkyk , yk) = ‖r0‖2(J−1

k e1, e1)

The second relation is obtained by using the spectraldecomposition of Jn and Jk

This formula is the link between CG and Gauss quadratureIt shows that the square of the A–norm of the error is theremainder of a Gauss quadrature rule for computing (A−1r0, r0)

Page 8: Estimates of error norms in the conjugate gradient algorithm · 2008. 10. 10. · We have to be careful in computing (J−1 k) (1,1) −(J −1 k−d) (1,1) Let j k = J−1 k e k

Estimates of the A–norm of the error

At CG iteration k we do not know (J−1n )1,1

Let d be a given delay integer, an approximation of the A–norm ofthe error at iteration k − d is obtained by

‖εk−d‖2A ≈ ‖r0‖2((J−1

k )(1,1) − (J−1k−d)(1,1))

This can also be understood as writing

‖εk−d‖2A − ‖εk‖2

A = ‖r0‖2((J−1k )(1,1) − (J−1

k−d)(1,1))

and supposing that ‖εk‖A is negligible against ‖εk−d‖A

Another interpretation is to consider that having a Gauss rule withk − d nodes at iteration k − d , we use another more precise Gaussquadrature with k nodes to estimate the error of the quadraturerule

Page 9: Estimates of error norms in the conjugate gradient algorithm · 2008. 10. 10. · We have to be careful in computing (J−1 k) (1,1) −(J −1 k−d) (1,1) Let j k = J−1 k e k

We have to be careful in computing (J−1k )(1,1) − (J−1

k−d)(1,1)

Let jk = J−1k ek be the last column of the inverse of Jk ; Using the

Sherman–Morrison formula

(J−1k+1)1,1 = (J−1

k )1,1 +η2k+1(jk jTk )1,1

αk+1 − η2k+1(jk)k

Cholesky factorization of Jk whose diagonal elements are δ1 = α1

and

δi = αi −η2i

δi−1, i = 2, . . . , k

Then

(jk)1 = (−1)k−1 η2 · · · ηk

δ1 · · · δk, (jk)k =

1

δk

Page 10: Estimates of error norms in the conjugate gradient algorithm · 2008. 10. 10. · We have to be careful in computing (J−1 k) (1,1) −(J −1 k−d) (1,1) Let j k = J−1 k e k

Let bk = (J−1k )1,1

bk = bk−1 + fk , fk =η2kc2

k−1

δk−1(αkδk−1 − η2k)

=c2k

δk

whereck =

η2 · · · ηk−1

δ1 · · · δk−2

ηk

δk−1= ck−1

ηk

δk−1

Since Jk is positive definite, fk > 0Moreover

ck =η2 · · · ηk

δ1 · · · δk−1=‖rk−1‖‖r0‖

and γk−1 = 1/δk where γk−1 is the CG parameter(=(rk−1, rk−1)/(pk−1,Apk−1))

Page 11: Estimates of error norms in the conjugate gradient algorithm · 2008. 10. 10. · We have to be careful in computing (J−1 k) (1,1) −(J −1 k−d) (1,1) Let j k = J−1 k e k

Therefore

‖εk−d‖2A ≈

k−1∑j=k−d

γj‖r j‖2

This gives a lower bound of the error norm

Other bounds can be obtained with the Gauss–Radau andGauss–Lobatto quadrature rules

Algorithm CGQLLet x0 be given, r0 = b − Ax0, p0 = r0, β0 = 0, α−1 = 1, c1 = 1For k = 1, . . . until convergence

γk−1 =(rk−1, rk−1)

(pk−1,Apk−1)

αk =1

γk−1+

βk−1

γk−2

Page 12: Estimates of error norms in the conjugate gradient algorithm · 2008. 10. 10. · We have to be careful in computing (J−1 k) (1,1) −(J −1 k−d) (1,1) Let j k = J−1 k e k

CGQL (2)if k = 1 —————————————————–

f1 =1

α1

δ1 = α1

δ1 = α1 − λm

δ1 = α1 − λM

else ——————————————————–

ck = ck−1ηk

δk−1=‖rk−1‖‖r0‖

δk = αk −η2k

δk−1=

1

γk−1

fk =η2kc2

k−1

δk−1(αkδk−1 − η2k)

= γk−1c2k

Page 13: Estimates of error norms in the conjugate gradient algorithm · 2008. 10. 10. · We have to be careful in computing (J−1 k) (1,1) −(J −1 k−d) (1,1) Let j k = J−1 k e k

CGQL (3)

δk = αk − λm −η2k

δk−1= αk − αk−1

δk = αk − λM −η2k

δk−1

= αk − αk−1

end ———————————————————

xk = xk−1 + γk−1pk−1

rk = rk−1 − γk−1Apk−1

βk =(rk , rk)

(rk−1, rk−1)

ηk+1 =

√βk

γk−1

pk = rk + βkpk−1

Page 14: Estimates of error norms in the conjugate gradient algorithm · 2008. 10. 10. · We have to be careful in computing (J−1 k) (1,1) −(J −1 k−d) (1,1) Let j k = J−1 k e k

CGQL (4)

αk = λm +η2k+1

δk

αk = λM +η2k+1

δk

αk =δkδk

δk − δk

(λM

δk− λm

δk

)η2k+1 =

δkδk

δk − δk(λM − λm)

fk =η2k+1c

2k

δk(αkδk − η2k+1)

f k =η2k+1c

2k

δk(αkδk − η2k+1)

fk =η2k+1c

2k

δk(αkδk − η2k+1)

Page 15: Estimates of error norms in the conjugate gradient algorithm · 2008. 10. 10. · We have to be careful in computing (J−1 k) (1,1) −(J −1 k−d) (1,1) Let j k = J−1 k e k

CGQL (5)

if k > d —————————————————–

gk =k∑

j=k−d+1

fj

sk−d = ‖r0‖2gk

sk−d = ‖r0‖2(gk + fk)

sk−d = ‖r0‖2(gk + f k)

sk−d = ‖r0‖2(gk + fk)

end ———————————————————–

Page 16: Estimates of error norms in the conjugate gradient algorithm · 2008. 10. 10. · We have to be careful in computing (J−1 k) (1,1) −(J −1 k−d) (1,1) Let j k = J−1 k e k

Proposition

Let Jk , Jk , Jk and Jk be the tridiagonal matrices of the Gauss,Gauss–Radau (with b and a as prescribed nodes) and theGauss–Lobatto rulesThen, if 0 < a = λm ≤ λmin(A) and b = λM ≥ λmax(A),‖r0‖(J−1

k )1,1, ‖r0‖(J−1k )1,1 are lower bounds of ‖e0‖2

A = r0A−1r0,

‖r0‖(J−1k )1,1 and ‖r0‖(J−1

k )1,1 are upper bounds of r0A−1r0

TheoremAt iteration number k of CGQL, sk−d and sk−d are lower boundsof ‖εk−d‖2

A, sk−d and sk−d are upper bounds of ‖εk−d‖2A

Page 17: Estimates of error norms in the conjugate gradient algorithm · 2008. 10. 10. · We have to be careful in computing (J−1 k) (1,1) −(J −1 k−d) (1,1) Let j k = J−1 k e k

Preconditioned CG

For the preconditioned CG algorithm, the formula to consider is

‖εk‖2A = (z0, r0)((J−1

n )1,1 − (J−1k )1,1)

where Mz0 = r0, M being the preconditioner, a symmetricpositive definite matrix that is chosen to speed up the convergence

The Gauss rule estimate is

‖εk−d‖2A ≈

k−1∑j=k−d

γj(zj , r j)

Page 18: Estimates of error norms in the conjugate gradient algorithm · 2008. 10. 10. · We have to be careful in computing (J−1 k) (1,1) −(J −1 k−d) (1,1) Let j k = J−1 k e k

Estimates of the l2 norm of the error

Theorem

‖εk‖2 = ‖r0‖2[(e1, J−2n e1)− (e1, J−2

k e1)]

+ (−1)k2ηk+1‖r0‖‖rk‖

(ek , J−2k e1)‖εk‖2

A

Corollary

‖εk‖2 = ‖r0‖2[(e1, J−2n e1)− (e1, J−2

k e1)]− 2(ek , J−2

k e1)

(ek , J−1k e1)

‖εk‖2A

This can be computed introducing a delay and using a QRfactorization of Jk

Page 19: Estimates of error norms in the conjugate gradient algorithm · 2008. 10. 10. · We have to be careful in computing (J−1 k) (1,1) −(J −1 k−d) (1,1) Let j k = J−1 k e k

Relation with finite element problems

Suppose we want to solve a PDE

Lu = f in Ω

Ω being a two or three–dimensional bounded domain, withappropriate boundary conditions on Γ the boundary of ΩAs a simple example, consider the PDE

−∆u = f , u|Γ = 0

This problem is naturally formulated in the Hilbert space H10 (Ω)

a(u, v) = (f , v), ∀v ∈ V = H10 (Ω)

where a(u, v) is a self–adjoint bilinear form

Page 20: Estimates of error norms in the conjugate gradient algorithm · 2008. 10. 10. · We have to be careful in computing (J−1 k) (1,1) −(J −1 k−d) (1,1) Let j k = J−1 k e k

a(u, v) =

∫Ω∇u · ∇v dx

and

(f , v) =

∫Ω

fv dx

There is a unique solution u ∈ H10 (Ω)

The approximate solution is sought in a finite dimensionalsubspace Vh ⊂ V as

a(uh, vh) = (f , vh), ∀vh ∈ Vh

The simplest method triangulates the domain Ω (with triangles ortetrahedrons of maximal diameter h) and uses functions which arelinear on each element

Page 21: Estimates of error norms in the conjugate gradient algorithm · 2008. 10. 10. · We have to be careful in computing (J−1 k) (1,1) −(J −1 k−d) (1,1) Let j k = J−1 k e k

Using basis functions φi which are piecewise linear and have avalue 1 at vertex i and 0 at all the other vertices

vh(x) =n∑

j=1

vjφj(x)

The approximated problem is equivalent to a linear systemAu = c , where

[A]i ,j = a(φi , φj), ci = (f , φi )

The matrix A is symmetric and positive definite. The solution ofthe finite dimensional problem is

uh(x) =n∑

j=1

ujφj(x)

We use CG to solve the linear system

Page 22: Estimates of error norms in the conjugate gradient algorithm · 2008. 10. 10. · We have to be careful in computing (J−1 k) (1,1) −(J −1 k−d) (1,1) Let j k = J−1 k e k

We have two sources of errors, the difference between the exactand approximate solution u − uh and uh − u

(k)h , the difference

between the approximate solution and its CG computed value (notspeaking of rounding errors)

Of course, we desire the components of u − u(k)h to be small. This

depends on h and on the CG stopping criterionThe problem of finding an appropriate stopping criterion has beenstudied by Arioli and alLet ‖v‖2

a = a(v , v) and u∗h ∈ Vh be such that

‖uh − u∗h‖2a ≤ h2t‖uh‖2

a

Then

‖u − u∗h‖a ≤ ‖u − uh‖a + ‖uh − u∗h‖≤ ht‖u‖a + (1 + ht)‖u − uh‖a

Page 23: Estimates of error norms in the conjugate gradient algorithm · 2008. 10. 10. · We have to be careful in computing (J−1 k) (1,1) −(J −1 k−d) (1,1) Let j k = J−1 k e k

If t > 0 and h < 1

‖u − u∗h‖a ≤ ht‖u‖a + 2‖u − uh‖a

Therefore, if u∗h = u(k)h and we choose ‖uh − u∗h‖a such that

ht‖u‖a is of the same order as ‖u − uh‖a we have

‖u − u∗h‖a ≈ ‖u − uh‖a

We have‖v (k)

h ‖a = ‖vk‖A

Let ζk be an estimate of ‖εk‖2A, Arioli’s stopping test is

If ζk ≤ η2((uk)T r0 + cTu0) then stop

The parameter η is chosen as h or η2 as the maximum area of thetriangles in 2D

Page 24: Estimates of error norms in the conjugate gradient algorithm · 2008. 10. 10. · We have to be careful in computing (J−1 k) (1,1) −(J −1 k−d) (1,1) Let j k = J−1 k e k

Numerical experiments

0 20 40 60 80 100 120 140 160 180 200−16

−14

−12

−10

−8

−6

−4

−2

0

2

F3, d = 1, log10 of the A–norm of the error (plain), Gauss (dashed),

Gauss–Radau(λmin) (dot–dashed)

Page 25: Estimates of error norms in the conjugate gradient algorithm · 2008. 10. 10. · We have to be careful in computing (J−1 k) (1,1) −(J −1 k−d) (1,1) Let j k = J−1 k e k

40 45 50 55 60 65 70 75 80 85

−4

−3.5

−3

−2.5

−2

−1.5

−1

−0.5

F3, d = 5, zoom of log10 of the A–norm of the error (plain), Gauss

(dashed), Gauss–Radau (dot–dashed)

Page 26: Estimates of error norms in the conjugate gradient algorithm · 2008. 10. 10. · We have to be careful in computing (J−1 k) (1,1) −(J −1 k−d) (1,1) Let j k = J−1 k e k

For the Gauss–Radau upper bound we use a value of a = 0.02whence the smallest eigenvalue is λmin = 0.025

0 20 40 60 80 100 120 140−16

−14

−12

−10

−8

−6

−4

−2

0

2

4

F4, n = 900, d = 1, log10 of the A–norm of the error (plain), Gauss

(dashed), Gauss–Radau (dot–dashed)

Page 27: Estimates of error norms in the conjugate gradient algorithm · 2008. 10. 10. · We have to be careful in computing (J−1 k) (1,1) −(J −1 k−d) (1,1) Let j k = J−1 k e k

Adaptive algorithm for the smallest eigenvalue

0 20 40 60 80 100 120 140−15

−10

−5

0

5

10

F4, n = 900, d = 1, est.of λmin, log10 of the A–norm of the error (plain),

Gauss (dashed), Gauss–Radau (dot–dashed)

Page 28: Estimates of error norms in the conjugate gradient algorithm · 2008. 10. 10. · We have to be careful in computing (J−1 k) (1,1) −(J −1 k−d) (1,1) Let j k = J−1 k e k

Another example

−div(λ(x , y)∇u) = f , u|Γ = 0

Finite differences in the unit square

λ(x , y) =1

(2 + p sin xη )(2 + p sin y

η )

We use p = 1.8 and η = 0.1We compute f such that the solution is u(x , y) = sin(πx) sin(πy)

Page 29: Estimates of error norms in the conjugate gradient algorithm · 2008. 10. 10. · We have to be careful in computing (J−1 k) (1,1) −(J −1 k−d) (1,1) Let j k = J−1 k e k

0 50 100 150 200 250 300 350 400 450 500−8

−6

−4

−2

0

2

4

CG2, d = 1, n = 10000, log10 of the A–norm of the error (plain), Gauss

(dashed), Gauss–Radau (dot–dashed), a = 10−4, λmin = 2.3216 10−4

Page 30: Estimates of error norms in the conjugate gradient algorithm · 2008. 10. 10. · We have to be careful in computing (J−1 k) (1,1) −(J −1 k−d) (1,1) Let j k = J−1 k e k

0 10 20 30 40 50 60 70 80 90 100−6

−5

−4

−3

−2

−1

0

1

2

3

4

CG2, d = 1, n = 10000, IC(0), log10 of the A–norm of the error (plain),

Gauss (dashed)

Page 31: Estimates of error norms in the conjugate gradient algorithm · 2008. 10. 10. · We have to be careful in computing (J−1 k) (1,1) −(J −1 k−d) (1,1) Let j k = J−1 k e k

Since we are using finite difference and we have multiplied theright hand side by h2, we modify the Arioli’s criteria to

If ζk ≤ 0.1 ∗ (1/n)2((xk)T r0 + cT x0) then stop

where ζk is an estimate of ‖εk‖2A

When using n = 10000, the A–norm of the difference between the“exact” solution of the linear system (obtained by Gaussianelimination) and the discretization of u is nu = 5.6033 10−5

With the stopping criterion, we do 226 iterations and we havenx = 9.5473 10−5

Using an incomplete Cholesky preconditioner IC(0) we do 47iterations and obtain nx = 5.6033 10−5

Page 32: Estimates of error norms in the conjugate gradient algorithm · 2008. 10. 10. · We have to be careful in computing (J−1 k) (1,1) −(J −1 k−d) (1,1) Let j k = J−1 k e k

Anti–Gauss estimates

I Anti–Gauss quadrature rules can also be used to obtainestimates of the A–norm of the error

I Using the anti–Gauss rule is interesting since it does not needany estimate of the smallest eigenvalue of A

I Anti–Gauss estimates may fail since sometimes we have totake square roots of negative values

We use the generalized anti–Gauss rule with a parameter γ:

I We start from a value γ0

I When at some iteration we find a value δk < 0 in theCholesky factorization of the Jacobi matrix we decrease thevalue of γ until we find a positive definite matrix

I At most we will find γ = 0 and recover the Gauss rule

Page 33: Estimates of error norms in the conjugate gradient algorithm · 2008. 10. 10. · We have to be careful in computing (J−1 k) (1,1) −(J −1 k−d) (1,1) Let j k = J−1 k e k

0 20 40 60 80 100 120−12

−10

−8

−6

−4

−2

0

2

4

F4, d = 1, n = 900, log10 of the A–norm of the error (plain), anti–Gauss

γ0 = 1 (dashed), γ0 = 0.7 (dot–dashed)

Page 34: Estimates of error norms in the conjugate gradient algorithm · 2008. 10. 10. · We have to be careful in computing (J−1 k) (1,1) −(J −1 k−d) (1,1) Let j k = J−1 k e k

Bound of the l2 norm of the error

0 20 40 60 80 100 120 140−16

−14

−12

−10

−8

−6

−4

−2

0

2

4

F4, d = 1, n = 900, log10 of the l2 norm of the error (plain), Gauss

(dashed)

Page 35: Estimates of error norms in the conjugate gradient algorithm · 2008. 10. 10. · We have to be careful in computing (J−1 k) (1,1) −(J −1 k−d) (1,1) Let j k = J−1 k e k

G. Dahlquist, S.C. Eisenstat and G.H. Golub,Bounds for the error of linear systems of equations using thetheory of moments, J. Math. Anal. Appl., v 37, (1972),pp 151–166

G. Dahlquist, G.H. Golub and S.G. Nash, Bounds forthe error in linear systems. In Proc. of the Workshop onSemi–Infinite Programming, R. Hettich Ed., Springer (1978),pp 154–172

D. Calvetti, L. Reichel and F. Sgallari, Applicationof anti–Gauss rules in linear algebra, in Applications andComputation of Orthogonal Polynomials, W. Gautschi,G.H. Golub and G. Opfer Eds, Birkhauser, (1999), pp 41–56

D. Calvetti, S. Morigi, L. Reichel and F. Sgallari,Computable error bounds and estimates for the conjugategradient method, Numer. Algo., v 25, (2000), pp 79–88

B. Fischer and G.H. Golub, On the error computationfor polynomial based iteration methods, in Recent advances in

Page 36: Estimates of error norms in the conjugate gradient algorithm · 2008. 10. 10. · We have to be careful in computing (J−1 k) (1,1) −(J −1 k−d) (1,1) Let j k = J−1 k e k

iterative methods, A. Greenbaum and M. Luskin Eds.,Springer, (1993)

G.H. Golub and G. Meurant, Matrices, moments andquadrature, in Numerical Analysis 1993, D.F. Griffiths andG.A. Watson eds., Pitman Research Notes in Mathematics,v 303, (1994), pp 105–156

G.H. Golub and G. Meurant, Matrices, moments andquadrature II or how to compute the norm of the error initerative methods, BIT, v 37 n 3, (1997), pp 687–705

G.H. Golub and Z. Strakos, Estimates in quadraticformulas, Numer. Algo., v 8, n II–IV, (1994)

M.R. Hestenes and E. Stiefel, Methods of conjugategradients for solving linear systems, J. Nat. Bur. Stand., v 49n 6, (1952), pp 409–436

G. Meurant, The computation of bounds for the norm ofthe error in the conjugate gradient algorithm, Numer. Algo.,v 16, (1997), pp 77–87

Page 37: Estimates of error norms in the conjugate gradient algorithm · 2008. 10. 10. · We have to be careful in computing (J−1 k) (1,1) −(J −1 k−d) (1,1) Let j k = J−1 k e k

G. Meurant, Numerical experiments in computing boundsfor the norm of the error in the preconditioned conjugategradient algorithm, Numer. Algo., v 22, (1999), pp 353–365

G. Meurant, Estimates of the l2 norm of the error in theconjugate gradient algorithm, Numer. Algo., v 40 n 2, (2005),pp 157–169

G. Meurant, The Lanczos and Conjugate Gradientalgorithms, from theory to finite precision computations,SIAM, (2006)

Z. Strakos and P. Tichy, On error estimates in theconjugate gradient method and why it works in finite precisioncomputations, Elec. Trans. Numer. Anal., v 13, (2002),pp 56–80

Z. Strakos and P. Tichy, Error estimation inpreconditioned conjugate gradients, BIT NumericalMathematics, v 45, (2005), pp 789–817