# Elementary block matrix operations to block-triangularize block tridiagonal matrix

For some flow modeling purpose, the system $$(S)$$ defined as $$MX=L$$ is solved, where $$M$$ is a tridiagonal block matrix defined as

$$M= \begin{pmatrix}B_1& C_1 &0 &0 \\ A_2 & B_2 & C_2 & 0 \\ 0& A_3 & B_3 & C_3 \\ 0 & 0 & A_4 & B_4\end{pmatrix}$$

and $$L$$ is a block vector defined as

$$L = \begin{pmatrix} L_1 \\ L_2 \\ L_3 \\ L_4 \end{pmatrix}$$

For some physical constraints, I need to get rid of the block $$A_4$$ and have the last line as

$$\begin{pmatrix} 0 & 0 & 0 & X \end{pmatrix}$$

where $$X$$ is the resultant block after transforming $$M$$. Note that $$A_i$$ blocks are not invertible.

Here are two ideas I thought about using my humble matrices background, but I'm not sure they're right (I'm assuming the same properties of simple matrices are available for block matrices, which is not always true..) :

1. Change the third column $$Col_3$$ as follows : $$Col_3 <- Col_3 - A_4B_4^{-1}Col_4$$. The results retrieved were wrong...

2. Multiplying $$M$$ on the left by the matrix $$\begin{pmatrix}I& 0 &0 &0 \\ 0 & I & 0 & 0 \\ 0& 0 & I & 0 \\ Z_1 & Z_2 & Z_3 & I\end{pmatrix}$$ and try to find $$Z_i$$ as a function of the blocks $$A_i, B_i$$ and $$C_i$$ so I'd have the last line in a $$\begin{pmatrix} 0 & 0 & 0 & X \end{pmatrix}$$ format. The computation was a bit complicated and didn't give good results.

How can I transform M to have its last line in a $$\begin{pmatrix} 0 & 0 & 0 & X \end{pmatrix}$$ format and have the same solution as the $$(S)$$ system ?

Thanks!

• Wouldn't LU decomposition (factorisation) of M help? Commented Jul 21, 2020 at 18:12
• I like the idea. It would certainly help although I'll have to change much more in the code! I'll give it a try once I'm sure the "simple methods" wouldn't work. Thanks! Commented Jul 23, 2020 at 8:58

I think that idea (1) is the most promising. Applying your "column operation" yields $$\pmatrix{B_1& C_1 &0 &0 \\ A_2 & B_2 & C_2 & 0 \\ 0& A_3 & B_3 & C_3 \\ 0 & 0 & A_4 & B_4} \overbrace{\pmatrix{I & 0 & 0 & 0\\ 0 & I & 0 & 0\\ 0 & 0 & I & 0\\ 0 & 0 & -B_4^{-1}A_4 & I}}^P = \pmatrix{B_1& C_1 &0 &0 \\ A_2 & B_2 & C_2 & 0 \\ 0& A_3 & B_3-C_3B_4^{-1}A_4 & C_3 \\ 0 & 0 & 0 & B_4}.$$ Now, instead of solving $$MX = L$$, we could solve $$(MP)(P^{-1}X) = L$$. That is, solve $$(MP)Y = L$$, then noting that $$M (PY) = L$$, set $$X = PY$$.