Biologist here, so my mathematic background isn't the best.

So, I have a nonnegative 15x15 matrix and I'm getting eigenvalues higher than 1 - which are of interest to me. My problem, however, is that the associated eigenvector - sometimes - has positive and negative values. I'm using Mathematica and an user pointed out that, using the function Chop, I can get rid of that problem - indeed, the values that are negative are really small (-3*10^-17, for instance) and using Chop I get Eigenvectors which values are either all positive or all negative, since the problematic values become 0. But I'm still not convinced and I know that, if the matrix is irreducible, then the Perron–Frobenius theorem applies and Chop would be appropriated. This would make my job much easier - I'm running an analysis that will get me an almost infinite number of eigenvalues and I can't verify, one by one, that the eigenvectors are appropriated. For instance, I'm afraid that I might miss some cases where the values are positive and negative but not small - so even Chop would give an Eigenvector with both positive and negative values with a leading Eigenvalue > 1.

The thing is that the Perron–Frobenius theorem only applies to non-negative matrices if they are irreducible. Since my 15x15 matrices have 6 parameters, they will be necessarily different every time that I change the parameters. Is there any easy way to verify the irreducibility of a matrix in Mathematica?


closed as unclear what you're asking by MarcoB, C. E., corey979, Feyre, gwr Feb 6 '17 at 15:43

Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 2
    $\begingroup$ What do you mean by "irreducible"? (What would be a "reducible" matrix?) $\endgroup$ – Daniel Lichtblau Feb 2 '17 at 16:34

Browse other questions tagged or ask your own question.