# Optimization of closed (ring) transforms

I have a closed set of 4 linear matrix (3x3) transforms. Let's name them (A,B,C,D). Closed set means that $D*C*B*A=E$, where $E=eye(3)$. Their numeric representation is known from experiment and, therefore, is subject to some error. Of course, knowing all 4 elements of the closed set is excessive, and the errors may lead to non self-consistency, when the above equation is not satisfied, so I would like to use this extra information to compensate for the errors.

For my purposes I need to calculate relative transforms from element #0 to all other elements, which are given by these transforms. Because of the errors this is ambiguos, for example:
for (0→0) transform I could use both $E$ and $D*C*B*A$;
for (0→1) transform: $A$ and $B^{-1}*C^{-1}*D^{-1}$;
for (0→2): $B*A$ and $C^{-1}*D^{-1}$, finally
for (0→3): $C*B*A$ and $D^{-1}$

I would like to use some optimization method or other algorithm to ensure that my transforms had possibly smaller error and were self-consistent, i.e. didn't depend on direction of traverse.

I think, you should execute the steps below. Let's search for a little bit modified matrices $\tilde{A}, \tilde{B}, \tilde{C}$ and $\tilde{D}$, such that these matrices satisfy your closedness condition. At the same time we need to minimise the deviation of each matrix from the given one in terms of Frobenius norm. So it gives us an optimization procedure of the form
$\min\limits_{\tilde{D}\tilde{C}\tilde{B}\tilde{A}=E} \{\|A-\tilde{A}\|^2+\|B-\tilde{B}\|^2+\|C-\tilde{C}\|^2+\|D-\tilde{D}\|^2\}.$