Riemann solution and upwind method for linear hyperbolic system Suppose we have the system 
$$ \begin{cases} u_t + av_x = 0 \\ v_t + b u_x =0 \end{cases} $$
where $a,b \in \mathbb{R}$.
If we write this in the form ${\bf u}_t + A {\bf u}_x = 0$ where ${\bf u} = (u,v)^T$, then we observe that 
$$ A = \begin{bmatrix} a & 0 \\ 0 & b \end{bmatrix}$$
implying that the system is ${\bf hyperbolic}$ when $ab \neq 0$ because otherwise $A$ is not diagonalizable. I want to derive an upwind scheme to solve such system. I am thinking of this scheme
$$ {\bf u}_{k}^{n+1}= {\bf u}_k^{n} - \frac{\Delta t }{\Delta x } A ({\bf u}_{k}^{n} - {\bf u}_{k-1}^{n})$$
Isnt the stability condition just the same as if we were doing for $q_t + c q_x = 0$?
Now, here where I dont understand how to solve the problem. What if we impose the initial conditions 
$$ \begin{cases} u(x,0) \\ v(x,0)  \end{cases}  = \begin{cases} \{ u_L, v_L \} & x<0 \\ \{ u_R, v_R\} & x>0\end{cases}$$
how do we the find the Riemman solutions of the system?
 A: Let us diagonalize the matrix $A$ such that ${\bf u}_t + A {\bf u}_x = {\bf 0}$ as follows:
\begin{aligned}
A &= \begin{pmatrix}0 & a\\ b & 0\end{pmatrix} \\
&= \begin{pmatrix}-\sqrt{a/b} & \sqrt{a/b}\\ 1 & 1\end{pmatrix}
\begin{pmatrix}-\sqrt{a/b} & 0\\ 0 & \sqrt{a/b}\end{pmatrix}
\frac12 \begin{pmatrix}-\sqrt{b/a} & 1\\ \sqrt{b/a} & 1\end{pmatrix}\\
&= R\Lambda R^{-1}\\
\end{aligned}
if $a$ and $b$ have the same nonzero sign. Introducing ${\bf v} = R^{-1} {\bf u}$, we have ${\bf v}_t + \Lambda {\bf v}_x = {\bf 0}$, for which an upwind method can be derived componentwise (be careful that correct upwinding is used: here the eigenvalues $\pm \sqrt{a/b}$ have opposite sign). Introducing the matrices $A^\pm = \tfrac12 (A\pm |A|)$ with $|A| = R |\Lambda| R^{-1}$,
and going back to the original variables,
the upwind method may be written
\begin{aligned}
{\bf u}_i^{n+1} &= {\bf u}_i^{n} - \frac{\Delta t}{\Delta x} A^+ ({\bf u}_i^{n} - {\bf u}_{i-1}^{n}) - \frac{\Delta t}{\Delta x} A^- ({\bf u}_{i+1}^{n} - {\bf u}_{i}^{n}) \\
&= {\bf u}_i^{n} - \frac{\Delta t}{2\Delta x} A ({\bf u}_{i+1}^{n} - {\bf u}_{i-1}^{n}) + \frac{\Delta t}{2\Delta x} |A| ({\bf u}_{i+1}^{n} - 2{\bf u}_{i}^{n} + {\bf u}_{i-1}^{n}) .
\end{aligned}
It is stable under the CFL condition $\sqrt{a/b}\; \Delta t/\Delta x \leq 1$. The Riemann solution can also be obtained from the diagonalized form.
