Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

How does any elementary row operation on a matrix affect the condition number?

Can an ill conditioned matrix be improved by just some elementary row operations?

Can I improve the accuracy of solving linear system by some row operations?

share|cite|improve this question
'Pre-conditioning' by multiplying by a diagonal matrix is a fairly common way of attempting to improve the condition number of a matrix. – copper.hat May 25 '12 at 5:57

Interchanging rows do not affect the condition number. Remember that the condition number is the ratio of the largest singular value to the smallest singular value. The singular values do not change by interchanging rows.

If we write down the svd of the matrix $A$ as $A = U \Sigma V^T$ and if $P$ is a permutation matrix, then $P \times A = (P U) \Sigma V^T$.

$PU$ is again a unitary matrix. Hence, the singular values of $A$ and $PA$ are the same.

However, if your row operations include scaling and adding scalar multiples of rows then it definitely does affects the condition number. In fact, thats what a pre-conditioner for a matrix does. When you pre-multiply a matrix $A$ by another matrix $T$, you are essentially scaling and adding scalar multiple of rows with each other. This clearly affects the condition number. A degenerate example would be if you pre-multiply $A$ by $A^{-1}$, then the condition number of the resulting matrix is $1$.

share|cite|improve this answer
It seems clear to me that swapping rows doesn't change the singular values (as it is left-multiplying by a unitary matrix), but surely scaling rows and adding multiples of rows to other rows can. (I don't know how to arrange these operations "intelligently" to make the condition number better, but, surely they can change it...) – leslie townes May 25 '12 at 5:50
Scaling does affect the condition number. The condition number of $\mathbb{diag(1,1)}$ is $1$, but when multiplied by $\mathbb{diag(1,2)}$, the condition number becomes $2$. – copper.hat May 25 '12 at 5:52
@leslietownes Yes. By elementary row operations, I thought it meant swapping rows. Surely scaling and adding multiples of rows change the condition number. Thats what LU/ Gauss elimination does for us:) – user17762 May 25 '12 at 5:56

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.