SQOPT is primarily intended for large linear and quadratic problems with sparse constraint matrices. A quadratic term 1/2x'Hx in the objective function is represented by a user subroutine that returns the product Hx for a given vector x.
SQOPT uses stable numerical methods throughout and includes a reliable basis package (for maintaining sparse LU factors of the basis matrix), a practical anti-degeneracy procedure, scaling, and elastic bounds on any number of constraints and variables.
SQOPT is part of the SNOPT package for large-scale nonlinearly constrained optimization. The source code is re-entrant and suitable for any machine with a Fortran 77, 90, or 95 compiler. (The f2c translation can be used with a C compiler.) SQOPT may be called from a driver program in Fortran, C, or Matlab. It can also be used as a stand-alone package, reading data in the MPS format used by commercial mathematical programming systems.
P. E. Gill, W. Murray, and M. A. Saunders (2006). SQOPT 7 User's Guide (pdf)