2
$\begingroup$

Given a square matrix $A\in k^{n\times n}$ and a vector $x\in k^n$ over some field $k$, is there an algorithm to test whether there are $s\in\mathbb{N}$ and $\lambda\in k$ such that $A^sx=\lambda x$? In other words, is there an algorithm to check whether $x$ is an eigenvector of some power of the matrix $A$?

By a change of basis we may assume without loss of generality that $x=e_1$. An algorithm for a fixed field, say $k=\mathbb{Q}$, would also help a lot! Thanks for your answers.

$\endgroup$
6
  • 1
    $\begingroup$ Compute the minimal polynomial relative to $x$. If it's $x^k$, you have an eigenvector for $A^k$. $\endgroup$ Aug 18, 2015 at 15:36
  • $\begingroup$ I just saw that I used the variable $n$ two times meaning different things. The question is now updated, $s$ and $n$ are different numbers. Sorry for the mistake. $\endgroup$
    – Stefan
    Aug 18, 2015 at 16:07
  • $\begingroup$ @ChrisGodsil Thanks for your reply. I don't think this will work in the way I think of it. Take for instance $k=\mathbb{R}$, $n=2$ and let $A$ be a matrix the rotates each vector by 1 degree. Each vector $x\in\mathbb{R}^2$ should be an eigenvector of $A^{360}$, but the minimal polynomial of $A$ relative to $x$ should have degree 2 and $A^2$ has no real eigenvectors. Maybe I understood you wrong or this is due to the small mistake I just fixed in my question. Could you explain your approach to me? Thank you! $\endgroup$
    – Stefan
    Aug 18, 2015 at 16:12
  • $\begingroup$ My comment is wrong, sorry. $\endgroup$ Aug 18, 2015 at 20:56
  • $\begingroup$ I'm surprised to find this question flagged as off-topic. I read the rules and don't find anything that I violated. This is a question originating from my research work as a PhD student at a university. I asked my colleagues and two more professors about it and they didn't know an immediate answer to this question. You wrote "MathOverflow is for mathematicians to ask each other questions about their research." and this exactly what I thought I was doing. The question is also "well-defined" and has a "specific answer" as stated in the help section. Could you please tell me what is wrong here? $\endgroup$
    – Stefan
    Aug 19, 2015 at 7:46

1 Answer 1

7
$\begingroup$

Let $f(T)$ be the monic polynomial of smallest degree such that $f(A)x=0$ (which is cheap to compute if $n$ isn't too big.) Then $A^sx=\lambda x$ if and only if $f(T)$ divides $T^s-\lambda$.

So a necessary condition is that $f(T)$ has all roots of same length.

To obtain a necessary and sufficient condition, in the case $k=\mathbb Q$, requires some number theory and (symbolic) algebra: Let $\alpha$ be a root of $f(T)$. Set $g(T)=\alpha^{\deg f}f(T/\alpha)$. So one has to decide if $g(T)$ divides $T^s-1$ for some $s$. In order to do so, one can compute the product $G(T)$ of all the Galois conjugates of $g(t)$. Note that $G(T)\in\mathbb Q[T]$ is monic. If one of the coefficients of $G(T)$ isn't an integer, then $G(T)$ never divides $T^s-1$. So assume that $G(T)\in\mathbb Z[T]$.

At this stage one could use a theorem by Kronecker, which says that all roots of $G(T)$ are roots of unity if and only if all complex roots of $G(T)$ are on the unit circle. Algebraically, this might be a little difficult to decide.

An alternative therefore is: For each irreducible factor $F(T)$ of $G(T)$, we need to decide if $F(T)$ divides some $T^s-1$. But that is equivalent to $F(T)$ being a cyclotomic polynomial. For $m=\deg F(T)$ there are only finitely many (and computable) $s\in\mathbb N$ such that $\phi(s)=m$ ($\phi$ is Euler's totient function). For each of these $s$ check if $F(T)$ is the $s$-th cyclotomic polynomial.

$\endgroup$
6
  • $\begingroup$ Thanks for your thoughts and the answer, I hope I understand it right. This helps finding whether some specific $s$ works (even though it may be easier to just compute $A^sx$ to check a given $s$). The problem is that $s$ is nothing I know beforehand. I am looking for an algorithm to find an $s$ such that $A^sx=\lambda x$ or at least find whether there is such an $s$. Starting at your suggestion: How do I find an $s\in\mathbb{N}$ and $\lambda\in k$ such that a given polynomial is a divisor of $T^s-\lambda$? You gave some necessary conditions, but are there also sufficient conditions for this? $\endgroup$
    – Stefan
    Aug 19, 2015 at 7:38
  • $\begingroup$ I enhanced my answer to cover the case $k=\mathbb Q$. $\endgroup$ Aug 19, 2015 at 8:50
  • $\begingroup$ Thank you very much, this helped a lot. I have one last (probably easy) question: Is it really necessary to compute the product of all Galois conjugates? If $g$ has some root $\alpha\in\mathbb{C}$ and $g\in\mathbb{Q}[x]$, shouldn't $g$ also be a multiple of the minimal polynomial of $\alpha$? Is there an easy example where $g\neq G$? $\endgroup$
    – Stefan
    Aug 19, 2015 at 12:16
  • $\begingroup$ @Stefan: In general $\alpha$ won't be rational, so $g(T)$ normally won't have rational coefficients. Of course if $f(T)$ happens to have a rational root $\alpha$, then $g=G$ and things are a little easier. $\endgroup$ Aug 19, 2015 at 12:59
  • $\begingroup$ It might be easier to determine the set of possible $s$'s for a given matrix size and just compute all of the $A^s x$. $\endgroup$
    – user13113
    Aug 19, 2015 at 14:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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