Bluebit Software
Bluebit Software Support Forum
 Home          Members     Calendar     Who's On

Welcome Guest ( Login | Register )
        



Weird values for 11x11 matrix inverted Expand / Collapse
Message
Posted Tuesday, July 07, 2009 7:55 AM Post #567
 

Forum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum Newbie
Hello!

I have tried to invert the following matrix:

5405 1517 172 460 527 770 1032 563 182 182 4291
1517 1517 0 0 0 0 0 0 0 0 1016
172 0 172 0 0 0 0 0 0 0 145
460 0 0 460 0 0 0 0 0 0 421
527 0 0 0 527 0 0 0 0 0 464
770 0 0 0 0 770 0 0 0 0 589
1032 0 0 0 0 0 1032 0 0 0 881
563 0 0 0 0 0 0 563 0 0 461
182 0 0 0 0 0 0 0 182 0 158
182 0 0 0 0 0 0 0 0 182 156
4291 1016 145 421 464 589 881 461 158 156 4291

The result is really really strange, with large numbers which simply do not seem right. Also, as far as I can see, multiplying the inverse with the original does not yield the neat diagonal line of 1's I would expect.

Would you have any idea why that may be the case?

Kind regards,

Kong Georg
Posted Friday, November 06, 2009 6:22 PM Post #606
 

Forum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum Newbie
Your matrix is rank deficient. Feed it in to the calculator and do "matrix rank". You'll get 10. Since it's rank deficient, it should not have a matrix inverse.

Still it's bad that the inverter actually gives a matrix instead of an error.

If you want to rescue your calculation, you probably want to use the pseudoinverse and find the least squares/minimum norm solution. If that is the case, you can perform a Singular Value decomposition on the matrix to get:

U * S * V^T * x = b

Which should be straightforward to solve by doing:

S * V^T * x = U^T * b

Then, to find S^-1, you invert the diagonal elements in S. If an element is too large (naerly infinity) or too small (nearly 0), you just clamp it to 0. Then with it, you can do:

V^T * x = S^-1 * U^T * b
x = V * S^-1 * U^T * b

x will then be as close solving the system of equations as the equations can possible allow. If there are an infinite number of solutions, it's the solution with the least magnitude.

Alternatively, just check "Moore-Penrose Inverse" instead of inverse. the MPI will be the same as the inverse in cases where the inverse exists. In cases where it does not exist, it gives a pretty good alternative you can use to solve systems of equations in the same way.
« Prev Topic | Next Topic »


Reading This Topic Expand / Collapse
Active Users: 0 (0 guests, 0 members, 0 anonymous members)
No members currently viewing this topic.
Forum Moderators: Trifon

Permissions Expand / Collapse

All times are GMT -5:00, Time now is 6:33am

Powered by InstantForum.NET v4.1.4 © 2012
Execution: 0.250. 9 queries. Compression Disabled.
.NET Matrix Library