Discussion about math, puzzles, games and fun. Useful symbols: ÷ × ½ √ ∞ ≠ ≤ ≥ ≈ ⇒ ± ∈ Δ θ ∴ ∑ ∫ π -¹ ² ³ °

You are not logged in.

- Topics: Active | Unanswered

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

Hi

I wrote a function in matlab,that implements the Jacobi and Gauss-Seidel method.I have to do this for different matrices..I am facing difficulties when I call my function,giving the Hilbert matrix..

I have to find the error ||x_{k}-d|| (where d is the accurate solution) of the last iteration,with ε=0.000001.I tried to find this and for MAXITERATIONS>=250 I get Nan as result..Isn't it wrong??What should I change?

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 84,363

Hi;

The Hilbert matrix as described in the other thread is notoriously ill conditioned. That is the reason for the problem. You would have to work to many digits of precision or in exact arithmetic. Matlab as far as remember can do neither.

**In mathematics, you don't understand things. You just get used to them.I have the result, but I do not yet know how to get it.All physicists, and a good many quite respectable mathematicians are contemptuous about proof.**

Offline

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

bobbym wrote:

Hi;

The Hilbert matrix as described in the other thread is notoriously ill conditioned. That is the reason for the problem. You would have to work to many digits of precision or in exact arithmetic. Matlab as far as remember can do neither.

So,if I am asked to write the error of the last iteration for different n,is the right answer that it is Nan for n>=250??

Offline

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

Also,now I ran the Gauss-Seidel function I wrote for the Hilbert Matrix for MAXITERATIONS>=250..The method does not converge but I get a number,for example for MAXITERATIONS=250 I get this number:1.4455...Why does this happen???

*Last edited by evinda (2013-11-30 01:57:29)*

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 84,363

Are you being asked to use your routine on a Hilbert Matrix?

**In mathematics, you don't understand things. You just get used to them.I have the result, but I do not yet know how to get it.All physicists, and a good many quite respectable mathematicians are contemptuous about proof.**

Offline

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

bobbym wrote:

Are you being asked to use your routine on a Hilbert Matrix?

Yes,and I did it using this: hilb(n)..

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 84,363

Which Hilbert Matrix? I will try my routine on it.

**In mathematics, you don't understand things. You just get used to them.I have the result, but I do not yet know how to get it.All physicists, and a good many quite respectable mathematicians are contemptuous about proof.**

Offline

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

bobbym wrote:

Which Hilbert Matrix? I will try my routine on it.

What do you mean???Which dimension??I wrote this command H=hilb(n) in a function and each time I call it I give different values..The formula for this matrix is

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 84,363

You need to provide the n.

I have the result, but I do not yet know how to get it.

All physicists, and a good many quite respectable mathematicians are contemptuous about proof.

Offline

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

bobbym wrote:

You need to provide the n.

It is given from the user when he calls the function..You could take n=250,to check if you get the same results as mine..

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 84,363

You are trying to invert a 250 x 250 Hilbert Matrix!!!!!!!

I have the result, but I do not yet know how to get it.

All physicists, and a good many quite respectable mathematicians are contemptuous about proof.

Offline

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

bobbym wrote:

You are trying to invert a 250 x 250 Hilbert Matrix!!!!!!!

What do you mean???Isn't is possible to do this???

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 84,363

Why are you using such a large matrix?

I have the result, but I do not yet know how to get it.

All physicists, and a good many quite respectable mathematicians are contemptuous about proof.

Offline

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

bobbym wrote:

Why are you using such a large matrix?

I have to implement the methods for different values of n,with 50<=n<=1000..

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 84,363

A 250 x 250 Hilbert matrix has a condition number of around 4.35 x 10^380. That means doing arithmetic on it could potentially lose 380 digits of precision.

To show why this is deadly please post what Matlab thinks hilb(4) is.

I have the result, but I do not yet know how to get it.

All physicists, and a good many quite respectable mathematicians are contemptuous about proof.

Offline

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

bobbym wrote:

A 250 x 250 Hilbert matrix has a condition number of around 4.35 x 10^380. That means doing arithmetic on it could potentially lose 380 digits of precision.

To show why this is deadly please post what Matlab thinks hilb(4) is.

I also have to find the condition number for different values of n and for the 250 x 250 Hilbert matrix,I found it like that: 3.9067e+020..Is it equal with your result,if we consider that Matlab looses a lot of digits of precision??

hilb(4):

1.0000 0.5000 0.3333 0.2500

0.5000 0.3333 0.2500 0.2000

0.3333 0.2500 0.2000 0.1667

0.2500 0.2000 0.1667 0.1429

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 84,363

You are not remembering the other threads. That condition number is kaboobly doo. A Hilbert matrix will not allow arithmetic to be done on it easily. So even when you ask for the condition number it gives the wrong answer! My answer is correct.

Look at Hilbert 4 x 4. It only gives 4 digits! You need 400 digits to get an accurate answer.

I have the result, but I do not yet know how to get it.

All physicists, and a good many quite respectable mathematicians are contemptuous about proof.

Offline

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

bobbym wrote:

You are not remembering the other threads. That condition number is kaboobly doo. A Hilbert matrix will not allow arithmetic to be done on it easily. So even when you ask for the condition number it gives the wrong answer! My answer is correct.

Ok,I got it...

Look at Hilbert 4 x 4. It only gives 4 digits! You need 400 digits to get an accurate answer.

So,what does this mean?? Has the precision to do something with the fact that I get Nan as result??? :

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 84,363

This is what a real Hilbert 4 x 4 matrix looks like.

Notice the differences between what Matlab thinks and what really is.

I have the result, but I do not yet know how to get it.

All physicists, and a good many quite respectable mathematicians are contemptuous about proof.

Offline

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

bobbym wrote:

This is what a real Hilbert 4 x 4 matrix looks like.

Notice the differences between what Matlab thinks and what really is.

Isn't it the same matrix??

1 1/2 1/3 1/4

1/2 1/3 1/4 1/5

1/3 1/4 1/5 1/6

1/4 1/5 1/6 1/7

I have written the command format rat and get now the numbers as fractions..

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 84,363

Do you believe that .3333 and 1 / 3 are the same thing?

I have the result, but I do not yet know how to get it.

All physicists, and a good many quite respectable mathematicians are contemptuous about proof.

Offline

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

bobbym wrote:

Do you believe that .3333 and 1 / 3 are the same thing?

No,it is like that: 0.3333333333333333333333333....................................................

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 84,363

Let's do a little experiment, we know that

(1/3) x 900000 = 300000

Enter just as you see it

.3333 x 900000 = ?

I have the result, but I do not yet know how to get it.

All physicists, and a good many quite respectable mathematicians are contemptuous about proof.

Offline

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

bobbym wrote:

Let's do a little experiment, we know that

(1/3) x 900000 = 300000

Enter just as you see it

.3333 x 900000 = ?

This is the result I get: 299970

*Last edited by evinda (2013-11-30 04:15:53)*

Offline

**bobbym****Administrator**- From: Bumpkinland
- Registered: 2009-04-12
- Posts: 84,363

So you see .3333 is not 1 / 3. When you did a calculation with it the error was magnified until it has a difference of 30.

I have the result, but I do not yet know how to get it.

All physicists, and a good many quite respectable mathematicians are contemptuous about proof.

Offline