Theorem 6.3

Theorem 6.3 says that for a quadratic Positive Definite function
	f=b.x+(1/2)x.A.x
 that the BFGS update gives interesting behavior of the eigenvalues of 
 	(A^(1/2))(Subscript[H, k])(A^(1/2))
 This should make a picture of this behavior.

SPD[n_,Distribution_:UniformDistribution[{1,2}]]:=Module[
{A=RandomReal[{-1,1},{n,n}],Q,ϵ=(10^(-16))},
A=A+Transpose[A];
Q=Eigenvectors[A];
A=Q.DiagonalMatrix[ϵ+Abs[RandomReal[Distribution,n]]].Transpose[Q];
(1/2)(A+Transpose[A])
]
BroydenClassUpdate[B_,{s_,y_},ϕ_]:= Module[
{Bs=B.s,ρ=y.s,sBs,v, Tol =(10^(-14))},
Sow[{ρ,s.Bs}];
If[ρ < Tol, B,
sBs=s.Bs;
 v=(y/ρ) -(Bs/sBs);
B- (1/sBs)Outer[Times,Bs, Bs]+(1/ρ)Outer[Times,y,y]+ϕ sBs Outer[Times,v,v]
]
] 

BroydenClassStep[{x_,B_,ϕ_}]:= Module[
{s,y,xNew,DfOld=Df[x],DfNew},
s=-LinearSolve[B, DfOld];
xNew=x+s;
DfNew=Df[xNew];
y=DfNew-DfOld;
{xNew, BroydenClassUpdate[B,{s,y},ϕ],ϕ}
]

Clear[f,Df,x,A,b,n]
n=128;
{b,A}={RandomReal[{-1,1},n],SPD[n, NormalDistribution[12,0.1]]};

SqrtA=MatrixPower[A,1/2];
f[x_]:= x.b + (1/2)x.A.x
Df[x_]:=A.x + b
 
ρsBs=Reap[
x0=RandomReal[{-1,1},n];
x=x0;
B=SPD[n];
B=IdentityMatrix[n]; 
ϕ=0;
{fData, GradData,NormData}=Transpose[
Table[
ϕ=0;
Print[{Norm[B-Transpose[B]],Temp=Re[Eigenvalues[B]];{Min[Temp],Max[Temp]}}];
{x,B,ϕ}=BroydenClassStep[{x,B,ϕ}];
{f[x],Norm[Df[x]],Norm[B-A]},
{50}]
];
]

ListPlot[NormData,
PlotRange->All]

Clear[x]
fmin=FindMinimum[f[x], {x,x0},
PrecisionGoal->16][[1]]
ListLogPlot[fData-fmin,
PlotRange->All]

x

ListLogPlot[GradData,
PlotRange->All]

fData

{3.945812178218439`*^10,-0.01557925454457365`,-0.015579254544573649`,-0.015579254544573646`,-0.015579254544573649`,-0.015579254544573649`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`,-0.015579254544573647`,-0.015579254544573649`}

ListLogPlot[ρsBs[[2,1,All,2]]]
ListLogPlot[ρsBs[[2,1,All,1]]]

ListLogLogPlot[ρsBs[[2,1]],
Joined->True,
Mesh->All,
PlotRange->All,
Frame->True,
FrameLabel->{"ρ","sBs"}]

ListLogPlot[ ρsBs[[2,1,All,2]] ]

ListLogPlot[NormData,
PlotRange->All]