| Version 31 (modified by , 10 years ago) ( diff ) |
|---|
A = {{a0, a1}, {a1, a2}}, b = {b0, b1}, x = {0, 0}
Step 1: r0 = b - Ax0
r[0] = b0
r[1] = b1
p0 = r0
Step 2: alpha0 = <r0, r0> / <p0, Ap0>
<p, Ap> = a0*b02 + 2*a1*b0*b1 + a2*b12
alpha0 = (b02+b12) / ((b12)*a2+2*(b1*b0*a1)+(b02)*a0)
Step 3: r1 = r0 - alpha0 * Ap0
r[0] = (-b1*(-a1*b02 + a0*b0*b1 - a2*b0*b1 + a1*b12)) / (a0*b02 + 2*a1*b0*b1 + a2*b12)
r[1] = (b0*(-a1*b02 + a0*b0*b1 - a2*b0*b1 + a1*b12)) / (a0*b02 + 2*a1*b0*b1 + a2*b12)
Step 4: x[i] = x + alpha*p
x[0] = (b0*(b02 + b12)) / (a0*b02 + 2*a1*b0*b1 + a2*b12)
x[1] = (b1*(b02 + b12)) / (a0*b02 + 2*a1*b0*b1 + a2*b12)
Step 5: beta = rsnew / rsold = <rk+1, rk+1> / <rk, rk>
rsnew = ((b02 + b12)*(-a1*b02 + a0*b0*b1 - a2*b0*b1 + a1*b12)2) / (a0*b02 + 2*a1*b0*b1 + a2*b12)2
beta = (a1*b02 - a0*b0*b1 + a2*b0*b1 - a1*b12)2 / (a0*b02 + 2*a1*b0*b1 + a2*b12)2
Step 6: p[i] = r[i] +beta * p
p[0] = (-1)*((a1*b0 + a2*b1)*(b02 + b12)*(-a1*b02 + a0*b0*b1 - a2*b0*b1 + a1*b12)) / (a0*b02 + 2*a1*b0*b1 + a2*b12)2
p[1] = ((a0*b0 + a1*b1)*(b02 + b12)*(-a1*b02 + a0*b0*b1 - a2*b0*b1 + a1*b12)) / (a0*b02 + 2*a1*b0*b1 + a2*b12)2
Step 7: alpha = (r[i]*r[i]) / (p[i]*A[i][j]*p[j])
p[i]*(A[i][j]*p[j]) = ((-a12 + a0*a2)*(b02 + b12)2*(-a1*b02 + a0*b0*b1 - a2*b0*b1 + a1*b12)2) / (a0*b02 + 2*a1*b0*b1 + a2*b12)3
alpha = (a0*b02 + 2*a1*b0*b1 + a2*b12) / ((-a12 + a0*a2) (b02 + b12))
Step 8: r[i] = r - alpha * A[i][j] * p[j]
r[0] = 0
r[1] = 0
Step 9: x[i] = x + alpha*p[i]
x[0] = (a2*b0 - a1*b1) / (a0*a2 - a12)
x[1] = (-a1*b0 + a0*b1) / (a0*a2 - a12)
assertion:
bncg[0] = A[0][0]*x[0] + A[0][1]*x[1] = a0*(a2*b0 - a1*b1) / (a0*a2 - a12) + a1*(-a1*b0 + a0*b1) / (a0*a2 - a12) = b0*(a0*a2 - a12) / (a0*a2 - a12) = b0
bncg[1] = A[1][0]*x[0] + A[1][1]*x[1] = a1*(a2*b0 - a1*b1) / (a0*a2 - a12) + a2*(-a1*b0 + a0*b1) / (a0*a2 - a12) = b1*(a0*a2 - a12) / (a0*a2 - a12) = b1
b[0] = b0
b[1] = b1
assert(bncg[i] == b[i])
END
Attachments (4)
-
2x2caseWithoutLoop.cvl
(3.1 KB
) - added by 10 years ago.
CG 2x2 case without loop
-
2x2caseSteps.pdf
(212.0 KB
) - added by 10 years ago.
cg2x2_ intermediateResult
-
2x2caseSimplified.pdf
(113.8 KB
) - added by 10 years ago.
Simplified steps of 2x2 case
- 2x2caseSimplifiedUpdate.pdf (106.8 KB ) - added by 10 years ago.
Download all attachments as: .zip
