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".

Equation 19 from doi: 10.12720/ijmse.3.1.12-18

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.

  • $\begingroup$ 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? $\endgroup$
    – boyfarrell
    Feb 16, 2017 at 23:36
  • $\begingroup$ 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? $\endgroup$
    – Kirill
    Feb 16, 2017 at 23:54
  • $\begingroup$ 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. $\endgroup$
    – boyfarrell
    Feb 17, 2017 at 0:55

1 Answer 1


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.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.