Katerina G. Hadjifotinou
This paper presents a methodology for finding numerically, by means of curve-following, all real solutions of a general system of $n$ nonlinear equations in $n$ unknowns, within a given $n$-dimensional box. The main idea behind our method is a) to locate all parts of the curves formed by a selected subset of $n-1$ equations of the initial system, b) follow these parts numerically within the given $n$-box and c) during this process, find all their intersection points with the hypersurface that represents the left-out equation of the initial system. With proper handling techniques, both stages (a) and (b) can be done with safety even when using a rapidly - but locally - convergent method such as Newton's method. Stage (c) on the other hand is theoretically straightforward and can be implemented by examining sign change and using bisection. However, improvement of performance with automatic step-size adaptation is also feasible. Since the choice of the left-out equation as well as the order of the unknowns, in some problems may affect the algorithm's performance, a secondary procedure for problem optimization has also been developed. This integrated algorithm has been successfully tested in all classical test-problems that are used in the literature (in total about 130 problems with dimension up to $n=10$) and achieved to locate approximations to all the known real solutions of each test-problem, with a user-provided accuracy. It has also proved to be more than 10 times quicker than Kuiken's 2D curve-following method, when compared in two-dimensional problems.