Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to pass additional arguments to scipy.optimize.newton_krylov?

So I'm trying to find "k" which satisfies the equation

F(k,u,v,w) = 0

and u, v, and w are extra parameters. I've been trying to solve it using newton_krylov (http://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.optimize.newton_krylov.html), which will solve the system numerically based on a guess for k, but there does not appear to be a way to include the other parameters.

My trouble is that I need to pass F the additional arguments, but there does not appear to be a way to pass them to F. Is there a way to pass them that I don't know about? or is there a hack I can do to make it work?

Also if there is a more appropriate function for this situation that would be cool too.

like image 775
James Urban Avatar asked Mar 13 '23 00:03

James Urban


1 Answers

You can pass F wrapped in lambda function into newton_krylov, something like this:

newton_krylov(lambda k:F(k,1,2,3), ... )
like image 136
Aleksei Shestakov Avatar answered Apr 09 '23 00:04

Aleksei Shestakov