A = {{a,,0,,, a,,1,,}, {a,,1,,, a,,2,,}}, b = {b,,0,,, b,,1,,}, x = {0, 0} Step 1: r,,0,, = b - Ax,,0,, r[0] = b,,0,, r[1] = b,,1,, p,,0,, = r,,0,, Step 2: alpha,,0,, = / = a,,0,,*b,,0,,^2^ + 2*a,,1,,*b,,0,,*b,,1,, + a,,2,,*b,,1,,^2^ alpha,,0,, = (b,,0,,^2^+b,,1,,^2^) / ((b,,1,,^2^)*a,,2,,+2*(b,,1,,*b,,0,,*a,,1,,)+(b,,0,,^2^)*a,,0,,) Step 3: r,,1,, = r,,0,, - alpha,,0,, * Ap,,0,, r[0] = (-b,,1,,*(-a,,1,,*b,,0,,^2^ + a,,0,,*b,,0,,*b,,1,, - a,,2,,*b,,0,,*b,,1,, + a,,1,,*b,,1,,^2^)) / (a,,0,,*b,,0,,^2^ + 2*a,,1,,*b,,0,,*b,,1,, + a,,2,,*b,,1,,^2^) r[1] = (b,,0,,*(-a,,1,,*b,,0,,^2^ + a,,0,,*b,,0,,*b,,1,, - a,,2,,*b,,0,,*b,,1,, + a,,1,,*b,,1,,^2^)) / (a,,0,,*b,,0,,^2^ + 2*a,,1,,*b,,0,,*b,,1,, + a,,2,,*b,,1,,^2^) Step 4: x[i] = x + alpha*p x[0] = (b,,0,,*(b,,0,,^2^ + b,,1,,^2^)) / (a,,0,,*b,,0,,^2^ + 2*a,,1,,*b,,0,,*b,,1,, + a,,2,,*b,,1,,^2^) x[1] = (b,,1,,*(b,,0,,^2^ + b,,1,,^2^)) / (a,,0,,*b,,0,,^2^ + 2*a,,1,,*b,,0,,*b,,1,, + a,,2,,*b,,1,,^2^) Step 5: beta = rsnew / rsold = / rsnew = ((b,,0,,^2^ + b,,1,,^2^)*(-a,,1,,*b,,0,,^2^ + a,,0,,*b,,0,,*b,,1,, - a,,2,,*b,,0,,*b,,1,, + a,,1,,*b,,1,,^2^)^2^) / (a,,0,,*b,,0,,^2^ + 2*a,,1,,*b,,0,,*b,,1,, + a,,2,,*b,,1,,^2^)^2^ beta = (a,,1,,*b,,0,,^2^ - a,,0,,*b,,0,,*b,,1,, + a,,2,,*b,,0,,*b,,1,, - a,,1,,*b,,1,,^2^)^2^ / (a,,0,,*b,,0,,^2^ + 2*a,,1,,*b,,0,,*b,,1,, + a,,2,,*b,,1,,^2^)^2^ Step 6: p[i] = r[i] +beta * p p[0] = (-1)*((a,,1,,*b,,0,, + a,,2,,*b,,1,,)*(b,,0,,^2^ + b,,1,,^2^)*(-a,,1,,*b,,0,,^2^ + a,,0,,*b,,0,,*b,,1,, - a,,2,,*b,,0,,*b,,1,, + a,,1,,*b,,1,,^2^)) / (a,,0,,*b,,0,,^2^ + 2*a,,1,,*b,,0,,*b,,1,, + a,,2,,*b,,1,,^2^)^2^ p[1] = ((a,,0,,*b,,0,, + a,,1,,*b,,1,,)*(b,,0,,^2^ + b,,1,,^2^)*(-a,,1,,*b,,0,,^2^ + a,,0,,*b,,0,,*b,,1,, - a,,2,,*b,,0,,*b,,1,, + a,,1,,*b,,1,,^2^)) / (a,,0,,*b,,0,,^2^ + 2*a,,1,,*b,,0,,*b,,1,, + a,,2,,*b,,1,,^2^)^2^ Step 7: alpha = (r[i]*r[i]) / (p[i]*A[i][j]*p[j]) p[i]*(A[i][j]*p[j]) = ((-a,,1,,^2^ + a,,0,,*a,,2,,)*(b,,0,,^2^ + b,,1,,^2^)^2^*(-a,,1,,*b,,0,,^2^ + a,,0,,*b,,0,,*b,,1,, - a,,2,,*b,,0,,*b,,1,, + a,,1,,*b,,1,,^2^)^2^) / (a,,0,,*b,,0,,^2^ + 2*a,,1,,*b,,0,,*b,,1,, + a,,2,,*b,,1,,^2^)^3^ alpha = (a,,0,,*b,,0,,^2^ + 2*a,,1,,*b,,0,,*b,,1,, + a,,2,,*b,,1,,^2^) / ((-a,,1,,^2^ + a,,0,,*a,,2,,) (b,,0,,^2^ + b,,1,,^2^)) 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] = (a,,2,,*b,,0,, - a,,1,,*b,,1,,) / (a,,0,,*a,,2,, - a,,1,,^2^) x[1] = (-a,,1,,*b,,0,, + a,,0,,*b,,1,,) / (a,,0,,*a,,2,, - a,,1,,^2^) assertion: bncg[0] = A[0][0]*x[0] + A[0][1]*x[1] = a,,0,,*(a,,2,,*b,,0,, - a,,1,,*b,,1,,) / (a,,0,,*a,,2,, - a,,1,,^2^) + a,,1,,*(-a,,1,,*b,,0,, + a,,0,,*b,,1,,) / (a,,0,,*a,,2,, - a,,1,,^2^) = b,,0,,*(a,,0,,*a,,2,, - a,,1,,^2^) / (a,,0,,*a,,2,, - a,,1,,^2^) = b,,0,, bncg[1] = A[1][0]*x[0] + A[1][1]*x[1] = a,,1,,*(a,,2,,*b,,0,, - a,,1,,*b,,1,,) / (a,,0,,*a,,2,, - a,,1,,^2^) + a,,2,,*(-a,,1,,*b,,0,, + a,,0,,*b,,1,,) / (a,,0,,*a,,2,, - a,,1,,^2^) = b,,1,,*(a,,0,,*a,,2,, - a,,1,,^2^) / (a,,0,,*a,,2,, - a,,1,,^2^) = b,,1,, b[0] = b,,0,, b[1] = b,,1,, assert(bncg[i] == b[i]) END