Is this a regression analysis problem?

So I have a series of experimentally determined 2x2 matrices (y0, y1, y2,etc) and I know each of them is a product of some number of unknown 2x2 matrices (d1,d2,etc) and some number of known matrices (k1,k2,etc). The order for the multiplication is determined by my test setup and there is a certain amount of flexibility here. One experiment example could result in the following equations:

[y0] = [d1][k1][d2]

[y1] = [d1][k2][d2]

...

[yn] = [d1][kn][d2]

My FIRST question would be where would error terms come into these equations? The k matrices could have changed value a bit between when I measured them the first time and when I measured the y matrices so I would expect this error to change an equation to the following:

[y] = [d1]([k] + [ERROR])[d2]

Also, there will be some error in the measurement of y yielding:

[y] = [d1]([k] + [Error k])[d2] + [Error y]

The d matrices could have changed a bit between measurements of y matrices, but I believe that this error would just be [Error y].

My SECOND question would be how would I would go about solving for the d matrices in an arbitrary experiment of this type? Some experiments might not have enough data, others might be too computationally complex. If this question is too difficult to answer, an answer for the particular example experiment above would be fine too!

I have already done a lot of research into that particular example which I will go into in a reply to this thread.

PS: I have asked another question in the university algebra board that deals with another example experiment; the link is below:

http://mathhelpforum.com/advanced-algebra/220530-possible-solve-system-equations-unknown-matrices.html

Re: Is this a regression analysis problem?

I'll now go into the example experiment defined above.

For now we can just deal with the first two equations above, and leave out the error terms for now.

[y1] = [d1][k1][d2]

[y2] = [d1][k2][d2]

We can get this into a general matrix equation in the form AX = XB (A and B are known, X unknown) with the following series of operations:

1) Multiply the first eqn by the inverse of the second:

[y1]([y2]^-1) = [d1][k1][d2]([d2]^-1)([k2]^-1)([d1]^-1)

2) Cancel [d2] (because X*X^-1 = Identity matrix):

[y1]([y2]^-1) = [d1][k1]([k2]^-1)([d1]^-1)

3) Multiply by [d1] to move [d1] to the other size:

[y1]([y2]^-1) [d1]= [d1][k1]([k2]^-1)

The equation above has only one unknown matrix, [d1], so we can multiply the known matrices together to get an equation of the form AX=XB where [d1] is X. From here we have a problem that has been solved before, and we can do some more math (covered here: MATRICES - Existence of non-trivial solution of Sylvester equation. - efreedom) to get the following result:

(I⊗A−(B.*)⊗I)vec(X)=0

This is a linear equation! There is of course the trivial solution where X can equal 0, but taking the null space of the left side of the equation should give us the solutions. We can follow the same above procedure using more sets of data (y3, k3, y4, k4, etc.) so that we should be able to pin down the exact solution.

I have run the example above with random input data in matlab but without much success. Is there something I am missing here? Also, how do I determine how many data sets I need? ALSO, I am totally lost when it comes to the effect the error terms will have when I use this method on read data sets. Any clarification of the effects would be very much appreciated! Thanks!