<html>
<body>
<font size=3>Hi,<br><br>
The itk/vxl::LBFGS(B)Optimizer implementation IS multivariate. The
'multivariate' 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/" eudora="autourl">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>
stefan<br><br>
<br>
At 08:35 7-11-2007, Luis Ibanez wrote:<br><br>
<br>
<blockquote type=cite class=cite cite>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>
<blockquote type=cite class=cite cite>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/" eudora="autourl">http://www.alglib.net/optimization/</a>
. Is this the ITK wrapper problem or a VNL issue?<br>
_______________________________________________<br>
Insight-users mailing list<br>
Insight-users@itk.org<br>
<a href="http://www.itk.org/mailman/listinfo/insight-users" eudora="autourl">http://www.itk.org/mailman/listinfo/insight-users</a></blockquote>_______________________________________________<br>
Insight-users mailing list<br>
Insight-users@itk.org<br>
<a href="http://www.itk.org/mailman/listinfo/insight-users" eudora="autourl">http://www.itk.org/mailman/listinfo/insight-users</a></font></blockquote></body>
<br>
</html>