I know that for a vector space $\mathbb R^n$ one can use the Gram-Schmidt process to construct its basis. But what if the vector space is over some arbitrary field? I am thinking of the following:
- Pick an arbitrary vector in $V$, label as $v_1$
- Pick another arbitrary vector in $V$. From this deduct the component in $v_1$. If this gives the zero vector then do it again with another arbitrary vector, otherwise take this as $v_2$ .
- Repeat the above until we have found $n$ linearly independent vectors. (Given that $\dim V=n < \infty$); otherwise, we go on forever.
This doesn't seem like a particularly efficient algorithm especially for large $n$, are there any better suggestions? Also, I am not sure that my steps are necessarily valid. Is the scalar product -- that obtains the component of an arbitrary vector in the direction of a $v_i$ already in the set -- defined for vector spaces over arbitrary fields?