Proposition 13.4 of Alexander Barvinok's A Course in Convexity shows the existence of the following result:
Let $n\ge 3$. For two $n\times n$ symmetric matrices $A$ and $B$, and a PSD matrix $X$ with $\mbox{trace}(X) = 1$, there exists a unit vector $x$ such that $x^T A x = \mbox{trace}(AX)$ and $x^T B x = \mbox{trace}(BX)$.
This book does not show how to construct such a vector!
In Boyd & Vandenberghe's Convex Optimization, on page 656, there exists a constructive method for a looser version of above (basically, no constraints on the trace of $X$ and consequently, the magnitude of $x$).
I could not so far use their proof for the above stronger version result and basically construct such $x$. Any proof, idea, or help?