How much linearly independent? or linearly dependent? I want to improve a rank-deficient matrix by augmenting a row vector to it. However, unfortunately, I have only very 'similar' vectors..
For example,
my matrix is somewhat like..
\begin{bmatrix}
 1 & 1\\
 1 & 0.99
\end{bmatrix}
and my vector choices are..\begin{bmatrix} 1.01 \\ 0.99 \end{bmatrix} or \begin{bmatrix} 1.02  \\1 \end{bmatrix} or slightly perturbed vectors of one of the rows in the given matrix. Actual matrix I have is about $30 \times 30$ size.
I would like to determine which one is would be the best choice among them to improve the matrix. 
I tried to get the angle between vectors to determine the 'freshness' of the vector that I am adding to the matrix. But I feel there must be a better systematic way to approach..
Plus, is there a math term to define how much vectors are dependent to each other? so I could start studying from there..
Could you help me? 
Thank you! 
 A: Vectors are either linear independent of each other, or they are not - there are no degrees of linear (in)dependence. 
However, if you want to check, e.g., the rank of the matrix numerically, you can get into trouble: Due to rounding errors, it may "look to the computer" as if all your matrix columns are the same. The condition number of a matrix is a measure how sensitive the calculation of rank, determinant and/or solutions of your linear system will be, if there are rounding errors: A condition number of $1$ means that your algorithms will work with arbitrarily precision. Higher condition numbers will make things nasty; matrices with high condition numbers are called ill-conditioned.
If you want to have a vector which is as "fresh" as you can get, picking a vector which is orthogonal to the existing rows would be the right choice, as orthogonality implies linear independence. A naive approach would be to perform a Gram-Schmidt algorithm, but I'm not sure how this will perform with ill-condictioned matrices. (I'm no expert in numerical linear algebra, unbfortunately.)
