2

Consider a finite-dimensional vector space $V_{n - 1} = \langle v_1, \dots, v_{n-1}\rangle \subseteq V$. Let $v_n \in V$. Extend $V_{n-1}$ by $v_n$ ($V_n := \langle v_1, \dots, v_n \rangle$). The question is: How are we able to efficiently check whether $\dim(V_n) > \dim(V_{n-1})$?

It is crucial that the computational complexity is as low as possible, since high dimensions of $V$ and high numbers $n$ may occur. Bonus: Do we get better results when the matrices are sparse?

In other words: Is there an efficient way to check whether $v_n$ is linear independent of $v_1, \dots, v_{n-1}$?

My idea would be to recursively find a basis of $v_1, ..., v_{n-1}$ and solve the resulting homogenous linear equation system with QR decomposition or similar, but is there a faster way, since it is only an "Is X bigger than Y" problem? Please note that $v_1, \dots, v_{n-1}$ are not necessarily linearly independent.

Background: The problem arose with vector $v_n$ being a tangent vector in a manifold of some function which was $n$ times differentiated. (Or similar; it occurred as a programming problem to a friend of mine, who explained it informally to me.)

CalabiYau
  • 117
  • 1
    I think that computing the determinant of $(v_1,...,v_n)$ may be faster, but I am not sure. – Furbini Jun 12 '21 at 22:09
  • 3
    Are the entries in your vectors integers or floating point numbers? If they are floating point, numerically you cannot assure that vectors are linearly dependent. They are only dependent if the "last" entry is exactly the correct value. If that value cannot be represented exactly in your floating point they might be dependent or they may not. This is even before any considerations of computational complexity. You could assure that no perturbation of the entries by $\epsilon$ will render them dependent if that is true. – Ross Millikan Jun 12 '21 at 22:11
  • 1
    While you extend your subspaces, keep an orthornormal basis (against an inner product that is meaningful) and each time you consider adding a new vector, remove the projections of the previous orthonormal basis vectors. If the resulting vector is large enough, normalize it and add it to the basis. Otherwise discard it – Jack Schmidt Jun 14 '21 at 02:04

0 Answers0