Ah, yes, that makes sense.  Thanks for pointing that out.  Much appreciated.

MB


On Apr 18, 2011, at 5:39 AM, Frank Reininghaus wrote:

> Hi,
> 
> 2011/4/18 Michael Braun <[email protected]>:
>> When I run this code, it prints the current state of the minimizer as 
>> expected (as you can see in this output).  The problem comes when trying to 
>> free Y.  The error is generated by the gsl_vector_free(Y) call.  I have no 
>> idea what I could be doing wrong here.
> 
> You are changing the pointer Y in this line:
> 
>>     // ASSIGNING CURRENT VALUE TO Y
>>     Y = gsl_multimin_fdfminimizer_x(s);
> 
> Now it does not point to the address you've allocated in the 'Y =
> gsl_vector_alloc(2)' statement, but to some memory which is owned by
> the gsl_multimin_fdfminimizer object. This memory is free'd when you
> call 'gsl_multimin_fdfminimizer_free (s)', such that any attempt to
> free the memory again later on will result in an error.
> 
> To fix this, you should copy the values of the vector returned by
> 'gsl_multimin_fdfminimizer_x(s)' to the vector that 'Y' points to,
> rather than changing the pointer itself.
> 
> Cheers,
> Frank




Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________
Bug-gsl mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-gsl

Reply via email to