OpenNL (Open Numerical Library) is a library to easily construct and solve sparse linear systems.