Take the 2-minute tour ×
Mathematica Stack Exchange is a question and answer site for users of Mathematica. It's 100% free, no registration required.

I want to determine a balance distribution.

Ü = {{0.4, 0.2, 0.3}, {0.3, 0.5, 0.2}, {0.3, 0.3, 0.5}}; 

and

X = {{x1}, {x2}, {x3}}; 

so that

Ü.X == X

But when I want to solve

Solve[{0.4 x1 + 0.2 x2 + 0.3 x3 == x1,0.3 x1 + 0.5 x2 + 0.2 x3 == x2, 0.3 x1 + 0.3 x2 + 0.5 x3 == x3,
   x1 + x2 + x3 == 240000}, {x1, x2, x3}]

I get the error

RowReduce::luc: Result for RowReduce of badly conditioned matrix {{0.3, 0.2, -0.6, 0.}, {0.2, -0.5, 0.3,0.}, {-0.5, 0.3, 0.3, 0.}, {1., 1., 1., -240000.}} may contain significant numerical errors. >>
{}

How can I solve this system?

share|improve this question
1  
You'll want to look at Eigensystem[]. –  J. M. Jun 23 '13 at 14:56

1 Answer 1

The proximate cause of the message is that the matrix I-U has determinant 10^(-17) and hence the linear system (I-U).x=0 cannot be solved easily in such a direct manner. As Ox4A4D suggests, you can solve for the eigenvalues and eigenvectors without trouble. In this case

Eigensystem[U]

shows three eigenvalues (1, 0.2, and 0.2) and the three corresponding vectors x. For instance, the eigenvector corresponding to the unit eigenvalue is

{0.511834, 0.565711, 0.646527}

so you can solve c*(0.511834 + 0.565711 + 0.646527)=240000 for c and you will have your desired x.

share|improve this answer
    
thanks, this helped me out :) –  Gabriel Jun 23 '13 at 19:11

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.