4

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?

lakshmi
  • 41
  • 2
  • '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 05:57

1 Answers1

3

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$.

  • 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 05: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 05: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:) –  May 25 '12 at 05:56