I have the following problem to code using python:
I have 7 parameters: x, y, z, t, HF, M1F, and M2F. The user should input any of these 3 and the program should calculate the rest.
The relations that I have are:
HF = -xyt
M1F = -2xzt + 4yzt - xyt + 4tz^2
M2F = 2yzt - xyt
1 = -2xt + 2yt + 4zt
Attempt to solve the problem:
I have 7 parameters and the user should input 3 => I will be left with 4 parameters. So it's all about solving a system of 4 nonlinear equations with 4 unknowns.
I read online that scipy.optimize
could be used to solve a system of nonlinear equations.
But I need an initial guess.
Going back to the physics of the problem I have the following initial conditions:
x > 0
y > 0
z < 0
HF > 0
M1F > 0
M2F > 0
M2F > M1F (solving this inequality from the above equations I get: -x + y + 2z < 0)
HF > M1F + d (solving this inequality from the above equations I get: -x + 2y + 2z < 0)
How can these initial conditions help me get the initial guess so that I can solve my problem using scipy.optimize
?
I'm not sure optimization is the right way to go here. I think personally I'd start with the three variables given and algebraically solve the rest. There are a lot of combinations, but all things considered the analytic solution is usually best if it's obtainable.