I have a symmetric positive definite matrix (hessian) $H$ which is unknown and expensive to compute explicitly (circa 30*30)
Indirectly in my code I have a growing list of pairs of unit vectors $u_i$, and noisy estimates of the matrix product $\hat{v_i}=Hu_i + \epsilon_i$, where $\epsilon_i$ can be assumed to be normal i.i.d variables. Note that due to the noise component, occasionally $u_i^TH\hat{v_i}<0$
I was wondering if there is a method to estimate $H$ from the $(u_i,\hat{v_i})$ pairs, which forces $H$ to be S.P.D, with a starting guess $\hat{H_0} = c*I$.
Obviously due to the small size of the vectors, I can store hundreds, potentially thousands, of these vector pairs as the algorithm runs. Potentially earlier pairs might be less relevant as the algorithm continues, so I may only use the last $n$ pairs for any estimation, or attempt to recency weight them (somehow).
As a point of reference, it's part of an optimization process, and so have tried quasi methods like BFGS, however the noise component of $\hat{v_i}$ simply causes it to blow up, or estimate poorly.
Apologies if this is a well known topic, I have tried searching the site and googling but I'm not even sure the term I should be searching for!