** Next:** Vector objects
** Up:** Schwab & Urdaneta: Hilbert
** Previous:** WHY C++?

Fundamentally, the HCL library was designed to find estimates
for a vector `x` subject to

| |
(1) |

where
is a linear or nonlinear operator
(a matrix is merely a special case), and
is a known vector.
In general,
HCL does not assume that **A** is square, a matrix, or full rank,
that the data is consistent, over-determined, or
under-determined. Furthermore,
HCL does not assume that a solution is unique or that a solution even exists.
HCL only requires
the problem is of the form
stated in
equation (1).
The specific HCL solver you choose
may, however, impose further constraints (usually on your operator
).
Inversion problems fundamentally revolve around three programmable objects:
the vector that contains
the known data ,
the unknown model , and
the operator that images a model vector to a data vector,
and finally a solver that, given an operator, a data vector,
(and possibly a starting model )will return an estimate for the best-fitting model .

** Next:** Vector objects
** Up:** Schwab & Urdaneta: Hilbert
** Previous:** WHY C++?
Stanford Exploration Project

11/11/1997