# Writing a non-square linear system in standard form $A\cdot{x}=b$

I have spend the last few days working my way through an interesting paper and I'm building a numerical model so I can apply the method. However, I am getting stuck at an "it can be shown" step.

I am trying to convert the following system into the form $A\cdot{x}=b$. Have I missed something obvious, I really don't know how to go about this step. The paper just says "can be simplified to the general form".

where $\boldsymbol{I}$ is a 3x3 identity matrix, $\boldsymbol{A}$, $\boldsymbol{B}$, $\boldsymbol{C}$ and $\boldsymbol{D}$ are 3x3 matrices and $\boldsymbol{t_A}$, $\boldsymbol{t_B}$, $\boldsymbol{t_C}$ and $\boldsymbol{t_D}$ are 3x1 vectors.

The the size of the matrix is 24x12, the size of the unknown matrix and the right-hand side is 12x1.

• If I leave the first 6 rows in the matrix as blocks, and expand the vectors, yes I can indeed make it 12x12! I guess, the follow up, how can I compute that numerically? Feb 16, 2017 at 23:36
• On second thought, I'm now not sure. I think the zero vectors on the right should be $9\times 1$. But you definitely can't change the size of the matrix by reinterpreting its block form differently. I still think there's no actual transformation here. Could they mean solving it in the least-squares sense? Feb 16, 2017 at 23:54
• Thanks for the comment on the zero vectors, that would make the right hand side 24x1. The purpose of the paper is that it's an analytical solution. I looked into scipy's options for solving non-square systems, but according the paper is not required. So I'm a little stumped. Feb 17, 2017 at 0:55

The matrix math in this paper is terribly hard to follow, but here's what equation (19) should look like

$\left( \begin{array}{c|c|c|c} c_{11} \mathbf{I} - \mathbf{A}^T & c_{12} \mathbf{I} & c_{12} \mathbf{I} & \mathbf{0}^{3\times 3} \\ \hline c_{21} \mathbf{I} & c_{22} \mathbf{I} - \mathbf{A}^T & c_{23} \mathbf{I} & \mathbf{0}^{3\times 3} \\ \hline c_{31} \mathbf{I} & c_{32} \mathbf{I} & c_{33} \mathbf{I} - \mathbf{A}^T & \mathbf{0}^{3\times 3} \\ \hline d_{11} \mathbf{I} - \mathbf{B}^T & d_{12} \mathbf{I} & d_{12} \mathbf{I} & \mathbf{0}^{3\times 3} \\ \hline d_{21} \mathbf{I} & d_{22} \mathbf{I} - \mathbf{B}^T & d_{23} \mathbf{I} & \mathbf{0}^{3\times 3} \\ \hline d_{31} \mathbf{I} & d_{32} \mathbf{I} & d_{33} \mathbf{I} - \mathbf{B}^T & \mathbf{0}^{3\times 3} \\ \hline \mathbf{t}_A^T & \mathbf{0}^{1\times 3} & \mathbf{0}^{1\times 3} & \\ \mathbf{0}^{1\times 3} & \mathbf{t}_A^T & \mathbf{0}^{1\times 3} & \mathbf{I}-\mathbf{C}\\ \mathbf{0}^{1\times 3} & \mathbf{0}^{1\times 3} & \mathbf{t}_A^T & \\ \hline \mathbf{t}_B^T & \mathbf{0}^{1\times 3} & \mathbf{0}^{1\times 3} & \\ \mathbf{0}^{1\times 3} & \mathbf{t}_B^T & \mathbf{0}^{1\times 3} & \mathbf{I}-\mathbf{D}\\ \mathbf{0}^{1\times 3} & \mathbf{0}^{1\times 3} & \mathbf{t}_B^T & \\ \end{array} \right) \left( \begin{array}{c} \mathbf{x}_1 \\ \hline \mathbf{x}_2 \\ \hline \mathbf{x}_3 \\ \hline \mathbf{t}_x \\ \end{array} \right) = \left( \begin{array}{c} \mathbf{0}^{3\times 1} \\ \hline \mathbf{0}^{3\times 1} \\ \hline \mathbf{0}^{3\times 1} \\ \hline \mathbf{0}^{3\times 1} \\ \hline \mathbf{0}^{3\times 1} \\ \hline \mathbf{0}^{3\times 1} \\ \hline \\ \mathbf{t}_C \\ \\ \hline \\ \mathbf{t}_D \\ \\ \end{array} \right)$

I've used dividing lines to help with alignment. Each block within lines in the matrix is $3 \times 3$. I've marked zero blocks with superscripts to indicate their size.

The following matrices are dimension $3 \times 3$: $\mathbf{A}$, $\mathbf{B}$, $\mathbf{C}$, $\mathbf{D}$, and $\mathbf{I}$.

The following vectors are dimension $3 \times 1$: $\mathbf{x}_1$, $\mathbf{x}_2$, $\mathbf{x}_3$, $\mathbf{t}_x$, $\mathbf{t}_A$, $\mathbf{t}_B$, $\mathbf{t}_C$, and $\mathbf{t}_D$.

The following are scalars: $c_{ij}$, $d_{ij}$.

This makes the whole system

$\mathbf{N}^{24 \times 12} \mathbf{x}^{12 \times 1} = \mathbf{b}^{24 \times 1}$

The most obvious way to solve this in the least squares sense.

$\mathbf{N}\mathbf{x} = \mathbf{b}$

$\mathbf{N}^T\mathbf{N}\mathbf{x} = \mathbf{N}^T\mathbf{b}$

$\mathbf{x} = \left( \mathbf{N}^T\mathbf{N}\right)^{-1}\mathbf{N}^T\mathbf{b}$

It's not explicitly said in the paper that this is what they did, but it's possible.