You are not logged in.

- Topics: Active | Unanswered

Pages: **1**

**evinda****Member**- Registered: 2013-04-13
- Posts: 105

Which is the condition number of the matrix E,using the infinity norm, where E is a 100x100 tridiagonal matrix with the number 3 at the main diagonal and the number 2 at the first diagonal below this,and also the number 2 at the first diagonal above the main diagonal??

I hope someone can help me..

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 103,832

Hi;

The condition number is a measure of the instability of the matrix. In plain English it is the measure of how badly it will do when arithmetic is done on it.

If we say A is the 100 x 100 banded sparse matrix with the diagonals as you specify ( not shown of course ), I get a condition number using the L infinity norm of

So figure to lose 2 - 3 significant digits when working with this matrix.

This is not so bad, consider the condition number of the 100x100 Hilbert Matrix ( a very ill conditioned matrix ) which is

which means to do arithmetic on this matrix could cost you around 151 digits!

**In mathematics, you don't understand things. You just get used to them.****If it ain't broke, fix it until it is.**

Offline

**evinda****Member**- Registered: 2013-04-13
- Posts: 105

I have written a function in matlab to count the condition number,using the infinity norm,of the 100x100 Hilbert Matrix and I get this result:4.6629e+020

Is this wrong??

*Last edited by evinda (2013-11-23 21:30:40)*

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 103,832

Hi;

Yes, I believe that is incorrect.

**In mathematics, you don't understand things. You just get used to them.****If it ain't broke, fix it until it is.**

Offline

**evinda****Member**- Registered: 2013-04-13
- Posts: 105

And...how can I find the right number of the condition number of the 100x100 Hilbert Matrix,using the infinity norm??

I used the ready function cond((hilb(100),inf) and I got this result.When I run my code,I get this warning message:

Matrix is close to singular or badly scaled.Results may be inaccurate.RCOND:2.144574e-021.

What can I do??

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 103,832

The correct answer is given above. What you are doing wrong is ignoring the purpose of the lesson.

**In mathematics, you don't understand things. You just get used to them.****If it ain't broke, fix it until it is.**

Offline

**evinda****Member**- Registered: 2013-04-13
- Posts: 105

bobbym wrote:

The correct answer is given above. What you are doing wrong is ignoring the purpose of the lesson.

What do you mean???That,using matlab,the result I found is correct but in reality it is not near to the real number of the condition number ,because of the fact that the Hilbert Matrix is a very ill conditioned matrix ???Or do I understand it wrong???

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 103,832

RCond is not the condition number it is the reciprocal of it. Also you are being warned by Matlab that the result he just gave you is not reliable. In this case it is not even close.

The lesson on condition numbers is supposed to make you aware that when the condition number is large ( the Hilbert Matrix has this problem ) that any numeric result will be wildly unstable. Matlab is working to what, 16 digits? That is not enough to compute Hilbert(100).

**In mathematics, you don't understand things. You just get used to them.****If it ain't broke, fix it until it is.**

Offline

**evinda****Member**- Registered: 2013-04-13
- Posts: 105

bobbym wrote:

RCond is not the condition number it is the reciprocal of it. Also you are being warned by Matlab that the result he just gave you is not reliable. In this case it is not even close.

The lesson on condition numbers is supposed to make you aware that when the condition number is large ( the Hilbert Matrix has this problem ) that any numeric result will be wildly unstable. Matlab is working to what, 16 digits? That is not enough to compute Hilbert(100).

Nice..Thank you very much!!!

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 103,832

There is a vpa command in Matlab that will get more digits.

**In mathematics, you don't understand things. You just get used to them.****If it ain't broke, fix it until it is.**

Offline

Pages: **1**