connection between cg 5.2 and pcg 5struther/courses/old/sp2013/... · in[229]:= cg52@8a_, b_

4
Connection between CG 5.2 and PCG 5.3 5.2

Upload: others

Post on 27-Jun-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Connection between CG 5.2 and PCG 5struther/Courses/OLD/Sp2013/... · In[229]:= CG52@8A_, b_

Connection between

CG 5.2 and PCG 5.3

5.2

Page 2: Connection between CG 5.2 and PCG 5struther/Courses/OLD/Sp2013/... · In[229]:= CG52@8A_, b_

In[229]:= CG52@8A_, b_<, x0_D := ModuleB8r, p, x, Α, Β, k, MaxIter = Length@x0D<,r = p = x = 0 * Table@x0, 8MaxIter + 1<D;Α = Β = Table@0, 8MaxIter + 1<D;xP1T = x0;

rP1T = A.xP1T - b;

pP1T = -rP1T;DoB

ΑPkT =

rPkT.rPkTpPkT.A.pPkT

;

xPk + 1T = xPkT + ΑPkT pPkT;rPk + 1T = rPkT + ΑPkT A.pPkT;

ΒPk + 1T =

rPk + 1T.rPk + 1TrPkT.rPkT

;

pPk + 1T = -rPk + 1T + ΒPk + 1T pPkT,8k, 1, MaxIter<

F;8x, p, r, Α, Β<

F

CG53@8A_, b_, M_<, x0_D := ModuleB8r, p, x, y, Α, Β, k, MaxIter = Length@x0D<,r = p = x = y = 0 * Table@x0, 8MaxIter + 1<D;Α = Β = Table@0, 8MaxIter + 1<D;xP1T = x0;

rP1T = A.xP1T - b;

yP1T = LinearSolve@M, rP1TD;pP1T = -yP1T;DoB

ΑPkT =

rPkT.rPkTpPkT.A.pPkT

;

xPk + 1T = xPkT + ΑPkT pPkT;rPk + 1T = rPkT + ΑPkT A.pPkT;yPk + 1T = LinearSolve@M, rPk + 1TD;

ΒPk + 1T =

rPk + 1T.yPk + 1TrPkT.yPkT

;

pPk + 1T = -yPk + 1T + ΒPk + 1T pPkT,8k, 1, MaxIter<

F;8x, p, r, y, Α, Β<

F

2 PreconditionedCG.nb

Page 3: Connection between CG 5.2 and PCG 5struther/Courses/OLD/Sp2013/... · In[229]:= CG52@8A_, b_

In[297]:= n = 10;

8ANonSym, PreCondC< = RandomReal@8-1, 1<, 82, n, n<D;A = ANonSym.Transpose@ANonSymD;b = RandomReal@8-1, 1<, nD;M = [email protected];CInv = Inverse@PreCondCD;AHat = [email protected];bHat = [email protected];8x53, p53, r53, y53, Α53, Β53< = CG53@8A, b, M<, PreCondC.x0D;8x52, p52, r52, Α52, Β52< = CG52@8AHat, bHat<, x0D;GraphicsRow@8MatrixPlot@x53D, MatrixPlot@x52D<DListPlot@Map@Norm, r53DD

Out[307]=

1 2 3 4 5 6 7 8 9 10

1

2

4

6

8

10

11

1 2 3 4 5 6 7 8 9 10

1

2

4

6

8

10

11

1 2 3 4 5 6 7 8 9 10

1

2

4

6

8

10

11

1 2 3 4 5 6 7 8 9 10

1

2

4

6

8

10

11

Out[308]=

2 4 6 8 10

6.45

6.50

6.55

6.60

6.65

PreconditionedCG.nb 3

Page 4: Connection between CG 5.2 and PCG 5struther/Courses/OLD/Sp2013/... · In[229]:= CG52@8A_, b_

In[310]:= ListPlot@Map@Norm, r52DD

Out[310]=

2 4 6 8 10

1

2

3

4

5

4 PreconditionedCG.nb