# Solving Ax = b where A is composed of diagonal blocks

I would like to solve the equation $Ax=b$ where $x\in\mathbb{R}^n$ and $A$ is of the form: $$A= \begin{bmatrix} D_1 & D_2 &D_3 \\ D_2 & D_4 & D_5 \\ D_3 & D_5 & D_6 \end{bmatrix}$$ where $D_i \in \mathbb{R}^{n\times n}$ are diagonal matrices for $i=1,\ldots,6$.

Thank you very much in advance!

• Shouldn't $x\in \mathbb {R}^{3n}$? – DKal Mar 30 '14 at 19:31

This system is equivalent to $n$ independent $3 \times 3$ systems, which can be solved in parallel.
Let $x = \begin{bmatrix} x_1 \\ x_2 \\ x_3 \end{bmatrix}$, where each $x_i \in \mathbb R^n$. Similarly let $b = \begin{bmatrix} b_1 \\ b_2 \\ b_3 \end{bmatrix}$.
The $i$th $3 \times 3$ system is \begin{align} D_1^i x_1^i + D_2^i x_2^i + D_3^i x_3^i &= b_1^i \\ D_2^i x_1^i + D_4^i x_2^i + D_5^i x_3^i &= b_2^i \\ D_3^i x_1^i + D_5^i x_2^i + D_6^i x_3^i &= b_3^i. \end{align}
(Here $x_1^i$ is the $i$th component of $x_1$, $D_1^i$ is the $i$th diagonal entry of $D_1$, etc.)