Post Reply 
1-AUG-2019 SolveSys - Equation Library and Nonlinear Systems Solver
02-10-2017, 04:46 PM
Post: #7
RE: SolveSys - Equation Library and Multiple Equations Solver
It looks like our equations are slightly different. If your equation is \( \left( \frac{A+B}{A} \right) ^2 = 8.377 \) then a guess of A=1 and B=2 would lead to a solution whereas A=2 and B=1 would lead to a failed line search.

If your equation is \( \left( \frac{A+B}{B} \right) ^2 = 8.377 \) -- notice the denominator -- then a guess of A=2 and B=1 would lead to a solution; A=1 and B=2 would lead to a failed line search (symmetry in the variables compared to the first case)

For the rest of this post, let us assume you used the first form of (with A in the denominator). Assuming that our application is bug-free (doubtful at the moment), then A=2 and B=1 is a point for which a line search is going to fail. To see how this might come to be, let me explain the algorithm a bit.

In the recent versions, we are additionally solving for the minimums of another function f = 1/2 (F.F). Notice that the zeros of F are guaranteed minimums of f (since it is a non-negative function). However, not all minimums of f are zeros of F -- no worries, we simply check whether \( \| F \| \) is sufficiently small enough). We are still using Newton's method, wherein we compute \( \Delta x = -J^{-1} \cdot F \) and obtain \( x_\text{new} = x_\text{old} + \Delta x \), however we scale the step \( \Delta x \) by \( \lambda \) so that we guarantee a decrease in \( \| F \| \). (J here represents the Jacobian of F). This is the line search portion of the algorithm.

You can read about line searches here:

Basically, the line search tries to find a suitable \( \lambda \) that satisfies the strong Wolfe conditions (so that we have convergence). (In the link above, they call the scalar factor \( \alpha^* \) ). From the link:

Quote:Typically, it only takes a few iterations to find a point satisfying the conditions. However, the line search is not always able to find a point that satisfies the conditions. Usually this is because there is insufficient precision to compute the points closely enough to satisfy the conditions, but it can also be caused by functions that are not completely smooth or vary extremely slowly in the neighborhood of a minimum.

So in the end, A=2 and B=1 is just not a good guess (again, assuming A is the variable in the denominator of your equation involving 8.377).

Graph 3D | QPI | SolveSys
Find all posts by this user
Quote this message in a reply
Post Reply 

Messages In This Thread
RE: SolveSys - Equation Library and Multiple Equations Solver - Han - 02-10-2017 04:46 PM
Not able to solve a system - rrpalma - 05-05-2019, 08:10 PM

User(s) browsing this thread: 1 Guest(s)