[Insight-developers] Re: Conjugate Gradient Algorithm !
Karthik Krishnan
Karthik.Krishnan at kitware.com
Wed Jun 29 10:07:20 EDT 2005
Doesn't the boolean ivar m_OptimizerInitialized take care of that ?
karthik
Ashish Poddar wrote:
>in Conjugate Gradient Optimizer.cxx around Line number 81 in function
>
>void ConjugateGradientOptimizer::SetCostFunction(
>SingleValuedCostFunction * costFunction )
>
> m_VnlOptimizer = new vnl_conjugate_gradient( *adaptor );
>// should be replaced by this
> if (!m_VnlOptimizer) m_VnlOptimizer = new vnl_conjugate_gradient(
>*adaptor );
>
>This was causing the initialization which I did to disappear and that
>was probably the reason why my iterations were not terminating !!
>
>regards,
>Ashish.
>
>On 6/28/05, Ashish Poddar <ahpoddar at gmail.com> wrote:
>
>
>>in Conjugate Grandient algorithm [cg.c] i think there is a bug..
>>
>>L190:
>> ++na;
>> if (na > 25) {
>> goto L630;
>> }
>> q *= a4;
>> p = fv_(&q, x, h, n, value);
>> ins_(&q, &p, &a, &b, &c, &fa, &fb, &fc, &j, y, z);
>> if (p - f > v * q) {
>> goto L190;
>> }
>> goto L250;
>>
>>
>> if (p - f > v * q) {
>>//should be replaced by something like this
>> if ( (p - f) - (v * q) >= (1e-8) ) {
>>
>>when i run conjugate algorithm it starts repeating the metric value
>>for a long time and then suddenly starts moving is some extreme
>>direction, on debugging, I traced it back to this loop where it was
>>stuck !
>>
>>similar change needs to be carried at more places in the same file !
>>
>>I just want to confirm if this change is correct or not !!
>>
>>regards,
>>Ashish.
>>
>>--
>>Ashish Poddar
>>Have an acceptable reason for accepting anything.
>>Y:ashish_poddar | MSN:ashish_poddar at yahoo.com
>>
>>
>>
>
>
>
>
More information about the Insight-developers
mailing list