A = {{a,,0,,, a,,1,,}, {a,,1,,, a,,2,,}}, b = {b,,0,,, b,,1,,}, x,,0,, = {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,,1,, = x,,0,, + alpha*p,,0,, 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,,1,, = r,,1,, +beta * p,,0,, 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,,1,, = / = ((-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,,1,, = (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,,2,, = r,,1,, - alpha,,1,, * Ap,,1,, r[0] = 0 r[1] = 0 Step 9: x,,2,, = x,,1,, + alpha,,1,,*p,,1,, 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