In[]:=
Mon 13 Nov 2023 17:19:12
In[]:=
Clear["Global`*"];d=2000;h=1./Range[d];h=h/Total[h];outer2[h_]:=Transpose[{h}].{h};stepL1SGD[h_]:=;stepL2SGDfast[h_]:=Module[{d=Length[h],normalize,step,evec},normalize[v_]:=v/Sqrt@Total[v*v];step[v_]:=2h*v+h*Total[v];evec=FixedPoint[normalize[step[#]]&,ConstantArray[1.,d],1000];2/Norm[step@evec]];l2critical=stepL2SGDfast[h];l1critical=stepL1SGD[h];l1optimal=l1critical/2;ii=IdentityMatrix[d]//N;H=DiagonalMatrix[h];Hm=outer2[h];getMat[α_?NumericQ]:=ii-2αH+2H.H+Hm;l2optimal=α/.Last@FindMinimum[Norm[getMat[α]],{α,l1optimal,0,l2critical}]
2
Tr[h]+2Max[h]
2
α
2
α
Out[]=
1.48074