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,,; p,,0,, = r,,0,, r[0] = b,,0,, r[1] = b,,1,, Step 2: alpha,,0,, = / = b,,0,,(a,,0,,b,,0,, + a,,1,,b,,1,,) + b,,1,,(a,,1,,b,,0,, + a,,2,,b,,1,,) alpha,,0,, = (b,,0,,^2^+b,,1,,^2^) / (b,,0,,(a,,0,,b,,0,, + a,,1,,b,,1,,) + b,,1,,(a,,1,,b,,0,, + a,,2,,b,,1,,)) Step 3: r,,1,, = r,,0,, - alpha,,0,, Ap,,0,, r[0] = (b,,0,,(b,,0,,(a,,0,,b,,0,, + a,,1,,b,,1,,) + b,,1,,(a,,1,,b,,0,, + a,,2,,b,,1,,)) - (b,,0,,^2^+b,,1,,^2^)(a,,0,,b,,0,,+a,,1,,b,,1,,)) / (b,,0,,(a,,0,,b,,0,, + a,,1,,b,,1,,) + b,,1,,(a,,1,,b,,0,, + a,,2,,b,,1,,)) 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^)) / (b,,0,,(a,,0,,b,,0,, + a,,1,,b,,1,,) + b,,1,,(a,,1,,b,,0,, + a,,2,,b,,1,,)) Step 4: x,,1,, = x,,0,, + alphap,,0,, x[0] = (b,,0,,(b,,0,,^2^ + b,,1,,^2^)) / (b,,0,,(a,,0,,b,,0,, + a,,1,,b,,1,,) + b,,1,,(a,,1,,b,,0,, + a,,2,,b,,1,,)) x[1] = (b,,1,,(b,,0,,^2^ + b,,1,,^2^)) / (b,,0,,(a,,0,,b,,0,, + a,,1,,b,,1,,) + b,,1,,(a,,1,,b,,0,, + a,,2,,b,,1,,)) 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^) / (b,,0,,(a,,0,,b,,0,, + a,,1,,b,,1,,) + b,,1,,(a,,1,,b,,0,, + a,,2,,b,,1,,))^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^ / (b,,0,,(a,,0,,b,,0,, + a,,1,,b,,1,,) + b,,1,,(a,,1,,b,,0,, + a,,2,,b,,1,,))^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^)) / (b,,0,,(a,,0,,b,,0,, + a,,1,,b,,1,,) + b,,1,,(a,,1,,b,,0,, + a,,2,,b,,1,,))^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^)) / (b,,0,,(a,,0,,b,,0,, + a,,1,,b,,1,,) + b,,1,,(a,,1,,b,,0,, + a,,2,,b,,1,,))^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^) / (b,,0,,(a,,0,,b,,0,, + a,,1,,b,,1,,) + b,,1,,(a,,1,,b,,0,, + a,,2,,b,,1,,))^3^ alpha,,1,, = (a,,0,,b,,0,,^2^ + 2a,,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