eigenvalues of sum of tensor product of matrices

1.4k Views Asked by At

Lets say $A, B$ are rank 1 hermitian real matrices. It follows immediately that $A\otimes A$ and $B\otimes B$ individually are rank 1. My question is how does the largest eigenvalue of $A+B$ relate to the largest eigenvalue of $A\otimes A+B\otimes B$. I have phrased the question as if A,B are 2 by 2 matrices, but I would like to know the intuition in general for arbitrary dimensions. Any references would also be appreciated!

2

There are 2 best solutions below

6
On BEST ANSWER

As $A$ is rank-1 Hermitian, its only nonzero eigenvalue is $a=\operatorname{tr}(A)$. Define $b$ similarly for $B$.

Weyl's inequality states that if $X$ and $Y$ are Hermitian matrices of the same sizes, and $\lambda_k(\cdot)$ denotes the $k$-th smallest eigenvalue of a matrix, then $$ \lambda_k(X)+\lambda_\min(Y)\le\lambda_k(X+Y)\le\lambda_k(X)+\lambda_\max(Y).\tag{1} $$ It follows that $$ \max\left\{\lambda_\max(X)+\lambda_\min(Y), \ \lambda_\max(Y)+\lambda_\min(X)\right\}\le\lambda_\max(X+Y)\le\lambda_\max(X)+\lambda_\max(Y).\tag{2} $$ Now, as $a$ is the only nonzero eigenvalue of $A$, we have $\lambda_\max(A\otimes A)=a^2$ (even when $a$ is negative) and $\lambda_\min(A\otimes A)=0$ and similarly for $B\otimes B$. So, $(2)$ gives $$ \max\{a^2,b^2\}\le\lambda_\max(A\otimes A+B\otimes B)\le a^2+b^2\tag{3} $$ and both bounds are sharp: the lower bound is attained when $A=\operatorname{diag}(a,0,0,\ldots,0)$ and $B=\operatorname{diag}(0,b,0,\ldots,0)$, while the upper bound is attained if take $B=\operatorname{diag}(b,0,0,\ldots,0)$ instead.

Note that the eigenvalues of $A\otimes A+B\otimes B$ are not solely determined by $a$ and $b$. More specifically, by spectral decomposition, we can always write $A=auu^\ast$ and $B=bww^\ast$ for some unit vectors $u,w$. Let $w=cu+sv$ for some unit vector $v\perp u$. By picking some appropriate phase angles for $w$ and $v$, we may assume that $c$ and $s$ are real nonnegative and hence $s=\sqrt{1-c^2}$. So, by a change of basis, we may assume that $$ A=\pmatrix{a&0\\ 0&0}\oplus0,\quad B=b\pmatrix{c^2&sc\\ sc&s^2}\oplus0. $$ It follows that $c = \sqrt{\dfrac{\operatorname{tr}(ABA)}{aba}}$. Therefore, the eigenvalues of $A+B$ and $A\otimes A+B\otimes B$ are completely determined by $a,b$ and $c$.

2
On

This is not a full answer, but I wish it can help.

Let $\lambda_{max}$ be the largest eigenvalue of $A+B$,

and $\Lambda_{max}$ be the largest eigenvalue of $C=A \otimes A + B \otimes B$.

I have done extensive simulations (see Matlab program and accompanying figure: stars for $\Lambda_{max}$, circles for $\lambda_{max}$): something general and interesting can be conjectured about a certain threshold situated here around $s=1.75$, yielding broadly two cases:

  • either $s\leq\lambda_{max}\leq\Lambda_{max}$ or the reverse situation:

  • $\Lambda_{max}\leq\lambda_{max}\leq s$.

  • But this classification suffers exceptions that should be analysed in a more thorough manner.

Did you have a similar conjecture ?


The part of analysis I have done is as follows (but I have not enough time to devote to it).

The term hermitian can be replaced here by symmetric $n \times n$.

$A$ and $B$ being rank one, their resp. spectra are $\{\lambda_A,0,0,\cdots,0\}$ and $\{\lambda_B,0,0,\cdots,0\}$ ($n-1$ zeros) with $\lambda_A,\lambda_B$ real because they are symmetric.

$A+B$, in general is thus a symmetric rank 2 matrix, meaning that it has two non zero real eigenvalues.

The spectra of $A \otimes A$ and $B \otimes B$ are thus resp. $\{\lambda_A^2,0,0,\cdots,0\}$ and $\{\lambda_B^2,0,0,\cdots,0\}$ (with $n^2-1$ zeros), meaning that they are both rank 1 matrices. Their sum $C=A \otimes A + B \otimes B$ is thus a rank 2 matrix in general.

Here is the Matlab program and (below) the graphical display

clear all;close all;hold on i=complex(0,1); for k=1:50 U=rand(3,1); A=U*U'; KA=kron(A,A); V=rand(3,1); B=V*V'; KB=kron(B,B); eKAB=eig(KA+KB); I=find(abs(eKAB)>0.01); LKAB=eKAB(I)'; eAB=eig(A+B); I=find(abs(eAB)>0.0001); LAB=eAB(I)'; plot(k*i+max(LAB),'or'); plot(k*i+max(LKAB),'*b'); plot(k*i+[max(LAB),max(LKAB)]) end;