In geophysical filtering applications, the matrix is often, although not always, Toeplitz. (A Toeplitz matrix is a matrix in which each row is a shifted version of the others and has constant diagonals). In general, if the type of filter application is transient convolution, convolution with the data sequence padded with zeros, is Toeplitz, but if the filter application is internal (unpadded convolution) or truncated-transient (transient convolution truncated to the input length), is no longer in a Toeplitz formClaerbout (1995). When is Toeplitz, the matrix can be represented by a single row of the matrix, since a Toeplitz matrix is made up of a single row shifted so that a particular element is always on the diagonal. This makes the matrix easy to store in a computer memory, and easy to solve, since an efficient algorithm for solving Toeplitz systems, that of Levinson recursion, existsKanasewich (1981).
In the cases where is not Toeplitz, it is still symmetric, and this symmetry can be useful in calculating .Another useful feature of is that it is generally positive definite. Although is guaranteed to only be positive semidefinite, in practice a small stabilizer is added to to force it to be positive definite. The idea of adding can be viewed as forcing all the eigenvalues to be greater than and eliminating any zero eigenvalues. That is positive definite can be seen from the definition of a positive definite matrix, where is positive definite if is always positiveStrang (1986). If and is full rank, then , which is always positive for non-zero .Since is positive definite, it can be solved by Cholesky factorizationStrang (1988). Cholesky factorization allows a positive definite matrix to be factored as , where is a lower triangular matrix and is the corresponding upper triangular matrix. The cost of solving a system with Cholesky factorization is about half that of a general linear system solver, and the method is generally accurate (Makhoul 1975 in Childers 1978). Efficient methods for Cholesky factorization to solve such systems are given in LINPACKDongarra et al. (1979) and in Tarantola 1987.
For a Toeplitz matrix, the storage requirements are small, since only one row of the matrix needs to be stored. In the more general case, where is symmetric positive definite, half the matrix needs to be stored for Cholesky factorization. When the inversion requires a fairly small matrix ,Levinson recursion or Cholesky factorization methods are sufficient. Later in this thesis, larger problems than those that can be practically solved with these methods will be addressed, but it can be seen that even for filter calculations, these computations may become difficult because of their size. For example, when calculating a one-dimensional filter, the number of elements in the matrix is required to be the square of the number of elements in the filter. If the type of filter application is transient convolution, only one column of needs to be stored, but if the filter application is internal or truncated-transient convolution, is no longer Toeplitz and half of the elements in the matrix need to be stored. For a short one-dimensional filter, this is generally a reasonable requirement.
For two- or three-dimensional filters, the filters could be calculated by getting the inverse of ,but the size of this matrix will tend to be very large. Consider, for example, a small two-dimensional problem, where the filter is
(22) |
(23) |
(24) |
(25) |
In addition to the large size of the matrix, multi-dimensional filters tend to have many more coefficients than one-dimensional filters because of the higher number of dimensions involved. This increases the cost of solving for the filter by either the square or the cube of the number of coefficients, depending on the solution method. When internal convolutions with multi-dimensional filters are desired, is no longer Toeplitz, and half of the huge matrix must be stored and solved.
When inversions need to be done to predict full seismic datasets rather than just small filters, the number of elements to be calculated may be in the thousands or millions, making the number of elements in the matrix in the millions or billions. Solving, or even storing, such large matrices will generally be impractical.
Later I will discuss the conjugate-gradient technique, which allows an iterative solution to these inversion problems. The conjugate-gradient technique has the advantage that the matrix does not need to be stored, and a good approximation to the answer may be had by limiting the number of iterations, thus reducing the cost. Also, the programming of the problem tends to be simpler, since the conjugate-gradient technique requires just the coding of the convolution and its conjugate-transpose, or adjoint.