![]() |
DCIP3D manual:
|
|
Both DC resistivity and IP inversions involve a large dense sensitivity matrix. Since we are faced with 3D problems, this matrix can become very costly to store and to apply to a vector during the inversion. We adopt our wavelet compression method developed in the 3D magnetic inversion to DCIP3D programs. In this method we form a sparse representation of the sensitivity matrix using a wavelet transform based on compactly supported, orthonormal wavelets. For more details, the users are referred to Li and Oldenburg (1997). In the following, we give a brief description of the method. Understanding of this material is necessary for anyone wanting to use the DCIP3D library. Each row of the sensitivity matrix in a 3D inversion can be treated as a 3D image and a 3D wavelet transform can be applied to it. By the properties of the wavelet transform, most transform coefficients are nearly or identically zero. When the coefficientswith small magnitude are discarded (the process of thresholding), the remaining coefficientsstill contain much of the necessary information to reconstruct the sensitivity accurately. These retained coefficientsform a sparse representation of the sensitivity in the wavelet domain. The need to store only these large coefficientsmeans that the memory requirement is reduced. Further, the multiplication of the sensitivity with a vector can be carried out by a sparse multiplication in the wavelet domain. This greatly reduces the CPU time. Since the matrix-vector multiplication constitutes the core computation of the inversion, the CPU time for the inverse solution is reduced accordingly. The use of this approach increases the size of solvable problems by nearly two orders of magnitude. Let
where
where The threshold levels
Here the numerator is the norm of the discarded coefficients. For each row we could choose
This compression procedure is implemented in three programs in the DCIP3D library. They are DCINV3D, DCAIM3D, and IPSEN3D. The user needs to specify the relative error r* and the program will determine the relative threshold level |