I am trying to find all $\lambda$ given a tensor $T$ such that $\sum_{jk}^N T_{ijk}x_jx_k=\lambda x_i$ with $1\leq i \leq N$ and $\sum_i x_i^2=1$. $T$ is known but $x$ is unknown.
This boils down to solve $N+1$ quadratic equations for $N+1$ variables.
My $T_{ijk}$ are random and fully symmetric. I tried to do a naive implementation but already for $N=5$ my laptop is giving me a hard time. I was hoping to solve the system for at least $N=250$. How could I improve my solving method to gain some time?
(* Generate my symmetric random tensor T*)
RandomSymmetrizedArray[dims_, sym_, dist_] :=
Normal@SymmetrizedArray[_ :> RandomVariate[dist], dims, sym]
T[l_] := T[l] =
RandomSymmetrizedArray[{l, l, l}, Symmetric[All],
NormalDistribution[0, 1/l]]
X[l_] := Table[Subscript[x, i], {i, 1, l}]
l := 3
variables := Join[X[l], {\[Lambda]}]
S = NSolve[T[l].X[l].X[l] == \[Lambda]*X[l] && X[l].X[l] == 1,
variables];
S // MatrixForm
I am not interested in the values of $x_i$, only in $\lambda$. I also noticed that for every $\lambda_{sol}$, $-\lambda_{sol}$ will be a solution too.
Any remark, or advice is always appreciated, thanks.
Edit: Looking for the smallest real $\lambda_\text{min}$ is very interesting, and since if $-\lambda$ is a solution then $\lambda$ will also be a solution (associated with $-\vec{x}$). However I would still be interested in improving my method to solve this system of quadratic equations. Although $N=200$ would give me an absurd number of $\lambda$ (Around $2^200\approx 10^60$) I am still hoping to be able to compute this for $N=25$ for example.
If I plot my solutions $\lambda$ on the complex plane for $N=15$ here is what I find when $T$ is random: