2
$\begingroup$

I am trying to diagonalize a somewhat larger matrix that is dependent on several parameters. Applying, say, Eigenvalues to that matrix is quite straightforward, but Mathematica apparently hits some polynomial equations that it cannot solve and returns some expressions containing Root, which are again dependent on said parameters. The expressions can be quite convolved, but for the sake of this qustion, let's assume that Mathematica returns $k - kx + x^5=0$, where $x$ is the free variable and $k$ is one of the parameters.

To proceed, I would like to make use of the knowledge that $k$ is very large, indeed much larger than all other involved parameters. Mathematically, I would like to look at the limit $k\rightarrow\infty$. Looking at the equation $k - kx + x^5=0$, it is apparent that $x_0\rightarrow1$ will hold for any solution as $k\rightarrow\infty$. However, Mathematica does not seem to share that insight:

In= Limit[Root[k - k #1 + #1^5 &, 1], k -> Infinity]

Out= Limit[Root[k - k #1 + #1^5 &, 1], k -> ∞]

Is there any way to make Mathematica realize that it can further simplify this kind of expression? Since everything involved here is polynomial, it should in principle be possible to solve that task by suitable expression replacements, but that sounds very cumbersome and error-prone. So it would be great to find a way other than that approach.


Edit: As Carl hinted in his comment, my question might actually be an instance of the XY problem. So here are some more details. A sample matrix could be the one given below. Most entries are close to the diagonal, but there are also some off-diagonal entries. The determinant is always zero.

$$ \left( \begin{array}{cccccccc} -k & \gamma & 0 & 0 & \delta & 0 & \epsilon & 0 \\ 0 & -\gamma -k & 0 & 0 & 0 & \delta & 0 & \epsilon \\ k & 0 & -\xi & \gamma & 0 & 0 & 0 & 0 \\ 0 & k & 0 & -\gamma -\xi & 0 & 0 & 0 & 0 \\ 0 & 0 & \xi & 0 & -\delta -\theta & \gamma & 0 & 0 \\ 0 & 0 & 0 & \xi & 0 & -\gamma -\delta -\theta & 0 & 0 \\ 0 & 0 & 0 & 0 & \theta & 0 & -\epsilon & \gamma \\ 0 & 0 & 0 & 0 & 0 & \theta & 0 & -\gamma -\epsilon \\ \end{array} \right) $$

The matrix itself describes a system of ODEs and I'm interested in long-term behaviour $t\rightarrow\infty$ as well as in solutions for special starting conditions. Diagonalization is the easiest approach to that, but without doubt not the only one, nor the smartest.

$\endgroup$
  • $\begingroup$ An example matrix would be helpful, as there are probably better approaches than taking the limit of symbolic eigenvalues. $\endgroup$ – Carl Woll Jan 8 '18 at 15:45
  • $\begingroup$ How does one generate your Root object with the parameter k from your matrix? $\endgroup$ – Carl Woll Jan 8 '18 at 16:33
  • $\begingroup$ Which version of Mathematica are you using? With either v11.2.0 or v11.1.1 Limit[Root[k - k #1 + #1^5 &, 1], k -> Infinity] evaluates to 1 $\endgroup$ – Bob Hanlon Jan 8 '18 at 16:37
  • $\begingroup$ @CarlWoll I changed the matrix and now the Root object should be produced by just calling Eigenvalues. $\endgroup$ – ranguwud Jan 8 '18 at 16:43
  • $\begingroup$ @BobHanlon I'm currently using v10.0.2.0. Interesting observation, anyway. I might actually be able to access a newer version. $\endgroup$ – ranguwud Jan 8 '18 at 16:44
2
$\begingroup$

You could use Series instead of Root:

Series[Root[k - k #1 + #1^5&, 1], {k, Infinity, 2}] //TeXForm

$1+\frac{1}{k}+\frac{5}{k^2}+O\left(\left(\frac{1}{k}\right)^3\right)$

$\endgroup$
  • $\begingroup$ Interesting approach. Would there be an easy way to apply this method via replacements? It would be handy if I could replace any Root in the output by Series[Root[#]]&. $\endgroup$ – ranguwud Jan 8 '18 at 15:55
  • $\begingroup$ @ranguwud Can't you just use Series on the whole thing? $\endgroup$ – Carl Woll Jan 8 '18 at 16:23
  • $\begingroup$ Unfortunately it appears that one cannot just throw Series on the whole expression. Even for the simple example, there are problems. If I look at the 5th root instead of the first with Series[Root[k - k #1 + #1^5 &, 5], {k, Infinity, 2}], then the leading term is $k^{1/4}$, which seems to be a wrong result to me. $\endgroup$ – ranguwud Jan 8 '18 at 16:34
  • $\begingroup$ @ranguwud I actually think the Series for the 5th root is correct. The problem is that Series produces the exact same result for roots 2, 3, and 4. $\endgroup$ – Carl Woll Jan 8 '18 at 16:48
  • $\begingroup$ @ranguwud Consider NSolve[10^8 - 10^8 x + x^5 == 0, x]. One of the roots is just 1. The other roots, though, have a magnitude on the order of $(10^8)^{1/4} = 100$: $\endgroup$ – Carl Woll Jan 8 '18 at 18:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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