<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
<br><br>



<style>
.ExternalClass .ecxhmmessage P
{padding:0px;}
.ExternalClass body.ecxhmmessage
{font-size:10pt;font-family:Verdana;}
</style>


Hello, I am new to this forum. I am looking for a numerical solution to the inverse problem of an Ising model (or a model not-unlike the Ising model, see below). I have seen an old discussion, but very interesting, about this subject on this forum (<a href="http://mail.scipy.org/pipermail/scipy-user/2006-October/009703.html">http://mail.scipy.org/pipermail/scipy-user/2006-October/009703.html</a>).<div><br></div><div>I would like to pose my problem (which is quite similar to the problem discussed in the thread above) and kindly ask you your opinion on that:</div><div><br></div><div>My space is a set of discrete nodes,s_i, where i=1,...,N, which can take two values, {0,1}. Empirically I have the following information: &lt;s_i&gt;_emp and &lt;s_i*s_j&gt;_emp, where i,j=1,...,N with i!=j.</div><div><br></div><div>It is well known in the literature that the Ising model</div><div><br></div><div><span class="ecxApple-style-span" style="font-family:'Times New Roman';font-size:12pt"><pre>P(s_1, s_2, ..., s_N) = 1 / Z * exp( sum(h_i*s_i) + 0.5*sum(J_ij*s_i*s_j) )
                                    i               i!=j</pre><pre><font class="ecxApple-style-span" face="Verdana" size="3"><span class="ecxApple-style-span" style="font-size:13px;white-space:normal">maximizes entropy with the constraints given above (in fact, this is not the Ising model, because the Ising model assumes only nearest-neigbour interactions, and I have interactions with all other nodes, but I believe it is still true that the above P(s1,...sN)).</span></font></pre><pre><font class="ecxApple-style-span" face="Verdana" size="3"><span class="ecxApple-style-span" style="font-size:13px;white-space:normal">What I would like is to solve the inverse problem of finding the h_i and J_ij which maximize entropy given my constraints. However, I would like to restrict the number of h_i and J_ij possible, since having complete freedom could become an unwieldly problem. For example, I could restrict h_i = H and J_ij = J for all i,j=1,...N, i!=j, or I could have a partition of my nodes, say nodes from 1 to M having h_i = H1 and J_ij=J1 i,j=1,...,M i!=j, and h_i=H2 and J_ij=J2 i,j=M+1,...,N i!=j.</span></font></pre><pre><font class="ecxApple-style-span" face="Verdana" size="3"><span class="ecxApple-style-span" style="font-size:13px;white-space:normal">If I understand correctly the discussion in the thread shown above, a numerical solution for the inverse problem would be:</span></font></pre><pre><font class="ecxApple-style-span" face="Verdana" size="3"><span class="ecxApple-style-span" style="font-size:13px;white-space:normal"><span class="ecxApple-style-span" style="font-family:'Times New Roman';font-size:12pt"><pre>hi_{new}=hi_{old} + K * (&lt;si&gt; - &lt;si&gt;_{emp})
Jij_{new}=Jij_{old}+ K' * (&lt;si*sj&gt; - &lt;si*sj&gt;_{emp})

where K and K' are pos. "step size" constants. (On the RHS, &lt;si&gt; and 
&lt;si*sj&gt; are w.r.t. hi_{old} and Jij_{old}.)</pre><pre>Have I</pre><pre><span class="ecxApple-style-span" style="font-family:'Times New Roman';white-space:normal"><pre style="text-indent:0in !important"><font class="ecxApple-style-span" face="Verdana" size="3"><span class="ecxApple-style-span" style="font-size:13px;white-space:normal">Have I understood all this correctly?&nbsp;</span></font></pre><pre style="text-indent:0in !important"><font class="ecxApple-style-span" face="Verdana" size="3"><span class="ecxApple-style-span" style="font-size:13px;white-space:normal">In particular, for the case&nbsp;h_i = H and J_ij = J for all i,j=1,...N, i!=j could I simplify the previous algorithm by restricting the calculations only to say i=1 (i=2,...,N should be the same?), and for the case&nbsp;h_i = H1 and J_ij=J1 i,j=1,...,M i!=j, and h_i=H2 and J_ij=J2 i,j=M+1,...,N i!=j simplify it by restricting the calculations only to say i=1 and i=M+1?</span></font></pre><pre style="text-indent:0in !important"><font class="ecxApple-style-span" face="Verdana" size="3"><span class="ecxApple-style-span" style="font-size:13px;white-space:normal">Thank you for your help and sorry if I am new here and I have committed some "ettiquette" mistake.</span></font></pre><pre style="text-indent:0in !important"><font class="ecxApple-style-span" face="Verdana" size="3"><span class="ecxApple-style-span" style="font-size:13px;white-space:normal">Jordi</span></font></pre><pre style="text-indent:0in !important"><font class="ecxApple-style-span" face="Verdana" size="3"><span class="ecxApple-style-span" style="font-size:13px;white-space:normal"><br></span></font></pre></span></pre></span></span></font></pre></span></div>                                               </body>
</html>