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,, ('''No expansion''') r,,0,,[0] = b,,0,, r,,0,,[1] = b,,1,, Step 2: alpha,,0,, = / ('''No expansion''') = 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,, ('''No expansion''') r,,1,,[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,,[1] = (b,,1,,(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,,1,,b,,0,,+a,,2,,b,,1,,)) / (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,, + alpha,,0,,*p,,0,, ('''No expansion''') x,,1,,[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,,[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 = / ('''No expansion''') To make it simple to read, let's devote m = b,,0,,(a,,0,,b,,0,, + a,,1,,b,,1,,) + b,,1,,(a,,1,,b,,0,, + a,,2,,b,,1,,) rsnew = [b,,0,,m - (b,,0,,^2^+b,,1,,^2^)(a,,0,,b,,0,,+a,,1,,b,,1,,)]^2^ + [b,,1,,m - (b,,0,,^2^+b,,1,,^2^)(a,,1,,b,,0,,+a,,2,,b,,1,,)]^2^\\ ------------------------------------------------------------------------\\ m^2^ beta = [b,,0,,m - (b,,0,,^2^+b,,1,,^2^)(a,,0,,b,,0,,+a,,1,,b,,1,,)]^2^ + [b,,1,,m - (b,,0,,^2^+b,,1,,^2^)(a,,1,,b,,0,,+a,,2,,b,,1,,)]^2^\\ -------------------------------------------------------------------------\\ (b,,0,,^2^+b,,1,,^2^)m^2^ Step 6: p,,1,, = r,,1,, +beta*p,,0,, ('''No expansion''') p,,1,,[0] = m(b,,0,,^2^+b,,1,,^2^)[b,,0,,m - (b,,0,,^2^+b,,1,,^2^)(a,,0,,b,,0,,+a,,1,,b,,1,,)] + b,,0,,{[b,,0,,m - (b,,0,,^2^+b,,1,,^2^)(a,,0,,b,,0,,+a,,1,,b,,1,,)]^2^ + [b,,1,,m - (b,,0,,^2^+b,,1,,^2^)(a,,1,,b,,0,,+a,,2,,b,,1,,)]^2^}\\ ------------------------------------------------------------------------------------------------------------------------------------\\ (b,,0,,^2^+b,,1,,^2^)m^2^ p,,1,,[1] = m(b,,0,,^2^+b,,1,,^2^)[b,,1,,m - (b,,0,,^2^+b,,1,,^2^)(a,,1,,b,,0,,+a,,2,,b,,1,,)] + b,,1,,{[b,,0,,m - (b,,0,,^2^+b,,1,,^2^)(a,,0,,b,,0,,+a,,1,,b,,1,,)]^2^ + [b,,1,,m - (b,,0,,^2^+b,,1,,^2^)(a,,1,,b,,0,,+a,,2,,b,,1,,)]^2^}\\ ------------------------------------------------------------------------------------------------------------------------------------\\ (b,,0,,^2^+b,,1,,^2^)m^2^ Step 7: alpha,,1,, = / ('''No expansion''') = p,,1,,[0](a,,0,,p,,1,,[0]+a,,1,,p,,1,,[1]) + p,,1,,[1](a,,1,,p,,1,,[0]+a,,2,,p,,1,,[1]) alpha,,1,, = [b,,0,,m - (b,,0,,^2^+b,,1,,^2^)(a,,0,,b,,0,,+a,,1,,b,,1,,)]^2^ + [b,,1,,m - (b,,0,,^2^+b,,1,,^2^)(a,,1,,b,,0,,+a,,2,,b,,1,,)]^2^\\ ----------------------------------------------------------------------------\\ m^2^[p,,1,,[0](a,,0,,p,,1,,[0]+a,,1,,p,,1,,[1]) + p,,1,,[1](a,,1,,p,,1,,[0]+a,,2,,p,,1,,[1])] If expand and simplified: alpha,,1,, = (a,,0,,b,,0,,^2^+2a,,1,,b,,0,,b,,1,,+a,,2,,b,,1,,^2^) / [(a,,0,,a,,2,,-a,,1,,^2^)(b,,0,,^2^+b,,1,,^2^)] Step 8: r,,2,, = r,,1,, - alpha,,1,,*Ap,,1,, ('''Need to expand for cancellation''') r,,2,,[0] = r,,1,,[0] - alpha,,1,,*(A[0][0]*p1[0]+A[0][1]*p1[1]) r,,2,,[0] = m[b,,0,,m - (b,,0,,^2^+b,,1,,^2^)(a,,0,,b,,0,,+a,,1,,b,,1,,)][p,,1,,[0](a,,0,,p,,1,,[0]+a,,1,,p,,1,,[1]) + p,,1,,[1](a,,1,,p,,1,,[0]+a,,2,,p,,1,,[1])] - (a,,0,,p,,1,,[0]+a,,1,,p,,1,,[1]){[b,,0,,m - (b,,0,,^2^+b,,1,,^2^)(a,,0,,b,,0,,+a,,1,,b,,1,,)]^2^ + [b,,1,,m - (b,,0,,^2^+b,,1,,^2^)(a,,1,,b,,0,,+a,,2,,b,,1,,)]^2^}\\ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\\ m^2^[p,,1,,[0](a,,0,,p,,1,,[0]+a,,1,,p,,1,,[1]) + p,,1,,[1](a,,1,,p,,1,,[0]+a,,2,,p,,1,,[1])] r,,2,,[1] = r,,1,,[1] - alpha,,1,,*(A[1][0]*p1[0]+A[1][1]*p1[1]) r,,2,,[1] = m[b,,1,,m - (b,,0,,^2^+b,,1,,^2^)(a,,1,,b,,0,,+a,,2,,b,,1,,)][p,,1,,[0](a,,0,,p,,1,,[0]+a,,1,,p,,1,,[1]) + p,,1,,[1](a,,1,,p,,1,,[0]+a,,2,,p,,1,,[1])] - (a,,1,,p,,1,,[0]+a,,2,,p,,1,,[1]){[b,,0,,m - (b,,0,,^2^+b,,1,,^2^)(a,,0,,b,,0,,+a,,1,,b,,1,,)]^2^ + [b,,1,,m - (b,,0,,^2^+b,,1,,^2^)(a,,1,,b,,0,,+a,,2,,b,,1,,)]^2^}\\ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\\ m^2^[p,,1,,[0](a,,0,,p,,1,,[0]+a,,1,,p,,1,,[1]) + p,,1,,[1](a,,1,,p,,1,,[0]+a,,2,,p,,1,,[1])] Step 9: x,,2,, = x,,1,, + alpha,,1,,*p,,1,, If not expand: x,,2,,[0] = x,,1,,[0] + alpha,,1,,*p,,1,,[0] x,,2,,[0] = mb,,0,,(b,,0,,^2^+b,,1,,^2^)[p,,1,,[0](a,,0,,p,,1,,[0]+a,,1,,p,,1,,[1]) + p,,1,,[1](a,,1,,p,,1,,[0]+a,,2,,p,,1,,[1])] + p,,1,,[0]{[b,,0,,m - (b,,0,,^2^+b,,1,,^2^)(a,,0,,b,,0,,+a,,1,,b,,1,,)]^2^ + [b,,1,,m - (b,,0,,^2^+b,,1,,^2^)(a,,1,,b,,0,,+a,,2,,b,,1,,)]^2^}\\ ------------------------------------------------------------------------------------------------------------------------------------------------------------------\\ m^2^[p,,1,,[0](a,,0,,p,,1,,[0]+a,,1,,p,,1,,[1]) + p,,1,,[1](a,,1,,p,,1,,[0]+a,,2,,p,,1,,[1])] x,,2,,[1] = x,,1,,[1] + alpha,,1,,*p,,1,,[1] x,,2,,[1] = mb,,1,,(b,,0,,^2^+b,,1,,^2^)[p,,1,,[0](a,,0,,p,,1,,[0]+a,,1,,p,,1,,[1]) + p,,1,,[1](a,,1,,p,,1,,[0]+a,,2,,p,,1,,[1])] + p,,1,,[1]{[b,,0,,m - (b,,0,,^2^+b,,1,,^2^)(a,,0,,b,,0,,+a,,1,,b,,1,,)]^2^ + [b,,1,,m - (b,,0,,^2^+b,,1,,^2^)(a,,1,,b,,0,,+a,,2,,b,,1,,)]^2^}\\ ------------------------------------------------------------------------------------------------------------------------------------------------------------------\\ m^2^[p,,1,,[0](a,,0,,p,,1,,[0]+a,,1,,p,,1,,[1]) + p,,1,,[1](a,,1,,p,,1,,[0]+a,,2,,p,,1,,[1])] If expand and simplified: x,,2,,[0] = (a,,2,,b,,0,, - a,,1,,b,,1,,) / (a,,0,,a,,2,, - a,,1,,^2^) x,,2,,[1] = (a,,0,,b,,1,, - a,,1,,b,,0,,) / (a,,0,,a,,2,, - a,,1,,^2^) assertion: ('''Need to expand for cancellation''') bncg[0] = A[0][0]*x,,2,,[0] + A[0][1]*x,,2,,[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,,2,,[0] + A[1][1]*x,,2,,[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