# Eigenvectors from quadratic form of a low-rank matrix

**URL:** <https://discourse.julialang.org/t/eigenvectors-from-quadratic-form-of-a-low-rank-matrix/63715>\
**Category:** Optimization (Mathematical)\
**Created:** [June 28, 2021, 9:07pm UTC](https://discourse.julialang.org/t/eigenvectors-from-quadratic-form-of-a-low-rank-matrix/63715 "2021-06-28T21:07:53Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![mleprovost](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mleprovost/32/7166_2.png) [@mleprovost](https://discourse.julialang.org/u/mleprovost)\
**Post date:** [June 28, 2021, 9:07pm UTC](https://discourse.julialang.org/t/eigenvectors-from-quadratic-form-of-a-low-rank-matrix/63715/1 "2021-06-28T21:07:53Z")

</div>

Hello,

I would like to compute the leading eigenvectors of a positive semi-definite matrix A with a low-rank structure. Are you aware of method that only rely on evaluations of y^\top A x for arbitrary y, x vectors?

---

<div class="post-metadata">

**Author:** ![stevengj](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stevengj/32/71_2.png) [@stevengj](https://discourse.julialang.org/u/stevengj)\
**Post date:** [June 28, 2021, 9:40pm UTC](https://discourse.julialang.org/t/eigenvectors-from-quadratic-form-of-a-low-rank-matrix/63715/2 "2021-06-28T21:40:09Z")

</div>

Why not use standards iterative methods (e.g. in KrylovKit, ARPACK, or IterativeSolvers), which require only Ax operations? Matrix-vector operations are efficient for matrices represented as a low-rank outer product, if that’s what you have.

---

<div class="post-metadata">

**Author:** ![mleprovost](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mleprovost/32/7166_2.png) [@mleprovost](https://discourse.julialang.org/u/mleprovost)\
**Post date:** [June 28, 2021, 10:07pm UTC](https://discourse.julialang.org/t/eigenvectors-from-quadratic-form-of-a-low-rank-matrix/63715/3 "2021-06-28T22:07:14Z")

</div>

Thank you for your answer. In my case A is given by E[\nabla f(u)^\top \nabla f(u)] : the expectation of \nabla f(u)^\top \nabla f(u) over some distribution for u, and f is a vector valued function. Thus y^{\top} Ax is cheap to compute, as it only requires two directional derivatives, while computing Ax requires an adjoint solver that is too costly for my application.
