[SciPy-dev] Trouble with optimize.fmin_ncg

dmitrey openopt at ukr.net
Tue Jul 24 11:33:51 EDT 2007


Nils, are you sure that troubles raised after last svn changes?
All my changes are in func _cubicmin from optimize.py
but when I placed a breakpoint there, the hanging cycle didn't reached 
the one.
Can't you do the same trick?
scipy/optimize/optimize.py
line 309,
    d1 = empty((2,2))

I have found the hanging cycle (optimize.py, line 1030,
while numpy.add.reduce(abs(ri)) > termcond: )
but numpy.add.reduce(abs(ri)) is constantly growing here.

maybe you had changed x0 and now it's too far from x_opt?

btw if 2nd derivatives are not supplied, then other cycle is hanging:
line 1013:
    while (numpy.add.reduce(abs(update)) > xtol) and (k < maxiter):
I don't know howto fix the problem.
Please inform me about the breakpoint.

BTW your func seems to be very suspicious to me
def R(v):
    rq = dot(v.T,A*v)/dot(v.T,B*v)
    res = (A*v-rq*B*v)/linalg.norm(B*v)
    data.append(linalg.norm(res))
    return rq      

are you sure that the func(v)=dot(v.T,A*v)/dot(v.T,B*v) is convex?
I'm not.
So using 2nd derivatives (or their approximating by fmin_ncg  (if user 
didn't provide that ones) , in line 1033:
                    Ap = approx_fhess_p(xk,psupi,fprime,epsilon)
)
will handle non-convex funcs much more bad than 1-st order do.

HTH, D.


Nils Wagner wrote:
> dmitrey wrote:
>   
>> you have line
>> A = io.mmread('nos4.mtx') # clustered eigenvalues
>> but you didn't provide nos4.mtx file
>> please send it to me.
>> Regards, D.
>>
>>   
>>     
> Sorry for that. The matrix is available
> at http://math.nist.gov/MatrixMarket/data/Harwell-Boeing/lanpro/nos4.html
>
> Cheers,
>                    Nils
>  
> _______________________________________________
> Scipy-dev mailing list
> Scipy-dev at scipy.org
> http://projects.scipy.org/mailman/listinfo/scipy-dev
>
>
>
>   




More information about the SciPy-Dev mailing list