I'm not sure if this is a math question or a programming question, but it is scientific computation so I hope it fits here. I have a system of equations in which I can symbolically solve any particular equation for any particular variable in the equation, some easier than others. There are twenty to thirty interesting parameters I can derive from four underlying independent parameters, with intermediate steps along the way. In theory I could put each one in terms of the original four, but it would get very messy. I will know a mix of the independent and derived ones, and possibly only derived ones, such that the system is under-constrained or has exactly one solution. In the case of an under-constrained system, I have default values to fill in the blanks and still end up with exactly one solution.For a simple example, imagine a box with three independent side lengths. For each side, I can derive the perimeter, area, diagonal length, angle of the diagonal, and trig functions of that angle. For the entire box, I can derive the total surface area, volume, diagonal length of the prism, and so on. Given the base area and the height, there is exactly one volume but the aspect ratio of the base could be anything. Making the assumption that the base is square unless indicated otherwise, there is now exactly one solution. Alternatively, knowing the aspect ratios of two sides and the total volume gives exactly enough information to solve it. Or maybe instead, the total surface area, the length of one diagonal, and the perimeter of another side are known.I can work out the entire system with a pencil, given whichever parameters are known ahead of time. I want to generalize that process, but not in the sense of building my own computer algebra system because the human's algebra is passable. For the actual Question, how about: How can I systematically solve a system using known analytic relationships, given arbitrary inputs that are guaranteed not to over-constrain it?I don't know if that makes enough sense, but what I want to do is set up a hypothetical box solver that I could feed e.g. base_area=4, volume=4, and it would spit out length=2, width=2, height=1, base_area=4, end_area=2, front_area=2, and so on. Whether values were assumed in the calculation process isn't important as long as I can control what those assumptions will be ahead of time. I am not actually making a box solver, if that wasn't obvious.Right now I have a mess of if-then statements and an iterative step to break a circular calculation I couldn't unravel easily, and I keep overlooking weird but still plausible combinations that could absolutely be solved symbolically if I had thought of them ahead of time. I think every expression is monotonic with respect to each variable, but not always linear or even approximately polynomial. The only ones that are ever negative are constant offsets from others, along the lines of height taller than an 8-foot ceiling going back to the box example.I know there are free and commercial tools that could do what I am trying to do, but I am more interested in the process than actually finding the numbers. That is also the reason I keep talking about boxes even though I don't particularly care about boxes either. I have a hunch that keeping track of my degrees of freedom is important but I don't know where to go from there. Is there a better way than my if-then rat's nest? I have assumed that doing this numerically is unnecessary, but I suppose an answer explaining why I am crazy and urging me to learn vector calculus would also be acceptable. I kind of understand what a Jacobian is, but I don't know what my Jacobian is yet.
Finding the one solution of a nonlinear system of equations, using default values if under-constrained
algorithms;nonlinear equations