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?

  • 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.