How to represent a vector as a linear combination of minimal number of other given vectors?

102 Views Asked by At

I have 300'000 vectors from $\mathbb R^{20}$, (let's call this set $V$), and some other vector $x$. I want to find out, what is the minimal number of vectors from $V$, such as $x$ can be represented as their linear combination. Is there a good algorithm for that?

I understand, that I can just extract an $\mathbb R^{20}$ basis from $V$ and convert $x$ to that basis, but it is not interesting because then $x$ will be represented as combination of 20 vectors, instead of minimal number of vectors. May be $x$ can be constructed by just 2 vectors from $V$.

Why do I ask: $V$ is OEIS database, and I want to make a program that will tell if user's sequence is a linear combination of a few sequences from OEIS.