Using a Lanczos Eigensolver in the Computation of Empirical ...

1 downloads 0 Views 358KB Size Report
ted and we show how the characteristics of the appli- cation were taken ..... Lehoucq, R. B., D. C. Sorensen, and C. Yang, cited 1997: ARPACK. User's Guide: ...
MAY 2001

1243

TOUMAZOU AND CRETAUX

Using a Lanczos Eigensolver in the Computation of Empirical Orthogonal Functions VINCENT TOUMAZOU

AND

JEAN-FRANCOIS CRETAUX

CNES/LEGOS-GRGS, Toulouse, France (Manuscript received 28 February 2000, in final form 11 September 2000) ABSTRACT In the framework of physical field studies, EOF analysis allows the scientist to determine the modes that govern the variability of a phenomenon. The analysis requires the resolution of a linear algebra problem. This paper focuses on this part of the EOF analysis, the computation of some singular values, and the associated vectors of the data matrix D. After recalling some fundamentals of this type of problem, the authors compare the usually employed singular value decomposition strategy with a Lanczos eigensolver technique. The latter consists of computing some eigenvalues of a small symmetric matrix. The authors demonstrate its mathematical and numerical stability and discuss its main features. A comparison of the two strategies shows the advantages of the Lanczos technique. Finally, the approach is illustrated with an example based on the study of oceanographic datasets.

1. Introduction When studying physical fields, it can be interesting to highlight the dominant modes of the spatial and/or temporal variability of the phenomenon. Let us consider a field d(f, l, t), for example, sea surface height or temperature, measured at m points of latitude f and longitude l at times t 5 t1 , . . . , t n . In order to analyze the variability of this field, one can perform an analysis based on empirical orthogonal functions (EOF). This consists of writing d(f, l, t) as a sum of modes centered at each time-averaged point:

O m (f, l)e (t), n

d(f, l, t) 5 d(f, l) 1

j

j

(1)

j51

where d(f, l ) denotes the time average of d at point (f, l ). The jth mode is represented by its temporal component ej (t) and its spatial component m j (f, l ). Its contribution to the variability of the phenomenon under study is given as a percentage of the total variance. It can be computed as the ratio of the variance of the mode over the total variance, that is, the sum of the variances of the n modes. In the general framework of this kind of analysis, the scientists are mainly interested in the dominant modes,

the few modes with the highest percentage of variance. In this case, Eq. (1) can be rewritten as d(f, l, t) 2 d(f, l)

O m (f, l)e (t) 1 O m (f, l)e (t), k

5

n

j

j51

j

j

j

(2)

j5k11

and the goal of the analysis is to determine the first term on the right-hand side that contains the k first modes of interest. Actually, Eqs. (1) and (2) can be reformulated as a linear algebra problem. Let us write the time-varying data as a matrix D ∈ R m3n where each row (column) is associated with one point (f, l ) (with one epoch t).1 Equation (1) becomes D 5 USVT ,

(3)

which is the singular value decomposition of D (see section 2b) and Eq. (2) becomes D 5 U k S k VTk 1 U n2k S n2k VTn2k.

(4)

The component m j (f, l ) [e j (t)] is derived from the jth column of U (V T ) while the jth diagonal element of S is used for the computation of m j or e j depending on the normalization involved (see section 4). A code that performs an EOF analysis should be composed of three main steps. R Step 1: Preprocessing of the data

Corresponding author address: Vincent Toumazou, CNES/LEGOS-GRGS, 18, Avenue Edouard Belin, 31401 Toulouse Cedex 4, France. E-mail: [email protected]

q 2001 American Meteorological Society

1 In this framework, if (f, l ) is associated with the ith row and t with the jth column, Dij 5 d(f, l, t) 2 d(f, l ).

1244

MONTHLY WEATHER REVIEW

R Reading of the field of m points at n timesteps R Computation of the time average and centering of the data R If necessary, subtraction of the long periodic terms R Representation of the data as a matrix D ∈ R m3n R Step 2: Decomposition of the matrix of data D R Resolution of the linear algebra problem: computation of U k , S k , VTk R Step 3: Postprocessing of the data R Computation of the components m j and e j for each mode for j 5 1, . . . , k from the solution of the linear algebra problem This paper will describe a method for performing efficiently and accurately step 2 of the EOF analysis. Section 2 details which linear algebra problem has to be solved as well as three strategies to solve it. Section 3 focuses on the strategy we have chosen, the Lanczos strategy. The main features of this approach are described as well as its tuning for the EOF analysis. Quality constraints on the computed solutions were not omitted and we show how the characteristics of the application were taken into account in order to fulfill these constraints. We conclude this section with some performance results. Section 4 concludes this paper with a physical field example. 2. EOF analysis, a linear algebra problem We start by giving some fundamentals about the resolution of linear algebra problems in finite precision arithmetic. From our point of view, this topic is crucial in the conception of numerical codes. a. Reliability of linear algebra codes Let us consider the problem (P), which consists of solving the equation F(x) 5 y, where F and y are the data and x the solution. The problem (P) could be, for example, a linear system A x 5 b or an eigenproblem A x 5 lx. In order to solve (P), we use an appropriate algorithm and we compute a solution x˜ on a finite precision computer. At this point, the question is, Is x˜ a good solution? In the last decades, this question has been addressed for a wide variety of problems by the community of applied mathematicians. An exhaustive and illustrated overview about this topic can be found in Chaitin-Chatelin and Fraysse´ (1996). For any problem like (P), we have the inequality direct error # K 3 backward error. The direct error computed as \x 2 x˜\/\x\ is the distance between the exact solution of (P) and the computed one x˜. The value K represents the conditioning of the mathematical problem (P). It measures the sensitivity of x,

VOLUME 129

the exact solution of (P), to perturbations on the data. The backward error is strongly related to the computed solution. It quantifies the quality of x˜: it makes it possible to verify if the approximate solution x˜ solves the original problem (P). Introduced by Wilkinson (1960) in the 1960s, this is based on the principle of considering the computed solution x˜ as the exact solution of a nearby problem (P˜). The backward error measures the distance between (P) and (P˜). Formulas for computing conditioning and backward error for many problems are now available, depending on the type of perturbations and the metrics considered (Chaitin-Chatelin and Fraysse´ 1996; Higham 1996). If the problem (P) is well conditioned, that is, if the value of K is not too large, then the magnitude of the forward error can be reasonably well determined by the value of the backward error. In practice, for problems in which K is of magnitude 10 q and the magnitude of the backward error is 102k , then one expects the components of x˜ to agree with the solution x˜ to roughly k 2 q decimal digits. Because they can be compared to machine precision or to uncertainties in the data, backward error estimates, when available, are also highly recommended as stopping criteria for iterative algorithms (Arioli et al. 1992; Barrett et al. 1994). An algorithm is said to be reliable if it can produce solutions with a backward error of the order of the machine precision. Nowadays, the numerical methods for solving linear algebra problems have been improved. A large number of efficient and reliable freeware and numerical libraries are available for the scientific community.2 Therefore it is now possible to optimize the use of the computational resources. In a majority of cases, scientists can take into account the features of their problem to improve the quality of the solution as well as the performances of their code (storage requirement, computational time). b. Three possible strategies The linear algebra problem listed in step 2 is the computation of some of the largest singular values and associated singular vectors of the data matrix D; see Preisendorfer (1988). Every rectangular matrix D ∈ R m3n with m $ n may be factored in the form of Eq. (3), D 5 USVT , where UT U 5 VT V 5 I n are matrices with orthonormal columns and the diagonal matrix S 5 diag(s1 , s 2 , . . . , sn ). The numbers s1 $ s 2 $ · · · $ sn $ 0 are called the singular values of D. The columns of U (V) are the left (right) singular vectors. In general, we only need the first k singular values [see Eqs. (2) and (4)], that is, we have to estimate the

2 For example, see http://www.netlib.org for descriptions and links to many of them.

MAY 2001

term U k S k VTk . The matrices U k , V k denote the leading k columns of U and V, respectively, and S k denotes the leading principal submatrix of S. Thus, the matrix U k S k VTk is the best rank k approximation to D in both the 2-norm and the Frobenius norm. Often a very small k will suffice to approximate important features of D. This is exactly the notion of dominant modes we want to estimate. The computation of the singular values of interest can be achieved through three different strategies in terms of linear algebra. The first one is called the SVD strategy and is based on the singular value decomposition (SVD) algorithm. The two others strategies are based on the formulation of Eq. (3) as an eigenvalue problem: DT D 5 (USVT )T (USVT ) 5 VS 2 VT .

(5)

The QR strategy is based on the QR algorithm and finally the Lanczos strategy uses an iterative eigensolver based on a Krylov-type method. Our choice between the different strategies has been governed by the following constraints: 3

R the algorithm must be reliable, R the problem to be solved has to be as well conditioned as possible, and R only the terms U k , V k , and S k are necessary and useless computation of the U n2k S n2k VTn2k terms should be avoided. We will now detail the characteristics of these strategies and we will examine whether they fulfill the requirements listed above. 1) SVD

The computation is straightforward due to the diagonal pattern of S. However, all the singular values and vectors are computed. Moreover, this approach requires one to explicitly perform the matrix–matrix product DT D and this feature results in an ill-conditioned problem since perturbations apply to DT D and not only to D. In this case, the condition number K 2 is given by (see Toumazou 1996) K 2 5 (\D\ \D21 \) 2 5 K 21,

K1 5 \D\ \D21 \.

3) LANCZOS

STRATEGY

This second strategy consists of applying the QR algorithm to the matrix DT D in order to solve Eq. (5) and compute V and S. The left singular vectors are obtained by solving U 5 DVS21 .

STRATEGY

Based on the Lanczos method, this strategy computes only the k largest singular values and associated vectors by solving the problems4 D T Dvi 5 vi si2

and

vi 5 Dvi /si

(7)

(9) (10)

that describe U k , V k , and S k . As described in the next section, this method consists of reducing the size of the problem by projection. Moreover, it has the important feature that the particular structure of the matrix DT D is taken into account. The perturbations now apply on D only and it leads to a low condition number K 3 given by (see Gratton et al. 2000) K 3 5 \D\ \D21 \ 5 K1 .

(6)

(8)

revealing high instability. This fact is totally independent of the size of the problem and strange results can be obtained even with 10 3 10 matrices, as is illustrated in Chaitin-Chatelin and Fraysse´ (1996) and Toumazou (1996).

STRATEGY

Based on the SVD algorithm (see Golub and Kahan 1965; Golub and van Loan 1996), this approach solves Eq. (3) and computes all the n singular values and vectors of D. This approach presents two main advantages: the SVD algorithm is reliable and the computation of the singular values is governed by the condition number K1 given by (see Toumazou 1996)

2) QR

1245

TOUMAZOU AND CRETAUX

(11)

In addition, the stopping criterion used in the Lanczos solver ensures the stability of the computation (see Bennani and Braconnier 1994). In conclusion, the QR strategy is rejected due to the ill conditioning of the problem we are interested in. The two other strategies are therefore candidates to be used for EOF computation. As will be shown in section 3c, the computational cost of the SVD strategy is higher than the cost of the Lanczos one. This feature combined with its stability have convinced us to use the Lanczos strategy. We will now detail the Lanczos solver and how it was adapted for the application. 3. Lanczos eigensolver and EOF computation a. Fundamentals of the Lanczos method To solve Eq. (9) we need to solve an eigenproblem Ax i 5 l ix i ,

i 5 1, . . . , k,

(12)

where A 5 D D is a real symmetric n by n matrix. In T

3 QR is a backward stable algorithm for computing eigenvalues. This algorithm is the eigensolver implemented by the LAPACK library and the Matlab software; see Anderson et al. (1992); The Math Works (1992).

4 Here u i (v i ) denotes the ith column of U (V), i.e., the left (right) singular vector associated with the singular value si .

1246

MONTHLY WEATHER REVIEW

TABLE 1. Elapse time (in s) for step 2 of the EOF computation by the different codes.

Size of the matrix D SVD Matlab code SVD Fortran code Lanczos Fortran code

Case 1

Case 2

Case 3

44 741 3 949

32 437 3 314

30 046 3 220

Not applicable (insufficient memory) 8467

1415

577

243

138

57

45

381

R Step 1: Computation of Q p 5 (q1 , q 2 , . . . , q p ), orthonormal basis of K(A, q1 , p). R Step 2: Projection of A onto K(A, q1 , p), which leads to the computation of the p 3 p tridiagonal matrix T p such that QTp AQ p 5 T p .

this case and when only a few pairs of eigenvalues and eigenvectors are sought, the Krylov subspace-based methods are highly suitable for the computation. In addition, these methods estimate the largest eigenvalues first, which are indeed the ones we want to compute. In the set of Krylov-type methods, the Lanczos method is dedicated to real symmetric matrices while the Arnoldi method is tuned for unsymmetric cases (see Chatelin 1993; Saad 1992; Braconnier 1994). For a given nonnull vector q1 , the Krylov subspace K(A, q1 , p) is defined as K(A, q1 , p) 5 span(q1 , A q1 , . . . , A p21 q1 ).

VOLUME 129

(13)

Starting with a vector q1 at each step j the Lanczos method adds a new vector qj to the basis. The projection of the original problem (12) onto the basis leads to a smaller and easier problem to solve involving a p 3 p tridiagonal matrix. The solutions required for the original problem are then recovered through a Rayleigh– Ritz procedure. Summarized in a simplified manner, the implementation of the Lanczos method consists of the following basic steps.

R Step 3: Computation of the eigenpairs (l i , x i ) i51, . . . , p of T p . R Step 4: Convergence test for the eigenpairs associated with the k eigenvalues of largest modulus: If convergence, compute the eigenpairs of A from those of T p , (l i , Q p x i ) i51, . . . , k and End. If nonconvergence, compute a better starting vector q1 , Go back to 1. We will now describe how the Lanczos solver is adapted to our application. b. Tuning the Lanczos solver for EOF computation Several Lanczos eigensolvers are available on the Netlib Web site. We have chosen the ARPACK freeware (Lehoucq et al. 1997). The adaptation to our EOF code, called iterativeEOF, was simplified by the reverse communication interface implemented in ARPACK. In the Lanczos process described in the previous section, the matrix only operates in the computation of the basis Q p . Roughly speaking, the jth vector of the basis is computed from the (j 2 1)th vector by q j 5 Aq j21 . The reverse communication interface means that the matrix A is not required by the ARPACK code; only the result of the matrix–vector product is needed. Thus we avoid computing the product matrix DT D and we can therefore benefit from its structure. Only the matrix D is treated and the basis vector q j is computed in two steps:

FIG. 1. EOF analysis, case 2 (SST), mode 1, spatial component: m1 (8C).

MAY 2001

TOUMAZOU AND CRETAUX

1247

The percentage of variance for the mode j can be computed as s j2/S ni51 s i2 (see Peixoto and Oort 1991, p. 494). Since we only compute k modes, the quantity S ni51 s i2 has to be estimated. Since DT D 5 VS 2 VT and S ni51 s i2 is the trace of S 2 , this estimation5 can be performed by computing the trace of DT D. Once again, DT D does not need to be computed and the trace is obtained as the sum of the Euclidean norm of the columns of D. Finally, using the Lanczos type eigensolver, one needs to set three parameters:

FIG. 2. EOF analysis, case 2 (SST), mode 1, temporal component: e1.

v 5 D q j21,

q j 5 D T v.

This point is crucial in terms of computational reliability and the condition number of the problem remains low as shown in section 2b(3). When using iterative methods, explicitly computing DT D can increase the conditioning of the problem in a quadratic manner, as is described in Gratton et al. (2000). Solutions computed with the SVD algorithm were used as the reference for validation. In comparison, the quality of our solutions was as good as expected: this can be explained by the low condition number and also the choice of the stopping criterion based on the backward error (step 4 of the Lanczos process). The stopping criterion is either set according to the data uncertainty and/or the arithmetic precision of the computer. Moreover, using a backward error–based criterion for the iterative solver has been proved to be an important contribution to the reliability of the computation (see Bennani and Braconnier 1994).

R p, the size of the projection (Step 1 of the Lanczos algorithm); R k, the number of required eigenvalues (i.e., modes); and R tol, the threshold for convergence (Step 4 of the Lanczos algorithm). Obviously, p has to be greater than k. In practice we use p 5 15 for k 5 6 and tol 5 1024 . c. Validation and performances of the code We validate the Lanczos strategy by comparing it with the SVD strategy. The results provided by the two approaches agreed totally, which confirms their similarity in terms of conditioning. We also tested the computational performances. For this purpose, three codes were used: R one Matlab version of the SVD approach with a call to the svd function,

5 The trace is invariant with respect to orthonormal transformation, that is, tr(S 2 ) 5 tr(DT D).

FIG. 3. EOF analysis, case 2 (SST), mode 2, spatial component: m 2 (8C).

1248

MONTHLY WEATHER REVIEW

VOLUME 129

arithmetic is about 102 MBytes for the SVD approach whereas iterativeEOF requires only 52 MBytes. 2) COMPUTATIONAL

FIG. 4. EOF analysis, case 2 (SST), mode 2, temporal component: e2.

R one Fortran code of the SVD approach using the LAPACK subroutine GESVD, and R one Fortran code, namely, iterativeEOF, implementing the ARPACK Lanczos eigensolver. 1) STORAGE

REQUIREMENT

When using the GESVD subroutine of the LAPACK library to compute the singular value decomposition of a real m by n matrix, the storage requirement is about 2mn 1 m 1 6n real numbers for the main arrays (for D, U, S, V) and the workspace (see Anderson et al. 1992, p. 193). This storage is independent of the number of modes we are interested in. On the other hand, the iterativeEOF code requires about m(n 1 k) 1 m 1 np real numbers for main arrays and workspace where p is the order of the Krylov subspace in the Lanczos process, that is, the size of projection. For case 3 of Table 1, the storage requirements for double precision

TIME

Numerous test cases have been carried out on a Sun Ultrasparc Enterprise 5000 using double precision arithmetic. Three representative cases are shown in Table 1 detailing the time required for step 2 (and only for this step) of the EOF analysis, that is, the computation of the singular values and associated vectors of D, as well as the size of the corresponding data matrix D. Case 1 corresponds to weekly global grids of SST for the period 1981–99. Case 2 corresponds to the same type of data for latitudes between 608N and 608S and for the period 1993– 98. Finally, case 3 corresponds to Sea Surface Height (SSH) using decadal grids between 608N and 608S and for the period 1993–98. Each case was tested 10 times and the time listed corresponds to the averaged elapse time. As can be observed, iterativeEOF runs faster than the two codes implementing the SVD approach. The superiority of the Lanczos approach increases with the size of the dataset: when compared with the SVD Fortran code, the computational time is divided by a factor varying from 3 (case 3) to 22 (case 1). Thus the Lanczos approach should be preferred, at least for large datasets. 4. Example The main goal of this paper was to demonstrate the efficiency of the Lanczos approach and this final section

FIG. 5. EOF analysis, case 3 (SSH), mode 1, spatial component: m1 (mm).

MAY 2001

TOUMAZOU AND CRETAUX

FIG. 6. EOF analysis, case 3 (SSH), mode 1, temporal component: e1.

should be considered only as an illustration of the EOF application. Two sets of oceanographic data have been analyzed for this example of application. They correspond to cases 2 (SST data) and 3 (SSH data) of Table 1. The optimum interpolation SST analysis is produced weekly on a 18 grid. The analysis uses in situ and satellite SSTs plus SSTs simulated by sea ice cover. Before the analysis is computed, the satellite data are adjusted for biases using the method of Reynolds (1988) and Reynolds and Marsico (1993). A description of the optimum interpolation analysis can be found in Reynolds and Smith (1994). For the example displayed here, data from January 1993 to December 1998 have been considered. For the SSH data, we consider data from the TOPEX/ Poseidon altimetry mission. Altimetry measurements from the TOPEX/Poseidon satellite from January 1993 to December 1998 have been used. The altimetry data have been corrected for environmental and geophysical effects as described in Cazenave et al. (1998) to obtain

1249

SSH data. Then the data have been gridded over one orbital cycle (10 days) between 608N and 608S with a 18 3 18 mesh size (see Nerem et al. 1994). For both examples, a cosine weighting factor depending on the latitude has been applied to compute the gridded data. However, in the output of the analysis, the spatial component are renormalized by this latitude dependant weighting factor. In addition, the time component of each mode is divided by its entry of largest modulus so that the resulting component has a norm6 equal to 1, that is, max t |e j (t)| 5 1. This scaling factor is also applied to the associated spatial component so that any part of the anomaly field can be reconstructed. More information about these normalizations is available in Hendricks et al. (1996) and Nerem et al. (1997). The two first modes of each application are shown. Figures 1 and 2 (Figs. 5 and 6) correspond to mode 1 of SST (SSH) data while Figs. 3 and 4 (Figs. 7 and 8) correspond to the second mode. Mode 1 of the SST representing 82% of the variance is related to the annual heating cycle. Mode 2 of the same data, with only 5% of the variance, displays the annual variations in the equatorial region. However, the temporal component (Fig. 4) shows a perturbation of its variations during the 1997 El Nin˜o event and an additional warming of approximately 48C in the eastern Pacific can be observed during the winter of 1997/98 when compared to the the usual winter variations. The EOF modes of SSH are inverted with respect to the SST modes. Mode 1 (Figs. 5 and 6) coresponds to the El Nin˜o events: two in 1993 and 1994 and the big

6 We consider here the \ · \` norm defined as \x\` 5 max i |x i |, x ∈ R n . The time component is seen as a vector in R n .

FIG. 7. EOF analysis, case 3 (SSH), mode 2, spatial component: m 2 (mm).

1250

MONTHLY WEATHER REVIEW

VOLUME 129 REFERENCES

FIG. 8. EOF analysis, case 3 (SSH), mode 2, temporal component: e2.

1997 event. This mode represents 22% of the total variance. La Nin˜a events can also be observed on Fig. 6. The maximum of the component usually observed during summer and fall is negative in 1995, 1996, and 1998. On the other hand, mode 2 with 18% of variance is related to the annual global oceanic cycle. Neverthless, a perturbation of its temporal component (Fig. 8) can be observed in early 1998. The decrease is stronger in February–April 1998 than during the same period the years before. 5. Conclusions The Lanczos strategy has been shown to be reliable and efficient for EOF computation. It provides the same quality of results as the SVD strategy but for a lower computational cost and so EOF analysis of large datasets can be performed on small workstations. In addition, the free availability of flexible Lanczos eigensolvers make it easy to adapt this strategy to EOF computation code. In this framework, we highly recommend the use of the Lanczos strategy for EOF computation. Availability of the code The iterativeEOF driver described in this paper can be obtained by request from Vincent.Toumazou@ cnes.fr. The ARPACK eigensolver that was used in our code can be downloaded from the site http://www. caam.rice.edu/software/ARPACK/. Other eigensolvers and linear algebra software can be found at the Netlib Website: http://www.netlib.org. Acknowledgments. The authors wish to thank B. Dewitte and J. Picaut from IRD-LEGOS for helpful discussions.

Anderson, E., and Coauthors, 1992: LAPACK User’s Guide. SIAM, 325 pp. Arioli, M., I. Duff, and D. Ruiz, 1992: Stopping criteria for iterative solvers. SIAM J. Matrix Anal. Appl., 13, 138–144. Barrett, R., and Coauthors, 1994: Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods. SIAM, 112 pp. Bennani, M., and T. Braconnier, 1994: Stopping criteria for eigensolvers. Tech. Rep. TR/PA/94/22, CERFACS, Toulouse, France, 20 pp. Braconnier, T., 1994: Sur le calcul de valeurs propres en pre´ cision finie. Ph.D. dissertation, Universite´ H. Poincare´, Nancy, France, 245 pp. Cazenave, A., K. Dominh, M. C. Gennero, and B. Ferret, 1998: Global mean sea level changes observed by Topex-Poseidon and ERS1. Phys. Chem. Earth, 23, 1069–1075. Chaitin-Chatelin, F., and V. Fraysse´, 1996: Lectures on Finite Precision Computations. SIAM, 235 pp. Chatelin, F., 1993: Eigenvalues of Matrices. Wiley, 382 pp. Golub, G. H., and W. Kahan, 1965: Calculating the singular values and pseudo-inverse of a matrix. SIAM J. Num. Analysis, 2, 205– 224. , and C. van Loan, 1996: Matrix Computations. 3d ed. Johns Hopkins University Press, 694 pp. Gratton, S., V. Fraysse´, and V. Toumazou, 2000: Structured backward error and condition number for linear systems of the type A* AX 5 b. BIT, 40, 74–83. Hendricks, J. R., R. R. Leben, G. H. Born, and G. J. Koblinsky, 1996: Empirical orthogonal function analysis of global TOPEX/POSEIDON altimeter data and implications for detection of global sea level rise. J. Geophys. Res., 101, 14 131–14 145. Higham, N. J., 1996: Accuracy and Stability of Numerical Algorithms. SIAM, 688 pp. Lehoucq, R. B., D. C. Sorensen, and C. Yang, cited 1997: ARPACK User’s Guide: Solution of large eigenvalue problems with implicitly restarted Arnoldi methods. [Available online at http:// www.caam.rice.edu/software/ARPACK/.] The MathWorks, 1992: MATLAB Reference Guide. The MathWorks Inc., Natick, MA, 548 pp. Nerem, R., E. Schrama, C. Koblinsky, and B. Beckley, 1994: A preliminary evaluation of ocean topography from the TOPEX/POSEIDON mission. J. Geophys. Res., 99, 24 565–24 583. , K. E. Rachlin, and B. D. Beckley, 1997: Characterization of global mean sea level variations observed by Topex/Poseidon using empirical orthogonal functions. Surveys Geophys., 18, 293–302. Peixoto, J. P., and A. H. Oort, 1991: Physics of Climate. American Institute of Physics, 520 pp. Preisendorfer, R. W., 1988: Principal Component Analysis in Meteorology and Oceanography. Vol. 17, Developments in Atmospheric Science, Elsevier, 425 pp. Reynolds, R. W., 1988: A real-time global sea surface temperature analysis. J. Climate, 1, 75–86. , and D. C. Marsico, 1993: An improved real-time global sea surface temperature analysis. J. Climate, 6, 114–119. , and T. M. Smith, 1994: Improved global sea surfac temperature analyses using optimum interpolation. J. Climate, 7, 929–948. Saad, Y., 1992: Numerical Methods for Large Eigenvalue Problems, Algorithms and Architectures for Advanced Scientific Computing. Manchester University Press, 346 pp. Toumazou, V., 1996: Portraits spectraux de matrices: Un outil d’analyse de la stabilite´. Ph.D. dissertation, Universite´ H. Poincare´, Nancy, France, 143 pp. Wilkinson, J. H., 1960: Error analysis of floating point computation. Numer. Math., 2, 219–340.

Suggest Documents