previous up next print clean
Next: Vector objects Up: Schwab & Urdaneta: Hilbert Previous: WHY C++?

APPLICATIONS

Fundamentally, the HCL library was designed to find estimates for a vector x subject to  
 \begin{displaymath}
{\bf A x \approx b},\end{displaymath} (1)
where ${\bf A}$ is a linear or nonlinear operator (a matrix is merely a special case), and ${\bf b}$ 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 ${\bf A}$).

Inversion problems fundamentally revolve around three programmable objects: the vector that contains the known data ${\bf b}$, the unknown model ${\bf x}$, and the operator ${\bf A}$ 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 ${\bf x_0}$)will return an estimate for the best-fitting model ${\bf x}$.



 
previous up next print clean
Next: Vector objects Up: Schwab & Urdaneta: Hilbert Previous: WHY C++?
Stanford Exploration Project
11/11/1997