Since our model and data spaces can be rather large for realistic problems, and since the memory of our computers, although growing, is still not large enough to solve all our problems in-core, I introduce a library that can be used to perform out-of-core optimization.
The main features of the library are: an adjustable memory parameter specifying the amount of data that can be loaded in core at a given time; support for both real and complex optimization; various gradient solvers mimmicking those introduced in Clearbout's most recent book (Geophysical Estimation by Example); and various commonly-used operators (like helicon or polydiv).
This paper is designed to be more of a reference to the library than a tutorial, although I also present a simple program which illustrates how the library operates.