The only resource available on the internet regarding the application of matrix exponentiation to **TWO-DIMENSIONAL** dynamic programming problems is this :-

http://threads-iiith.quora.com/Solving-Dynamic-Programming-with-Matrix-Exponentiation

Though the author has covered the topic with nice examples, I have some doubts:-

1) Unlike solving linear recurrences (using matrix exponentiation), I cannot find any solid mathematics behind the steps (or how does it work mathematically) involved in this technique.

2) How are the base-states taken into account in this technique? After building the adjacency-matrix (as is explained in the quora-article), and exponentiating it, what all values do we have to sum up to get the final answer?

I am pretty vague about all these details so any help will be much appreciated.