Register to reply

Why is this matrix bad conditioned?

by divB
Tags: conditioned, matrix
Share this thread:
divB
#1
Jan16-13, 06:05 PM
P: 87
Hi,

From a paper I got a matrix like this which I use to solve the over-determined system [itex]\mathbf{z} = \mathbf{U} \mathbf{a}[/itex]:

[tex]
\mathbf{U} = \left[\begin{matrix}
x(3) & x(3)^2 & x(3)^3 & x(2) & x(2)^2 & x(2)^3 & x(1) & x(1)^2 & x(1)^3\\
x(4) & x(4)^2 & x(4)^3 & x(3) & x(3)^2 & x(3)^3 & x(2) & x(2)^2 & x(2)^3\\
x(5) & x(5)^2 & x(5)^3 & x(4) & x(4)^2 & x(4)^3 & x(3) & x(3)^2 & x(3)^3\\
x(6) & x(6)^2 & x(6)^3 & x(5) & x(5)^2 & x(5)^3 & x(4) & x(4)^2 & x(4)^3\\
\end{matrix}\right]
[/tex]

However, in my experiments I found that this matrix is very unstable and has high condition numbers. No matter which "signal" x I plug into, even if the x are drawn from a Gaussian distribution.

Can anyone tell me why this matrix is so unstable or if I am doing something wrong?

The crazy thing is that the paper suggests the algorithm works without any problems (using the same parameter set) but I just can't reproduce this ...

Thanks,
div
Phys.Org News Partner Mathematics news on Phys.org
Researcher figures out how sharks manage to act like math geniuses
Math journal puts Rauzy fractcal image on the cover
Heat distributions help researchers to understand curved space
hotvette
#2
Jan17-13, 02:42 PM
HW Helper
P: 925
Please clarify a couple of points:

1. Do you really mean under-determined? Over-determined means more rows than columns.

2. Does x(3)3 mean x * (33) or (x3)3? If the former, it means x is a scale factor for the entire matrix. If the latter, it means the matrix is generated from 6 values.
divB
#3
Jan17-13, 03:30 PM
P: 87
Quote Quote by hotvette View Post
Please clarify a couple of points:

1. Do you really mean under-determined? Over-determined means more rows than columns.
Sorry, I was not clear enough. It is indeed over-determined. Better clarification:

[tex]
\mathbf{U} = \left[\begin{matrix}
x(3) & x(3)^2 & x(3)^3 & x(2) & x(2)^2 & x(2)^3 & x(1) & x(1)^2 & x(1)^3\\
x(4) & x(4)^2 & x(4)^3 & x(3) & x(3)^2 & x(3)^3 & x(2) & x(2)^2 & x(2)^3\\
x(5) & x(5)^2 & x(5)^3 & x(4) & x(4)^2 & x(4)^3 & x(3) & x(3)^2 & x(3)^3\\
x(6) & x(6)^2 & x(6)^3 & x(5) & x(5)^2 & x(5)^3 & x(4) & x(4)^2 & x(4)^3\\
\vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\
x(N) & x(N)^2 & x(N)^3 & x(N-1) & x(N-1)^2 & x(N-1)^3 & x(N-1) & x(N-1)^2 & x(N-1)^3\\
\end{matrix}\right]
[/tex]

with N>>3.

Quote Quote by hotvette View Post
2. Does x(3)3 mean x * (33) or (x3)3? If the former, it means x is a scale factor for the entire matrix. If the latter, it means the matrix is generated from 6 values.
It means the latter. [itex]x(n)[/itex] is a sequence where n is the nth value of the sequence.

It appears that this matrix has a similar structure than a Vandermonde but not quite.

Vandermonde matrices seem to have high condition numbers and to be instable. Yet, they seem to be used quite frequently, also in Engineering papers I found Vandermonde matrices which are just solved "by the MATLAB backslash operator" (Moore Penrose pseudo inverse).

Thanks

AlephZero
#4
Jan17-13, 03:48 PM
Engineering
Sci Advisor
HW Helper
Thanks
P: 7,293
Why is this matrix bad conditioned?

Quote Quote by divB View Post
in Engineering papers I found Vandermonde matrices which are just solved "by the MATLAB backslash operator" (Moore Penrose pseudo inverse).
Thanks
AFAK the MATLAB backslash operatior is not the same as the Moore pensore psendo inverse. http://www.mathworks.co.uk/help/matl...operators.html

But the QR method MATLAB uses should be work pretty well for that type of matrix. Are you trying to solve it that way, or doing something else?

Forming the normal equations by doing ##U^Tz = U^T U a## and then solving for ##a## would be an ill-conditioned disaster, unless N is small.
divB
#5
Jan17-13, 04:43 PM
P: 87
Quote Quote by AlephZero View Post
AFAK the MATLAB backslash operatior is not the same as the Moore pensore psendo inverse. http://www.mathworks.co.uk/help/matl...operators.html

But the QR method MATLAB uses should be work pretty well for that type of matrix. Are you trying to solve it that way, or doing something else?
I know.

I used pinv(U)*z as well as U \ z.

The thing is that in some publications it is even (implicitely) stated that they solved with the backslash operator.


Register to reply

Related Discussions
How to handle an ill-conditioned matrix? Linear & Abstract Algebra 1
Please help me to solve ill-conditioned linear system of matrix Linear & Abstract Algebra 0
Well conditioned matrices General Engineering 2