Transforming association matrix to a functional matrix

1. Jul 17, 2011

Pythagorean

I have n elements. Say n = 3.

Suppose I have an association matrix that gives the relationship between each element

$$\begin{array}{cc} 0 & 0 & D3\\ D1 & 0 & 0\\ 0 & D2 & 0 \end{array}$$

I have a function in mind now, I want to operate and the physical variables representing my three elements, $$\vec{y} = [y_1 y_2 y_3]$$. My functional matrix would look like:

$$\begin{array}{cc} -D1 & D1 & 0\\ 0 & -D2 & D2\\ D3 & 0 & -D3 \end{array}$$

so that I get $$\vec{y} = [D1(y_2 - y_1) D2(y_3-y_2) D3(y_1-y_3)$$

If you're interested in the physical/biological motivation, we basically have a unidirectional diffusion coupling between electrophysiological neurons here so you're seeing a numerical second derivative. Now, using matlab commands (circshift and transpose) I do circular shifts and transposes on the association matrix to nudge it into my functional shape.

But I'm having trouble with the more general case. What if I have two-way diffusion, but the diffusion is stronger in one direciton than in the other? Now the association matrix is:

$$\begin{array}{cc} 0 & D4 & D3\\ D1 & 0 & D5\\ D6 & D2 & 0 \end{array}$$

and what we for functional is:

$$\begin{array}{cc} -(D1+D4) & D1 & D4\\ D5 & -(D2+D5) & D2\\ D3 & D6 & -(D3 + D6) \end{array}$$

so that $$\vec{y} = [D1(y_3-y_1) + D4(y2_y1); D2(y_1- y_2) + D5(y_3-y_2) + ...]$$
Now, I can design another series of circshifts and tranposes, but it won't work for the case above. I can't find a general set of operations that works for both

This should work in general, for an nxn matrix.