James Urban
James Urban

Reputation: 350

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.

Upvotes: 4

Views: 1939

Answers (1)

Aleksei Shestakov
Aleksei Shestakov

Reputation: 2538

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

newton_krylov(lambda k:F(k,1,2,3), ... )

Upvotes: 7

Related Questions