# Finding "more dependent" columns of an ill-conditioned square matrix

I need a way to determine which columns of an ill-conditioned square matrix, $$A$$, are "less independent", and therefore could be said to be more responsible for low eigenvalues. Eigen/SVD decomposition obviously does not associate eigenvalues with particular columns of $$A$$, so is there another method I could use to find columns that are "more dependent"?

One idea I have tried is looking at the correlation matrix of $$A$$ for high off-diagonal values.

The best method I've discovered so far is pivoted QR decomposition, a slight variation on QR decomposition ($$A = QR$$). In constructing the matrix $$Q$$, it chooses columns of $$A$$ that are the most orthogonal to those that have already been chosen first. Thus, the ones chosen last are the least orthogonal, giving rise to the smaller eigenvalues. This results in the diagonal of $$R$$ being non-increasing.
In MATLAB for example, [Q, R, p] = qr(A, 'vector') outputs the vector $$p$$ which specifies the order in which the columns of $$A$$ were chosen to calculate $$Q$$. The last values of $$p$$ are the indices of columns of $$A$$ that are the least orthogonal/independent. If these columns were removed, the condition number of $$A$$ would improve the most.