QRSlv is a nonlinear algebraic equation solver based on the paper A Modified Least Squares Algorithm for Solving Sparse NxN Sets of Nonlinear Equations by A. Westerberg and S. Director doi:10.1016/0098-1354(78)80011-8.
QRSlv is the primary NLA solver for ASCEND. It can solve systems of nonlinear algebraic equation, but it is not suitable for optimisation problems containing MAXIMIZE or MINIMIZE statements (for those, IPOPT or CONOPT are suggested). It is also not suitable for conditional modelling problems.
QRSlv divides a system into precedence-ordered 'blocks' which are solved one-by-one using a powerful Newton-style iterative solver. It provides a number of algorithms for scaling and reordering the equations for efficient solution.
The source code for QRSlv is at solvers/qrslv/qrslv.c
Add here: problem definition.
Add here: sample problems.
Add here: documentation of solver parameters