Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Transforming association matrix to a functional matrix

  1. Jul 17, 2011 #1

    Pythagorean

    User Avatar
    Gold Member

    I have n elements. Say n = 3.

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

    [tex]
    \begin{array}{cc}
    0 & 0 & D3\\
    D1 & 0 & 0\\
    0 & D2 & 0
    \end{array} [/tex]

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

    [tex]
    \begin{array}{cc}
    -D1 & D1 & 0\\
    0 & -D2 & D2\\
    D3 & 0 & -D3
    \end{array} [/tex]

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

    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:

    [tex]
    \begin{array}{cc}
    0 & D4 & D3\\
    D1 & 0 & D5\\
    D6 & D2 & 0
    \end{array} [/tex]

    and what we for functional is:


    [tex]
    \begin{array}{cc}
    -(D1+D4) & D1 & D4\\
    D5 & -(D2+D5) & D2\\
    D3 & D6 & -(D3 + D6)
    \end{array} [/tex]

    so that [tex]\vec{y} = [D1(y_3-y_1) + D4(y2_y1); D2(y_1- y_2) + D5(y_3-y_2) + ...][/tex]
    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.

    Thank you for your help.
     
  2. jcsd
  3. Jul 24, 2011 #2

    Pythagorean

    User Avatar
    Gold Member

    A friend and co-worker came up with this (F = functional matrix, A = association matix)

    F = transpose(A) - diag(sum(rows(A)))

    that is, if you take the sum of the rows of A and place it on a diagonal of an otherwise 0 matrix, then subtract that from the transpose of A, you have the functional matrix of diffusive coupling for that association matrix!
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook




Similar Discussions: Transforming association matrix to a functional matrix
  1. Matrix Transformation (Replies: 8)

  2. Matrix Transform (Replies: 8)

Loading...