The SIM2D Procedure

Computational Details

In the computation of $\tilde{\bmu }$ and $\bSigma $ described in the previous section, the inverse $\bSigma _{22}^{-1}$ is never actually computed; an equation of the form

\[  \bSigma _{22} \mb{A} = \mb{B}  \]

is solved for $\mb{A}$ by using a modified Gaussian elimination algorithm that takes advantage of the fact that $\bSigma _{22}$ is symmetric with constant diagonal $C_ z(0)$ that is larger than all off-diagonal elements. The SINGULAR= option pertains to this algorithm. The value specified for the SINGULAR= option is scaled by $C_ z(0)$ before comparison with the pivot element.

Memory Usage

For conditional simulations, the largest matrix held in core memory at any one time depends on the number of grid points and data points. Using the previous notation, the data-data covariance matrix $\mb{C}_{22}$ is $n \times n$, where n is the number of nonmissing observations for the VAR= variable in the DATA= data set. The grid-data cross covariance $\mb{C}_{12}$ is $n \times k$, where k is the number of grid points. The grid-grid covariance $\mb{C}_{11}$ is $k \times k$. The maximum memory required at any one time for storing these matrices is

\[  \max \left(k(k+1),n(n+1)+2(n\times k)\right) \times \mbox{sizeof}(\mbox{double})  \]

There are additional memory requirements that add to the total memory usage, but usually these matrix calculations dominate, especially when the number of grid points is large.