I am trying to implement GraphSlam from this paper. I have some doubt regarding the algorithm described in this paper at table2: Algorithm GraphSLAM_linearize. enter image description here

I have a doubt in line 7. As per my knowledge, Gt is a 3*3 matrix. How could I subtract 1 from a 3*3 matrix? As per matrix subtraction rule both matrices should be in same dimension.


1 Answer 1


That is not $[1 - G_t]$, it's $[1 \qquad -G_t]$ (exaggerating the space between the two elements. For all intents and purposes, consider $1$ to be the equivalent identity matrix, and $G_t$ is just a submatrix in this. Intuitively, in this case, $1$ would be $I_{3\times3}$.

In equation 7, the multiplication follows this order:

$(6 \times 3) * (3 \times 3) * (3 \times 6)$

Remember that the information matrix is not $(3\times3)$. It's a big, sparse matrix with non-zero submatrices along its diagonal, so adding a $(6\times6)$ matrix to that would mean you need to decompose the resulting matrix from equation 7 into submatrices that correspond to $\Omega$ at $x_t$ and $x_{t-1}$, etc.

  • $\begingroup$ Thank you. Now it's clear to me. What is the dimension of Omega Matrix? Is that depend upon the how many odometer data I have and how many measurement data I have? I am using UTIAS Multi robot Co-operative Localization and Mapping Dataset. Robot 1 have near about 1lakh odometer data and 8000 measurement data. So in respect to original Omega dimension is it 1lakh8000*1lakh8000 Matrix? $\endgroup$
    – Encipher
    Commented Jul 7, 2018 at 7:14

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.