m=2;
A= RandomReal[{-1,1}, {m,m}]+ m IdentityMatrix[m];
A=A+Transpose[A];
Eigenvalues[A]
MatrixForm[A]

Quad[x_]:= 1/2 x.A.x
GradQuad[x_]:=A.x
B0=IdentityMatrix[m];
x0={1.2,3.4}
f0=Quad[x0];
Df0=GradQuad[x0];
x1 = x0 - 0.3 GradQuad[x0];
Df1=GradQuad[x1];
Plot[
Quad[x0 - α GradQuad[x0]],
{α,0,0.3},
AxesLabel->{"α","f"}
]

ContourPlot[Quad[ {x1,x2}],{x1, -4,4},{x2,-4,4},
Epilog->{Red, Point[x0], Arrow[{x0,x1}]}
]

y1=Df1-Df0
s1 =x1-x0
B =Array[b,{2,2}]
Solve[
{
B.s1==y1,
b[1,2]==b[2,1]
}
]

ρ=1/(y1.s1)
B1 = (IdentityMatrix[m]-ρ Outer[Times, y1,s1]).B0.(IdentityMatrix[m]-ρ Outer[Times, s1,y1]) + ρ Outer[Times,y1,y1]

x2=LinearSolve[ B1, -Df1]
Df2=GradQuad[x2]
y2=Df2-Df1
s2 =x2-x1
ρ2=1/(y2.s2)
B2 = (IdentityMatrix[m]-ρ2 Outer[Times, y2,s2]).B1.(IdentityMatrix[m]-ρ2 Outer[Times, s2,y2]) + ρ2 Outer[Times,y2,y2]

A

{B1.s1,y1}