# Condition number of a matrix is 1 but determinant is almost 0

Hello,

I want to calculate the conditioning of a matrix, therefore I use the cond() commando in Matlab. A problem with a low condition number is said to be well-conditioned, while a problem with a high condition number is said to be ill-conditioned.

If I calculate the condition number of the matrix:

-0.0053 -0.0031
0.0031 -0.0053

the condition number is equal to 1. This means that the matrix is well-conditioned. However if I calculate the determinant of this matrix with the command det() the result is 3.7700e-005. Thus almost zero what means that the matrix is almost singular, thus ill-conditioned. Why is the condition number 1 while the matrix is ill-conditioned?

Steven

uart
However if I calculate the determinant of this matrix with the command det() the result is 3.7700e-005. Thus almost zero what means that the matrix is almost singular, thus ill-conditioned.
Well not really, not in relation to the size of the elements in the matrix. If you scale the elements in a 2x2 matrix by some factor then the determinant scales by that factor squared (that factor cubed for a 3x3 matrix and so on).

Your matrix elements are all down around 1E-3 so you have to expect the determinant to be down around 1E-6, even if the matrix is well conditioned.

uart