Ali: <br><br>I&#39;d suggest that you clarify your interpretation of multi-variant.<br><br>Nearly all optimizers minimize a function of n variables. f( vector ). ie multi-variate<br>It is quite another thing to minimize multiple functions concurrently. ie multi-valued . for instance minimizing two metrics during registration.
<br><br>-- <br>Karthik Krishnan<br>R&amp;D Engineer,<br>Kitware Inc.<br><br><div><span class="gmail_quote">On 11/7/07, <b class="gmail_sendername">Stefan Klein</b> &lt;<a href="mailto:stefan@isi.uu.nl">stefan@isi.uu.nl</a>
&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div>
<font size="3">Hi,<br><br>
The itk/vxl::LBFGS(B)Optimizer implementation IS multivariate. The
&#39;multivariate&#39; label refers to the number of variables (input arguments
of the cost function) over which is optimised. <br><br>
the optimisaton problem is:<br><br>
min_x f(x)<br><br>
On the site
<a href="http://www.alglib.net/optimization/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://www.alglib.net/optimization/</a>&nbsp;
a multivariate optimisation method means that dim(x) &gt;1 is
allowed.<br><br>
The LBFGSOptimizer is not suitable for MultipleValuedCostFucnction, as
far as I know, only for SingleValuedCostFunctions.<br><br>
singlevalued means: dim(f) = 1<br>
multiplevalued means: dim(f) &gt; 1<br><br>
The vnl_cost_function indeed inherits from the vnl_unary_function, but
the vnl_unary_function is templated over a vector of doubles, which
contains the input argument x:<br><br>
class vnl_cost_function : public vnl_unary_function&lt;double,
vnl_vector&lt;double&gt; &gt;<br><br>
with kind regards,<br><span class="sg">
stefan</span></font><div><span class="e" id="q_1161a66040546b4d_2"><font size="3"><br><br>
<br>
At 08:35 7-11-2007, Luis Ibanez wrote:<br><br>
<br>
</font><blockquote type="cite"><font size="3">Hi Ali,<br><br>
<br>
1) It is not a &quot;problem&quot;, it is an &quot;implementation
feature&quot;.&nbsp;&nbsp; :-)<br><br>
<br><br>
2) It is not in ITK, it is in VXL,<br><br>
&nbsp;&nbsp; Please look at the implementation in the file:<br><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Insight/Utilities/vxl/core/vnl/vnl_lbfgs.h<br><br>
&nbsp;&nbsp; Where the optimizer takes as input a vnl_cost_function<br>
&nbsp;&nbsp; object, that derives from the vnl_unary_function
class.<br><br>
<br><br>
3) It will be great to have multi-variate implementations<br>
&nbsp;&nbsp; of these optimizers. If you are motivated to write 
one,<br>
&nbsp;&nbsp; it will make a great contribution to the Insight
Journal.<br><br>
<br><br>
&nbsp;&nbsp;&nbsp; Regards,<br><br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Luis<br><br>
<br><br>
-------------<br>
Ali - wrote:<br>
</font><blockquote type="cite"><font size="3">Hi,<br>
The VNL wrappers itk::LBFGSBOptimizer and itk::LBFGSOptimizer are
classified as single-variant optimiser, while being based on the
quasi-Newton method, they are multi-variant optimisers by nature -- see
<a href="http://www.alglib.net/optimization/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://www.alglib.net/optimization/</a>
. Is this the ITK wrapper problem or a VNL issue?<br>
_______________________________________________<br>
Insight-users mailing list<br>
<a href="mailto:Insight-users@itk.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">Insight-users@itk.org</a><br>
<a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://www.itk.org/mailman/listinfo/insight-users</a></font></blockquote><font size="3">_______________________________________________
<br>
Insight-users mailing list<br>
<a href="mailto:Insight-users@itk.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">Insight-users@itk.org</a><br>
<a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://www.itk.org/mailman/listinfo/insight-users</a></font></blockquote></span></div></div>

<br>

<br>_______________________________________________<br>Insight-users mailing list<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:Insight-users@itk.org">Insight-users@itk.org</a><br><a onclick="return top.js.OpenExtLink(window,event,this)" href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank">
http://www.itk.org/mailman/listinfo/insight-users</a><br><br></blockquote></div>