Journal of Geodesy manuscript No. (will be inserted by the editor)
Rectangular rotation of spherical harmonic expansion of arbitrary high degree and order Toshio Fukushima
Received: / Accepted:
Abstract In order to move the polar singularity of arbitrary spherical harmonic expansion to a point on the equator, we rotate the expansion around the y-axis by 90 degrees such that the x-axis becomes a new pole. The expansion coefficients are transformed by multiplying a special value of Wigner D-matrix and a normalization factor. The transformation matrix is unchanged whether the coefficients are 4π fully-normalized or Schmidt quasi-normalized. The matrix is recursively computed by the so-called X-number formulation (Fukushima, 2012, J. Geodesy, 86, 271–285). As an example, we obtained 2,190×2,190 coefficients of the rectangular rotated spherical harmonic expansion of EGM2008. A proper combination of the original and the rotated expansions will be useful in (i) integrating the polar orbits of artificial satellites precisely, and (ii) synthesizing/analyzing the gravitational/geomagnetic potentials and their derivatives accurately in the high latitude regions including the arctic and antarctic area. Keywords coordinate rotation – geomagnetism – geopotential – satellite orbit integration – spherical harmonic expansion
1 Introduction 1.1 Difficulties in computing spherical harmonic expansion of high degree/order The spherical harmonic expansion is a daily tool in geodesy and geophysics (Heiskanen and Moritz, 1967; Stacey and Davis, 2008). Although its theory is completed (Hobson, 1931), the numerical computation of actual expansions had been suffering with problems due to the underflow and/or overflow in evaluating associated Legendre functions (ALF) of degree/order higher than 2,700 or so (Jekeli et al., 2007). This problem was definitively resolved by an extended range arithmetic named the X-number formulation (Fukushima, 2012a,b, 2014). Indeed, the formulation has enabled an analysis of the gravity field of an extremely high degree/order as 46,080 (Rexer and Hirt, 2015a). T. Fukushima National Astronomical Observatory, Ohsawa, Mitaka, Tokyo 181-8588, Japan E-mail:
[email protected]
2
Toshio Fukushima
− (cos θ)|) log10(maxn,m|∆P nm
Maximum Error of fnALF in DP X−number Computation 0 −2 −4 −6 −8 −10 −12 −14 −16 −18 −20 −22 −24
17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 log2N=1
1" 3" 10"
−7
−6
−5
1’ 3’ 10’
−4 −3 log10 (θ/π)
1o 3o 10o 30o
−2
−1
0
Fig. 1 Maximum error of the 4π fully-normalized associate Legendre functions (fnALF) computed by the socalled X-number formulation in the double precision environment. Shown are the absolute maximum value of ∆ Pnm (cos θ ), the difference in the fnALFs computed by the double and quadruple precision X-number formulations (Fukushima, 2012a, Appendix A). Displayed are the maximum difference with respect to degree n and order m in the range 0 ≤ m ≤ n ≤ N for the given maximum orders as N = 2, 4, . . . , 217 = 131, 072. The results are plotted as the function of the colatitude, θ , in a double logarithmic manner.
However, there still remains a difficulty: the precision degrade near the pole. This is prominent in the numerical computation of not only (i) the point values of ALFs (Fukushima, 2012a, Figs 1, 2, and 4) but also (ii) their first, second, and third order derivatives (Fukushima, 2012b, Figs 4–11) as well as (iii) their integrals (Fukushima, 2014, Figs 1 and 5). Refer to Fig. 1 of Rexer and Hirt (2015a) showing the relative error of the identity relation to be satisfied by the 4π fully-normalized ALF (fnALF) computed for the case of a fairly high degree, 46,080. In order to examine the computational error of the fnALF more accurately and thoroughly, we compared the results of their double and quadruple precision computation. More
Rectangular rotation of spherical harmonic expansion of arbitrary high degree and order
3
specifically speaking, we measured the errors as the difference between (i) the point values of fnALFs computed by the double precision X-number formulation, and (ii) those by the quadruple precision X-number one (Fukushima, 2012a, Appendix A). Refer to Fig. 1 showing the maximum of the measured errors with respect to all the combinations of degree/order such that 0 ≤ m ≤ n ≤ N. The figure plots the maximum absolute error as functions of the colatitude, θ , for various values of the maximum degree N as N = 2, 4, 8, . . . , 217 = 131, 072. Obviously, if N increases, then the maximum errors of fnALF significantly increases according as θ decreases. Indeed, the precision loss amounts to 9 digits in the case when N = 217 = 131, 072. It happens when θ ≈ 40′′ , or more rigorously √ speaking, in the interval, 20′′ < θ < 80′′ . This critical value seems to coincide with 4 24εD , the angle when the approximation error of cos θ by a quadratic polynomial is equal to εD , the double precision machine epsilon. In fact, the angle amounts to ≈ 46.9′′ because εD ≡ 2−53 ≈ 1.11 × 10−16 . An apparent independency of the observed critical angle with the maximum order N casts a doubt about the origin of the observed precision degrade and the internal approximation formula of the trigonometric functions adopted in the standard mathematical library. At any rate, the critical angle roughly corresponds to the scale of 1 km on the Earth’s surface. The observed precision loss will be intolerably large when N further increases, say N = 648, 000 to guarantee the resolution of 1 arcsecond. This may not be acceptable for the spherical harmonic synthesis/analysis of various geophysical quantities in the polar region when the degree/order are extremely high. For instance, Hirt et al. (2016) recently presented such a solution for the gravity potential by combining the Bedmap2 (Fretwell et al., 2013), the topography/ice thickness/bedrock data in the antarctic region, with the satellite gravimetry data so as to produce an accurate degree-2190 global gravity model. Actually, their work was a strong trigger for us to consider the problem of polar singularity. Of course, a possible solution is the X-number formulation using the quadruple precision floating point numbers as the mantissa (Fukushima, 2012a, Appendix A). In fact, we prepared Fig. 1 by the comparison with this quadruple precision X-number formulation. Through a random spot check with the 10,000 digits computation by Mathematica (Wolfram, 2003), we confirmed that its accuracy is around 16 digits higher than shown here. Nevertheless, the quadruple precision computation is significantly time-consuming, say demanding 40–80 times more CPU time than the double precision computation (Wittwer et al., 2008). 1.2 Polar singularity in the spherical coordinate system Even if the spherical harmonic expansions are correctly computed, there remains an essential problem: the singularity in its utilization at the pole. This is a mathematical issue and unavoidable as long as the function is expanded in the spherical polar coordinates. For example, the partial derivatives of the function along the longitude direction contain an integer power of the sine of the colatitude as a small divisor. This will cause a serious trouble not only in analyzing the observational data covering the arctic and/or antarctic regions but also in integrating the orbits of artificial satellites when they pass over the polar region. Let us show a simple example of such inappropriateness for the deflection of the vertical (Heiskanen and Moritz, 1967, section 2-13). The standard formula (Heiskanen and Moritz, 1967, equation (2-140)) provides ξ and η , the north-south and east-west components of the deflection, respectively, as
ξ = Φ − ϕ , η = (Λ − λ ) cos ϕ ,
(1)
4
Toshio Fukushima
where Φ and Λ are the so-called astronomical latitude and longitude, respectively, while ϕ ≡ π /2 − θ is the latitude. We should recall that these are not rigorous but approximate formulas obtained under some assumptions such as (i) the ignorance of the difference in the points of the evaluation/computation of two kinds of angular coordinates, or (ii) the smallness of the magnitude of the deviations, Φ − ϕ and Λ − λ . Near the polar region, the latter assumption on the magnitude of Λ − λ becomes inadequate. This is easily seen from the fact that cos ϕ = sin θ can be extremely small while η must remain finite. Nevertheless, this assumption becomes reasonable in the equatorial area where cos ϕ ≈ 1. Also, due to the trial-and-correct nature of most of the existing numerical integrators, the possibility of mathematical singularities in the force calculation part must be reduced as much as possible. This is because, if not, some physical and/or computational perturbations may deviate the trial orbits during the integration process so significantly that there is a chance that the deviations grow by the singularities. A well-known example is the singularity of zero radius, r = 0. In order to avoid this inconvenience, the regularization of the orbit is still being investigated (Fukushima, 2007a,b).
1.3 Rotation of spherical harmonic expansion In order to resolve the issues reviewed in the previous subsection, we follow a lesson on the rectangular rotation of orbital and rotational elements (Fukushima, 1994). Namely, we shift a problematic polar region to somewhere in the safer equatorial area by rotating the given spherical harmonic expansion by 90 degrees. If the rotation is successfully executed, a proper combination of the original and the rotated expansions will assure the accurate harmonic expansion computation all over the spherical surface by using the existing software. Once the rotated spherical harmonic expansion is obtained, this trick requires only a minimal modification of the standard procedures of the spherical harmonic synthesis/analysis: a conditional switch of the variable transformations before and/or after the computation of the spherical harmonic expansion, which costs a negligible increase in the total CPU time. Now, the rotation of the spherical harmonics itself is a classic problem from the early days of quantum physics (Edmonds, 1957; Biedenharn and Louck, 1981). Typically, the rotation operation is conducted by utilizing Wigner D-matrix (Wigner, 1931, chapter 15) although a few different approaches have been proposed (Wagner, 1983; Goad, 1987; Lessig et al., 2012; Aubert, 2013). The key component of the matrix is a special function denoted by Wigner d-function (Wigner, 1931, equation (15.27)). Usually, the d-function and its modification named the inclination function being popular in celestial mechanics (Kaula, 1961; Izsak, 1964; Kaula, 1966) are computed by recurrence formulas (Gooding, 1971; Goldstein, 1984; Sneeuw, 1992; Ivanic and Ruedenberg, 1996; Risbo, 1996; Blanco et al., 1997; Masters and Richards-Dinger, 1998; Choi et al., 1999; Dachsel, 2006; Pinchon and Hoggan, 2007; Gooding and Wagner, 2008; Kostelec and Rockmore, 2008; Gooding and Wagner, 2010; Tajima, 2015; Feng et al., 2015; Gumerov and Duraiswami, 2015). For example, SHTOOLS (Wieczorek et al., 2016), a popular software package to handle the spherical harmonic expansions, includes a few programs to rotate the given spherical harmonic expansion. Its core subprograms evaluate the d-function by a combination of increasing/decreasing-order recurrence formulas for the complex-valued spherical harmonics based on the method of Masters and Richards-Dinger (1998).
Rectangular rotation of spherical harmonic expansion of arbitrary high degree and order
5
Table 1 Sample values of Wigner d-function. Shown are some values of Enkm ≡ dnkm (π /2) computed by the X-number formulation in the quadruple precision environment. We fixed the orders k and m as k = 1024 and m = 512 and set the degree n as a power of 2 as n = 2 j while increasing the power index j as j = 11, 12, . . . , 30. The underlined figures show the correct digits confirmed by the 10,000 digits computation using Mathematica (Wolfram, 2003) up to the degree 220 = 1, 048, 576. Beyond that limit, we could not obtain the reference values by Mathematica within a reasonable amount of CPU time. The last column shows the error of the double precision X-number computation measured as the difference from the result of the quadruple precision X-number computation. j 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
n = 2j 2048 4096 8192 16384 32768 65536 131072 262144 524288 1048576 2097152 4194304 8388608 16777216 33554432 67108864 134217728 268435456 536870912 1073741824
Enkm +1.0289298432398110091400758325818E−02 −7.9332858596627563248809626954191E−03 +1.7310809610952302669531325454910E−03 +5.1183422400989104141388168424689E−03 −4.2185193095169883446081950580321E−03 −4.5458482024961174595363687897361E−04 −1.4405080078504604480370455101186E−03 −6.4851610865561682134372880364914E−04 +5.9537739537353167533458075319764E−04 +6.8379850771353308669346321436757E−04 +5.3383816196141005696161100797080E−04 +3.8655232853224421085662874199727E−04 +2.7494531024802442338145278117388E−04 +1.9470092517178481247080941421593E−04 +1.3772478274251258627215110345336E−04 +9.7395044983941112694576233558612E−05 +6.8870273204067846668038405998824E−05 +4.8698915906974516220972205307166E−05 +3.4435382950387008532631570412804E−05 +2.4349501510683304323385247830633E−05
∆ Enkm −4.25E−17 +9.76E−17 −4.72E−17 −9.75E−17 +6.28E−17 +5.22E−17 +9.87E−17 +8.27E−19 −1.10E−17 −3.12E−18 −1.37E−17 +1.56E−17 +4.07E−17 +4.54E−16 +4.34E−16 +2.83E−16 −8.06E−14 −7.75E−14 +1.12E−13 +1.15E−13
Table 2 Mathematica command sequence to compute Enkm , the elementary value of Wigner d-function. This is in order to prepare the reference values for examining the accuracy of the quadruple precision computation by the new method listed in Table 1. The sequence prints out the first 40 digits of Enkm while resetting the available digits for the internal computation as large as 10,000. This was necessary to overcome the cancellation problem faced in the evaluation of the series expansion of the function. $MaxExtraPrecision=10000; k=1024;m=512; Do[{n=2ˆj;Print[j,”,”,n,”,”,N[WignerD[{n,k,m},0,Pi/2,0],40]},{j,11,20}]
However, none of the existing methods are sufficiently reliable if the degree/orders are greater than a few hundreds (Gimbutas and Greengard, 2009). Unfortunately, even the latest version of SHTOOLS is no exception. This is mainly because of the precision loss during the recursion. The situation is exactly the same as once faced in the computation of ALF before the rise of the X-number formulation. This is no wonder since the d-function is a natural extension of the fnALF (Edmonds, 1957) as will be seen later. Fortunately, in the present case, we only have to deal with a special value of the dfunction when the rotation angle is 90 degrees. This fact significantly simplifies the actual computing procedure. Consequently, we developed a new method to rotate the harmonic coefficients by 90 degrees. Table 1 lists several values of the d-function required in transforming the spherical harmonic coefficients while the reference values are prepared by the Mathematica command sequence listed in Table 2. As shown in the table, the newly developed algorithm is sufficiently precise and covers the case of an extremely high degree as 230 ≈ 109 .
6
Toshio Fukushima
Below, we explain the new method in Section 2, and present the results of analytical confirmation and some numerical experiments of the method in Section 3.
2 Method 2.1 Surface spherical harmonic expansions Assume that a function defined on the unit spherical surface, W (θ , λ ), is represented by a truncated expansion of the real-valued surface spherical harmonics as W (θ , λ ) =
N
N
n
∑ Cn0Un0 (θ , λ ) + ∑ ∑
n=0
[ ] CnmUnm (θ , λ ) + SnmVnm (θ , λ ) ,
(2)
n=1 m=1
where (i) N is the maximum degree, (ii) Cnm and Snm are expansion coefficients, and (iii) Unm (θ , λ ) and Vnm (θ , λ ) are the 4π fully-normalized real-valued surface spherical harmonics of degree n and order m, which are defined as Unm (θ , λ ) ≡ Pnm (cos θ ) cos mλ ,
(3)
Vnm (θ , λ ) ≡ Pnm (cos θ ) sin mλ .
(4)
Here (i) Pnm (t) is the 4π fully-normalized associated Legendre function (fnALF) of degree n, order m, and argument t (Heiskanen and Moritz, 1967, equation (1-77)) defined as √ (n − m)! Pnm (t) ≡ (2 − δm0 ) (2n + 1) Pnm (t). (5) (n + m)! (ii) δ jk is Kronecker’s delta, and (iii) Pnm (t) is the unnormalized associated Legendre function (ALF) of degree n, order m, and argument t (Heiskanen and Moritz, 1967, equation (157)) defined as ( ) )n )m/2 d n+m ( 2 1 ( (6) t −1 , 1 − t2 Pnm (t) ≡ n 2 n! dt such that the Condon-Shortley phase factor (Condon & Shortley, 1953), (−1)m , is not introduced (Fukushima, 2012a, footnote, p. 272) in its definition as √ P11 (t) = + 1 − t 2 . (7) 2.2 Rectangular rotation of surface spherical harmonics Consider the coordinate rotation around the y-axis by 90 degrees. As implicitly shown in Wigner (1931, chapter 15), not the x- but the y-axis was chosen as the axis of the rotation such that Wigner d-function, the key component of the transformation formula, becomes real-valued. Denote the pairs of the colatitude and the longitude before and after the rotation by (θ , λ ) and (θ ′ , λ ′ ), respectively. They are implicitly related with each other as sin θ cos λ cos θ ′ sin θ sin λ = sin θ ′ sin λ ′ , (8) − sin θ ′ cos λ ′ cos θ
Rectangular rotation of spherical harmonic expansion of arbitrary high degree and order
such that their mutual transformations are explicitly written as (√ ) θ ′ = Θ ′ (θ , λ ) ≡ atan2 sin2 θ sin2 λ + cos2 θ , sin θ cos λ ,
λ ′ = Λ ′ (θ , λ ) ≡ atan2 (sin θ sin λ , − cos θ ) , (√ ) ) θ = Θ θ ′ , λ ′ ≡ atan2 cos2 θ ′ + sin2 θ ′ sin2 λ ′ , − sin θ ′ cos λ ′ , ( ) ( ) λ = Λ θ ′ , λ ′ ≡ atan2 sin θ ′ sin λ ′ , cos θ ′ , (
7
(9) (10) (11) (12)
where atan2(y, x) is the two-argument arctangent function returning arctan(y/x) while properly taking the signs of x and y into account. Associated with this coordinate rotation, W is expressed in terms of (θ ′ , λ ′ ) as ( ) ( ( ) ( )) W (θ , λ ) = W ′ θ ′ , λ ′ ≡ W Θ θ ′ , λ ′ , Λ θ ′ , λ ′ . (13) Since (i) the coordinate rotation does not change the value of the scalar function, and (ii) a set of the surface spherical harmonics is a complete orthogonal set of the basis functions over the unit spherical surface, we may assume that W ′ (θ ′ , λ ′ ) is also expressed by a similar truncated expansion as ( ) W ′ θ ′, λ ′ =
N
′
∑ Cn0Un0
n=0 ′
(
) N θ ′, λ ′ + ∑
n
∑
[ ( ( ) )] ′ ′ CnkUnk θ ′ , λ ′ + SnkVnk θ ′ , λ ′ ,
(14)
n=1 k=1
′
where Cnk and Snk are the new expansion coefficients. In order to determine the transformation from the original to the new expansion coefficients, we first consider the rotation of the surface spherical harmonics. More specifically speaking, we seek for the transformation from the spherical harmonics with the rotated angular coordinates, (θ ′ , λ ′ ), to those of the original ones, (θ , λ ). Clarified later will be the reason why we seek for the transformation from the spherical harmonics after the rotation to those before the rotation. At any rate, the transformation formula is obtained by simplifying Aubert’s general formula, namely the formula for arbitrary value of the rotation angle around the y-axis (Aubert, 2013, equation (23)). In fact, by setting the angle in the general formula as 90 degrees, we derive the special formula as Unm (θ , λ ) =
n
∑ Jnkm EnkmUnk
( ′ ′) θ , λ , (0 ≤ n; 0 ≤ m ≤ n),
(15)
k=0
Vnm (θ , λ ) =
n
∑ Knkm EnkmVnk
(
) θ ′ , λ ′ , (1 ≤ n; 1 ≤ m ≤ n),
(16)
k=1
where (i) Jnkm and Knkm are the normalization factors obtained by simplifying the general results (Aubert, 2013, equation (95)) and expressed as (−1)k+m + (−1)n Jnkm ≡ √ , (1 + δk0 ) (1 + δm0 )
(17)
Knkm ≡ (−1)k+m − (−1)n ,
(18)
and (ii) Enkm is an elementary value of Wigner d-function (Edmonds, 1957) defined as Enkm ≡ dnkm (π /2).
(19)
8
Toshio Fukushima (n)
The standard notation of the d-function is dkm (θ ) (Edmonds, 1957). However, we changed it as dnkm so as to avoid the possible confusion of n with the differentiation order. Notice that the transformation formulas, equations (15) and (16), can be regarded as the transformation formula of the first order partial derivatives of the function with respect to the spherical harmonic coefficients as ( ) ( ) n ∂W ∂W = ∑ Jnkm Enkm , (0 ≤ n; 0 ≤ m ≤ n), (20) ′ ∂ Cnm Cnℓ ,Snℓ k=0 ∂ Cnk ′ ′ Cn j ,Sn j
(
∂W ∂ Snm
) = Cnℓ ,Snℓ
(
n
∑ Knkm Enkm
k=1
∂W ′
∂ Snk
) ′
′
, (1 ≤ n; 1 ≤ m ≤ n).
(21)
Cn j ,Sn j
This interpretation is beneficial in conducting the spherical harmonic analysis using the rotated spherical harmonic expansion. Indeed, one can evaluate the partial derivatives with respect to the original spherical harmonic coefficients by means of those with respect to the rotated spherical harmonic coefficients, the latter of which is easily obtained by the existing approach once the spherical harmonic coefficients are successfully rotated as will be illustrated in the next subsection. Originally, Aubert (2013) derived the general formula for the Schmidt quasi-normalized ALF (Winch et al., 2005) defined as √ (n − m)! Pˆnm (t) ≡ (2 − δm0 ) Pnm (t). (22) (n + m)! √ The quasi-normalized ALF is the same as fnALF except the degree-dependent factor, 2n + 1. The existence of the factor does not alter the same-degree linear relation. Therefore, equations (15) and (16) are valid even when the spherical harmonics are defined by the fnALF as conventionally done in geodesy (Heiskanen and Moritz, 1967).
2.3 Rectangular rotation of spherical harmonic coefficients Substitute the transformation formulas of the surface spherical harmonics, equations (15) and (16), into the identity relation of W , equation (13). Compare the corresponding terms of the surface harmonics of the same degree and order with respect to the new angular coordinates while noting the complete orthogonality of the surface spherical harmonics with respect to degree/order. Then, we obtain formulas relating the spherical harmonic coefficients in a dual form as ′
Cnk =
n
∑ Jnkm EnkmCnm ,
(23)
m=0 ′
Snk =
n
∑ Knkm Enkm Snm .
(24)
m=1
This result is not found in the existing literature. A similar but significantly simpler relation is known for the complex-valued spherical harmonic coefficients (Alvarez Collado et al., 1989). The transformation formula of the spherical harmonics, equations (15) and (16), are unchanged whether they are 4π fully-normalized or Schmidt quasi-normalized. Therefore,
Rectangular rotation of spherical harmonic expansion of arbitrary high degree and order
9
those of the spherical harmonic coefficients, equations (23) and (24), are also valid for the geomagnetic harmonic coefficients following the Schmidt quasi-normalization (Thebault et al., 2015). The above formulas are written in a form representing the coefficients after the rotation as functions of those before the rotation. This is the reason why we seeked for the relations of the surface spherical harmonics with the angular coordinates before the rotation as functions of those with the angular coordinates after the rotation. One may think that the factors, Jnkm and/or Knkm , can be embedded in Enkm since Jnkm = 0 if Knkm ̸= 0 and vice versa. Nevertheless, such an approach (Aubert, 2013) results a more complicated scheme to compute the merged quantities than that of Enkm , which will be shown in the next subsection. Also, the explicit evaluation of Jnkm and/or Knkm can be omitted by decomposing the transformation formulas as will be discussed later. In any case, the conversion procedures of Cnm and Snm are completely separated. This fact greatly simplifies the actual transformation process as will be seen later. This is the reason why we followed Wigner’s convention to rotate the coordinates around not the x-axis but the y-axis (Wigner, 1931).
2.4 Recursive computation of Enkm The Mathematica is capable to compute Wigner D-matrix, and therefore, Wigner d-function as its special case, too (Wolfram, 2003). However, its computational speed is significantly slow. Therefore, we present a self-contained procedure to compute them below. Before going further, we notice a symmetry relation of the d-functions (Edmonds, 1957, equation (4.2.6)). It is translated in the present case, where the degree/orders are nonnegative integers, as Enmk = (−1)k+m Enkm , (0 ≤ m ≤ n; 0 ≤ k ≤ n). (25) Thus, the problem is reduced to the computation of Enkm when k ≥ m. Using a recursive formulation to compute the d-functions (Kostelec and Rockmore, 2008, equations (4.5) and (4.6)), we obtain a stable set of increasing-degree fixed-orders recurrence formulas to compute Enkm as Ekkm = Gkm , (m ≤ k),
(26)
Ek+1,km = −akm Ekkm , (m ≤ k),
(27)
Enkm = −ankm En−1,km − bnkm En−2,km , (m ≤ k; k + 2 ≤ n).
(28)
Here Gkm , ankm , and bnkm are numerical constants defined as √ (2k)! −k Gkm ≡ 2 , (m ≤ k), (k + m)!(k − m)! km(2n − 1) √ , (n − 1) (n + k)(n − k)(n + m)(n − m) √ (n + k − 1)(n − k − 1)(n + m − 1)(n − m − 1) n bnkm ≡ , n−1 (n + k)(n − k)(n + m)(n − m) ankm ≡
(29)
(30)
(31)
10
Toshio Fukushima
and akm is a special value of ankm defined as √ akm ≡ ak+1,km = m
2k + 1 . (k + m + 1)(k − m + 1)
(32)
As for the generating matrix Gkm , we recursively evaluate it as
√ G jm =
G00 = 1,
(33)
Gmm = 2−1 Gm−1,m−1 , (1 ≤ m).
(34)
j(2 j − 1) G j−1,m , (m + 1 ≤ j ≤ k). 2( j + m)( j − m)
(35)
These formulas are similar to those computing the fnALF (Fukushima, 2012a, Section 2). This is no wonder if noting a fact that the d-function is a natural generalization of the fnALF in the sense that Pnm (cos θ ) , (36) dnm0 (θ ) = √ (2 − δm0 ) (2n + 1) which is easily derived from the special relation between the d-function and the unnormalized ALF (Edmonds, 1957, equation (4.1.24)).
2.5 Decomposition of transformation formula In order to omit the direct evaluation of Jnkm and Knkm in the actual programs, we rewrite them in more explicit forms as −2, √ (n : odd, k + m : odd, k > 0, m > 0), − (n : odd, k : odd, m = 0), √2, − 2, (n : odd, k = 0, m : odd), 0, (n + k + m : odd), Jnkm = (n : even, k = m = 0), √1, √2, (n : even, k = 0, m : even, m > 0), (n : even, k : even, k > 0, m = 0), 2, 2, (n : even, k + m : even, k > 0, m > 0), −2, (n : even, k + m : odd). 0, (n + k + m : even), Knkm = 2, (n : odd, k + m : even).
(37)
(38)
By using these expressions and the symmetry relation of Enkm , equation (25), we decompose the transformation formulas, equations (23) and (24), into a more specific form utilizing only the values of Enkm with the degree and orders satisfying the condition, 0 ≤ m ≤ k ≤ n. Namely, (i-a) if the degree n is even and the new order k is zero, then √ ′ Cn0 = En00Cn0 + 2
n
∑
m=2, m:even
Enm0Cnm ,
(39)
Rectangular rotation of spherical harmonic expansion of arbitrary high degree and order
(i-b) else if n is even and k is odd, then ( ′ Cnk
k
∑
=2 (
′ Snk
∑
EnkmCnm +
∑
∑
Enkm Snm +
m=2, m:even
=2 −
Enmk Snm ,
k−1
)
n
∑
(42)
)
∑
Enkm Snm +
m=1, m:odd
EnmkCnm ,
m=k+2, m:even
n−1
∑
(41)
m=k+1, m:even
(i-c) else if n is even and k is positive and even, then ( k √ ′ Cnk = 2Enk0Cn0 + 2 ∑ EnkmCnm + (
(40)
)
n
m=2, m:even
′ Snk
EnmkCnm ,
m=k+2, m:odd
k−1
=2 −
)
n−1
m=1, m:odd
11
Enmk Snm ,
(43)
m=k+1, m:odd
(ii-a) else if n is odd and k = 0, then ′
Cn0 =
√ 2
n
∑
Enm0Cnm ,
(44)
m=1, m:odd
(ii-b) else if n is odd and k is odd, then ( √ ′ Cnk = − 2Enk0Cn0 + 2 −
k−1
∑
(
∑
Enkm Snm +
=2 −
k−1
∑
EnkmCnm +
m=1, m:odd
( ′ Snk
=2
∑
(46)
)
n
∑
EnmkCnm ,
(47)
m=k+1, m:odd
k
m=2, m:even
Enmk Snm .
m=k+2, m:odd
and (ii-c) if n is odd and k is positive and even, then ( ′ Cnk
(45)
)
n
m=1, m:odd
EnmkCnm ,
m=k+1, m:even
k
∑
=2
∑
EnkmCnm +
m=2, m:even ′ Snk
)
n−1
n−1
Enkm Snm +
∑
) Enmk Snm .
(48)
m=k+2, m:even
2.6 Application of X-number formulation to recursive computation of Enkm When n is sufficiently large, say n > 1023, the recursive computation of Enkm described in the previous subsection suffers from the underflow problems, especially in the preparation of Gmm . This is understandable if recalling the fact that the d-function is a generalization of the fnALF as seen in equation (36). In order to resolve this issue, we execute the recursions by the X-number formulation (Fukushima, 2012a). In short, an X-number is a pair of (i) a double or quadruple precision floating point number x and (ii) a 32- or 64-bit integer iX . The pair is intended to represent a virtual floating point number with a wide range of the exponent as X = xBiX .
(49)
12
Toshio Fukushima
Table 3 Fortran function to transform a quadruple precision X-number to corresponding quadruple precision F-number. real*16 function qx2f(x,ix) integer*8 IND,ix; real*16 x,BIG,BIGI,BIGS,BIGSI parameter (IND=16000,BIG=2.q0**IND,BIGI=2.q0**(-IND)) parameter (BIGS=2.q0**(IND/2),BIGSI=2.q0**(-IND/2)) if(ix.eq.0) then qx2f=x elseif(x.eq.0.q0) then qx2f=x elseif(ix.eq.-1.and.abs(x).ge.BIGS) then qx2f=x*BIGI elseif(ix.eq.1.and.abs(x).le.BIGSI) then qx2f=x*BIG elseif(ix.lt.0) then qx2f=0.q0 elseif(x.lt.0.q0) then qx2f=-BIG else qx2f=BIG endif return; end
Table 4 Fortran subroutine to normalize a quadruple precision X-number. subroutine qxnorm(x,ix) integer*8 IND,ix; real*16 x,BIG,BIGI,BIGS,BIGSI parameter (IND=16000,BIG=2.q0**IND,BIGI=2.q0**(-IND)) parameter (BIGS=2.q0**(IND/2),BIGSI=2.q0**(-IND/2)) if(x.eq.0.q0) then ix=0 elseif(abs(x).lt.BIGSI) then x=x*BIG; ix=ix-1 elseif(abs(x).ge.BIGS) then x=x*BIGI; ix=ix+1 endif return; end
Here B is an integer power of 2 such as B = 2960 and B = 216000 in the double and quadruple precision environment, respectively (Fukushima, 2012a, Appendix A). In contrast to the X-number, we call the ordinary double or quadruple precision floating point number an Fnumber. More specifically speaking, we (i) regard Enkm and Gkm as X-numbers, (ii) treat akm , ankm , and bnkm as F-numbers, (iii) use xnorm in (iii-a) transforming an F-number into the corresponding X-number in equation (33), and (iii-b) multiplying an F-number to an Xnumber in equations (34) and (35), (iv) employ xlsum2 in computing a two-term linear sum of X-numbers with F-number coefficients in equation (28), and (v) utilize x2f in translating the computed X-numbers Enkm back into the corresponding F-numbers. Here the double precision implementations of Fortran function/subroutines denoted by x2f, xnorm, and xlsum2 are found in the literature (Fukushima, 2012a, Tables 6–8). Their quadruple precision versions, qx2f, qxnorm, and qxlsum2, are provided in Tables 3–5, respectively.
Rectangular rotation of spherical harmonic expansion of arbitrary high degree and order
13
Table 5 Fortran subroutine to compute a two-term linear sum of quadruple precision X-numbers with the quadruple precision F-number coefficients. The order of the arguments of the subroutine was modified so as to realize a better alignment of words. subroutine qxlsum2(a,x,b,y,z,ix,iy,iz) integer*8 IND,ix,iy,iz,ip,iq,id real*16 a,x,b,y,z,p,q,BIG,BIGI,BIGS,BIGSI parameter (IND=16000,BIG=2.q0**IND,BIGI=2.q0**(-IND)) parameter (BIGS=2.q0**(IND/2),BIGSI=2.q0**(-IND/2)) p=a*x; ip=ix; q=b*y; iq=iy; id=ip-iq if(id.eq.0) then z=p+q; iz=ip elseif(id.eq.1) then z=p+q*BIGI; iz=ip elseif(id.eq.-1) then z=q+p*BIGI; iz=iq elseif(id.gt.1) then z=p; iz=ip else z=q; iz=iq endif if(z.eq.0.q0) then iz=0 elseif(abs(z).lt.BIGSI) then z=z*BIG; iz=iz-1 elseif(abs(z).ge.BIGS) then z=z*BIGI; iz=iz+1 endif return; end
2.7 Implementation The X-number computation outlined in the previous subsection was implemented in Fortran subroutines xcale and xrotsh listed in Tables 6 and 7, respectively. The former program, xcale, returns Enkm when n is specified as an X-number matrix with indices k and m satisfying the condition, 0 ≤ m ≤ k ≤ n. It assumes that the previous values of the X-number matrix, En−1,km and En−2,km , are externally provided. When n = 0 or n = 1, the program creates Enkm by itself without referring one of the previous values. As a result, xcale is self-contained if it is sequentially called by increasing n one by one from zero. Meanwhile, the latter program, xrotsh, rotates the given spherical harmonic coefficients by utilizing xcale while increasing the degree n one by one from zero. Notice that NX, the size of the coefficient arrays and some working matrices, must be declared explicitly in both the programs. In these implementations, NX was tentatively set as NX = 2200 in order to deal with the EGM2008 geopotential, which contains a coefficient matrix of the size, 2160 × 2190.
3 Experiments 3.1 Validation of algorithm Let us confirm the correctness of the formulas presented in the previous section by utilizing the Mathematica (Wolfram, 2003).
14
Toshio Fukushima
Table 6 Fortran subroutine to return Enkm as (xen, ien), a double precision X-number matrix with the orders, k and m, as its matrix indices when the degree n is fixed. The computation of Enkm is restricted to the case 0 ≤ m ≤ k ≤ n. We assume that (i) n ≥ 0 and (ii) externally available are (xenm1, ienm1), X-number matrix representing En−1,km when n ≥ 1, and (xenm2, ienm2), the similar matrix for En−2,km when n ≥ 2. The subroutine calls x2f, xnorm, and xlsum2, the Fortran function/subroutines of X-number manipulations (Fukushima, 2012a). Notice that the order of the arguments of xlsum2 used here is modified from the original version (Fukushima, 2012a, Table 8) for a better alignment of the variables in the memory. subroutine xcale(n,xen,xenm1,xenm2,ien,ienm1,ienm2) integer NX; parameter (NX=2200) real*8 xen(0:NX,0:NX),xenm1(0:NX,0:NX),xenm2(0:NX,0:NX),fb,fa,g,g1,h,u,r1,a,b,x2f integer ien(0:NX,0:NX),ienm1(0:NX,0:NX),ienm2(0:NX,0:NX),n,k,npk,nmk,m,npm,nmm if(n.eq.0) then xen(n,n)=1.d0;ien(n,n)=0;return else xen(n,n)=0.5d0*xenm1(n-1,n-1);ien(n,m)=ienm1(n-1,n-1);call xnorm(xen(k,m),ien(k,m)) endif k=n;h=dble(n)*dble(2*n-1)*0.5d0 do m=0,k-1 a=sqrt(h/(dble(n+m)*dble(n-m))) xen(k,m)=a*xenm1(k-1,m);ien(k,m)=ienm1(k-1,m);call xnorm(xen(k,m),ien(k,m)) enddo k=n-1;h=dble(2*k+1) do m=0,k a=dble(m)*sqrt(h/(dble(n+m)*dble(n-m))) xen(k,m)=-a*xenm1(k,m);ien(k,m)=ienm1(k,m);call xnorm(xen(k,m),ien(k,m)) enddo if(n.eq.1) return fb=1.d0+1.d0/dble(n-1);fa=1.d0+fb do k=0,n-2 npk=n+k;nmk=n-k;g=dble(npk)*dble(nmk);g1=dble(npk-1)*dble(nmk-1);h=dble(k)*fa do m=0,k npm=n+m;nmm=n-m;u=1.d0/sqrt(g*dble(npm)*dble(nmm)) r1=sqrt(g1*dble(npm-1)*dble(nmm-1));a=h*dble(m)*u;b=fb*r1*u call xlsum2(-a,xenm1(k,m),-b,xenm2(k,m),xen(k,m),ienm1(k,m),ienm2(k,m),ien(k,m)) enddo enddo return;end
First, in Table 9, we prepared a sequence of Mathematica commands to validate the transformation formulas of the real-valued surface spherical harmonics, equations (15) and (16), by using the angular coordinates relation, equation (8). The sequence plots the differences between the both sides of the formulas, for several tens of pair of n and m, as two-dimensional curved surfaces with respect to θ ′ and λ ′ , which are denoted by xp and yp in the sequence. All the obtained results were practically zero in the sense that the differences are of the order of the double precision machine epsilon. This means the numerical correctness of the formulas at least for degrees and orders up to 10. It may sound that the formulas are confirmed only for low degree/orders. However, this restriction is practically caused by the slowness of Mathematica. In general, we empirically know that if a certain literal formula with integers as discrete parameters was proven to be correct for sufficiently large, say several tens or hundreds, number of combinations of the parameters, it is very unlikely that the formula breaks down for some large parameters. Indeed, if the formula is incorrect, its inaccuracy immediately appears even for small values of parameters, say n = 2 and m = 1 or so. Rather, a pitfall is frequently hidden in the boundary cases when the degree, the order, and/or the colatitude takes a special value as
Rectangular rotation of spherical harmonic expansion of arbitrary high degree and order
15
Table 7 Fortran subroutine to rotate the 4π fully- or Schmidt quasi-normalized spherical harmonic coefficients around the y-axis by 90 degrees. The coefficients before the rotation are denoted by c0old(n) = Cn0 , ′ cold(n, m) = Cnm , and sold(n, m) = Snm . Meanwhile, those after the rotation are denoted by c0new(n) = Cn0 , ′ ′ cnew(n, k) = Cnk , and snew(n, k) = Snk . The subroutine calls xcale listed in Table 6 and x2f, a function to transform X-number to F-number (Fukushima, 2012a). subroutine xrotsh(nmax,c0old,cold,sold,c0new,cnew,snew) integer NX; real*8 ROOT2; parameter (NX=2200,ROOT2=1.4142135623730950d0) real*8 c0old(0:NX),cold(NX,NX),sold(NX,NX),c0new(0:NX),cnew(NX,NX),snew(NX,NX) real*8 en(0:NX,0:NX),xen(0:NX,0:NX),xenm1(0:NX,0:NX),xenm2(0:NX,0:NX),c,s,x2f integer ien(0:NX,0:NX),ienm1(0:NX,0:NX),ienm2(0:NX,0:NX),nmax,n,k,m do n=0,nmax call xcale(n,xen,xenm1,xenm2,ien,ienm1,ienm2) do k=0,n do m=0,k en(k,m)=x2f(xen(k,m),ien(k,m)) xenm2(k,m)=xenm1(k,m); ienm2(k,m)=ienm1(k,m) xenm1(k,m)=xen(k,m); ienm1(k,m)=ien(k,m) enddo enddo if(int(n/2)*2.eq.n) then c=0.d0 do m=n,2,-2 c=c+en(m,0)*cold(n,m) enddo c0new(n)=c*ROOT2+en(0,0)*c0old(n) do k=1,n-1,2 c=0.d0 do m=n-1,k+2,-2 c=c+en(m,k)*cold(n,m) enddo do m=k,1,-2 c=c+en(k,m)*cold(n,m) enddo cnew(n,k)=c*2.d0 s=0.d0 do m=n,k+1,-2 s=s+en(m,k)*sold(n,m) enddo do m=k-1,2,-2 s=s-en(k,m)*sold(n,m) enddo snew(n,k)=s*2.d0 enddo do k=2,n,2 c=0.d0 do m=n,k+2,-2 c=c+en(m,k)*cold(n,m) enddo do m=k,2,-2 c=c+en(k,m)*cold(n,m) enddo cnew(n,k)=c*2.d0+en(k,0)*c0old(n)*ROOT2 s=0.d0 do m=n-1,k+1,-2 s=s+en(m,k)*sold(n,m) enddo do m=k-1,0,-2 s=s-en(k,m)*sold(n,m) enddo snew(n,k)=s*2.d0 enddo else
16
Toshio Fukushima
Table 8 Fortran subroutine to rotate the spherical harmonic coefficients (continued). c=0.d0 do m=n,1,-2 c=c+en(m,0)*cold(n,m) enddo c0new(n)=c*ROOT2 do k=1,n,2 c=0.d0 do m=n-1,k+1,-2 c=c+en(m,k)*cold(n,m) enddo do m=k-1,2,-2 c=c-en(k,m)*cold(n,m) enddo cnew(n,k)=c*2.d0-en(k,0)*c0old(n)*ROOT2 s=0.d0 do m=n,k+2,-2 s=s+en(m,k)*sold(n,m) enddo do m=k,1,-2 s=s+en(k,m)*sold(n,m) enddo snew(n,k)=s*2.d0 enddo do k=2,n,2 c=0.d0 do m=n,k+2,-2 c=c+en(m,k)*cold(n,m) enddo do m=k,2,-2 c=c+en(k,m)*cold(n,m) enddo cnew(n,k)=c*2.d0+en(k,0)*c0old(n)*ROOT2 s=0.d0 do m=n-1,k+1,-2 s=s+en(m,k)*sold(n,m) enddo do m=k-1,0,-2 s=s-en(k,m)*sold(n,m) enddo snew(n,k)=s*2.d0 enddo do k=2,n-1,2 c=0.d0 do m=n,k+1,-2 c=c+en(m,k)*cold(n,m) enddo do m=k-1,1,-2 c=c-en(k,m)*cold(n,m) enddo cnew(n,k)=c*2.d0 s=0.d0 do m=n-1,k+2,-2 s=s+en(m,k)*sold(n,m) enddo do m=k,2,-2 s=s+en(k,m)*sold(n,m) enddo snew(n,k)=s*2.d0 enddo endif enddo return; end
Rectangular rotation of spherical harmonic expansion of arbitrary high degree and order
17
Table 9 Mathematica command sequence to confirm the correctness of equations (15) and (16), the transformation formulas of the real-valued surface spherical harmonics. The sequence numerically plots the residual of the transformation formulas with respect to the original angular coordinates. In the sequence, we renamed the angular coordinates such that (x, y) = (θ , λ ), (xp, yp) = (θ ′ , λ ′ ), and (X, Y) = (Θ , Λ ) for simplicity. Also we changed the symbol of the elementary values as F[n, k, m] = Enkm since the symbol E is reserved by Mathematica for expressing the base of the natural logarithm, e. Notice that (i) the Mathematica command LegendreP[n, m, t] returns the unnormalized associated Legendre function of degree n, order m, and argument t while including the Condon-Shortley phase factor, (−1)m , such that √ LegendreP[1, 1, t] = − 1 − t 2 , and (ii) the arguments of the Mathematica two-argument arctangent are reversely ordered such that ArcTan[x, y] = arctan(y/x). The function using the summation operation, Sum, with undefined parameters of the summation must be defined not directly as using ‘=’ but by means of the delayed evaluation, ‘:=’. LP[n ,m ,t ]=(-1)ˆm LegendreP[n,m,t]; P[n ,m ,t ]=Sqrt[(2-KroneckerDelta[m,0])(2n+1)(n-m)!/(n+m)!]LP[n,m,t]; U[n ,m ,x ,y ]=P[n,m,Cos[x]]Cos[m y]; V[n ,m ,x ,y ]=P[n,m,Cos[x]]Sin[m y]; X[xp ,yp ]=ArcTan[-Sin[xp]Cos[yp],Sqrt[Cos[xp]ˆ2+Sin[xp]ˆ2 Sin[yp]ˆ2]]; Y[xp ,yp ]=ArcTan[Cos[xp],Sin[xp]Sin[yp]]; J[n ,k ,m ]=((-1)ˆ(k+m)+(-1)ˆn)/Sqrt[(1+KroneckerDelta[k,0])(1+KroneckerDelta[m,0])]; K[n ,k ,m ]=(-1)ˆ(k+m)-(-1)ˆn; F[n ,k ,m ]=WignerD[{n,k,m},0,Pi/2,0]; dU[n ,m ,xp ,yp ]:=Sum[J[n,k,m]F[n,k,m]U[n,k,xp,yp],{k,0,n}]-U[n,m,X[xp,yp],Y[xp,yp]]; dV[n ,m ,xp ,yp ]:=Sum[K[n,k,m]F[n,k,m]V[n,k,xp,yp],{k,1,n}]-V[n,m,X[xp,yp],Y[xp,yp]]; NX=10; Do[Print[Table[Plot3D[dU[n,m,xp,yp],{xp,0,Pi},{yp,0,2Pi}],{m,0,n}]],{n,0,NX}] Do[Print[Table[Plot3D[dV[n,m,xp,yp],{xp,0,Pi},{yp,0,2Pi}],{m,1,n}]],{n,1,NX}]
Table 10 Mathematica command sequence to confirm implicitly the correctness of the transformation formula of the spherical harmonic coefficients, equations ( (23) and) (24). In the sequence,( we tested the ) formula for a set of model harmonic coefficients, Cnm = 1/ 1 + n2 + m and Snm = (−1)n+m / 2 + n2 + m . Also, we assumed the availability of some functions already defined in the sequence in Table 9 such as U[n, m, x, y] or V[n, m, x, y]. Furthermore, we renamed the spherical harmonic coefficients and)some other quantities such that ( ( ) ′ ′ (Cold[n, m], Sold[n, m]) = Cnm , Snm , (Cnew[n, m], Snew[n, m]) = Cnm , Snm , and WP[xp, yp] = W ′ (θ ′ , λ ′ ), respectively. We recommend the usage of the delayed evaluation, ‘:=’, in defining W[x, y] = W (θ , λ ) even if the upper end of the summation operations, NX = N, is explicitly known. This is in order to avoid the unnecessary literal evaluation of the defining relation, which would require a tremendously large CPU time. Cold[n ,m ]=1/(1+nˆ2+m);Sold[n ,m ]=(-1)ˆ(n+m)/(2+nˆ2+m); W[x ,y ]:=Sum[Sum[Cold[n,m]U[n,m,x,y],{m,0,n}],{n,0,NX}]+ Sum[Sum[Sold[n,m]V[n,m,x,y],{m,1,n}],{n,1,NX}]; Cnew[n ,k ]:=Sum[J[n,k,m]F[n,k,m]Cold[n,m],{m,0,n}]; Snew[n ,k ]:=Sum[K[n,k,m]F[n,k,m]Sold[n,m],{m,1,n}]; WP[xp ,yp ]:=Sum[Sum[Cnew[n,k]U[n,k,xp,yp],{k,0,n}],{n,0,NX}]+ Sum[Sum[Snew[n,k]V[n,k,xp,yp],{k,1,n}],{n,1,NX}]; dWP[xp ,yp ]:=WP[xp,yp]-W[X[xp,yp],Y[xp,yp]]; Plot3D[dWP[xp,yp],{xp,0,Pi},{yp,0,2Pi}]
n = 0 or 1, m = 0 or 1, n − m = 0 or 1, and θ = 0, 90, or 180 degrees. This is the reason why the confirmation must be conducted for not a set of randomly chosen cases but a complete set of parameters even if the maximum degree/order is not so high. Next, a command sequence listed in Table 10 implicitly checked the transformation formulas of the spherical harmonic coefficients, equations (23) and (24). We adopt a set of model coefficients, Cnm =
1 (−1)n+m , S = . nm 1 + n2 + m 2 + n2 + m
(50)
18
Toshio Fukushima
Table 11 Mathematica command sequence to confirm the correctness of the recurrence formulas, equations (26)–(28), (32), and (35), where F[n, k, m] was already defined in Table 9. G[k ,m ]=2ˆ(-k)Sqrt[(2k)!/((k+m)!(k-m)!)]; a[n ,k ,m ]=k m(2n-1)/((n-1)Sqrt[(n+k)(n-k)(n+m)(n-m)]); b[n ,k ,m ]=(n/(n-1))Sqrt[((n+k-1)(n-k-1)(n+m-1)(n-m-1))/((n+k)(n-k)(n+m)(n-m))]; da[k ,m ]=a[k+1,k,m]-m Sqrt[(2k+1)/((k+m+1)(k-m+1))]; dF0[k ,m ]=F[k,k,m]-G[k,m]; dF1[k ,m ]=F[k+1,k,m]+a[k+1,k,m]F[k,k,m]; dF2[n ,k ,m ]=F[n,k,m]+a[n,k,m]F[n-1,k,m]+b[n,k,m]F[n-2,k,m]; dG[j ,m ]=G[j,m]-Sqrt[j(2j-1)/(2(j+m)(j-m))]; Do[Do[Print[Simplify[da[k,m]]],{m,0,k}],{k,0,NX}] Do[Do[Print[Simplify[dF0[k,m]]],{m,0,k}],{k,0,NX}] Do[Do[Print[Simplify[dF1[k,m]]],{m,0,k}],{k,0,NX}] Do[Do[Do[Print[Simplify[dF2[n,k,m]]],{m,0, k}],{k,0,n-2}],{n,2,NX}] Do[Do[Print[Simplify[dG[j,m]]],{m,0,j-1}],{j,1,NX}] Table 12 Mathematica command sequence to confirm the correctness of the decomposed transformation formulas of the rectangular rotation of the spherical harmonic coefficients, equations (39)–(46). In the sequence, we assumed the availability of F[n, k, m] and a few other quantities defined in the sequences in Tables 9 and 10. dCeven[n ]:=Cnew[2n,0]-F[2n,0,0]Cold[2n,0]-Sqrt[2]Sum[F[2n,2m,0]Cold[2n,2m],{m,1,n}]; dCeo[n ,k ]:=Cnew[2n,2k+1]-2Sum[F[2n,2k+1,2m+1]Cold[2n,2m+1],{m,0,k}]2Sum[F[2n,2m+1,2k+1]Cold[2n,2m+1],{m,k+1,n-1}]; dSeo[n ,k ]:=Snew[2n,2k+1]+2Sum[F[2n,2k+1,2m]Sold[2n,2m],{m,1,k}]2Sum[F[2n,2m,2k+1]Sold[2n,2m],{m,k+1,n}]; dCee[n ,k ]:=Cnew[2n,2k]-Sqrt[2]F[2n,2k,0]Cold[2n,0]2Sum[F[2n,2k,2m]Cold[2n,2m],{m,1,k}]-2Sum[F[2n,2m,2k]Cold[2n,2m],{m,k+1,n}]; dSee[n ,k ]:=Snew[2n,2k]+2Sum[F[2n,2k,2m+1]Sold[2n,2m+1],{m,0,k -1}]2Sum[F[2n,2m+1,2k]Sold[2n,2m+1],{m,k,n-1}]; dCodd[n ]:=Cnew[2n+1,0]-Sqrt[2]Sum[F[2n+1,2m+1,0]Cold[2n+1,2m+1],{m,0,n}]; dCoo[n ,k ]:=Cnew[2n+1,2k+1]+Sqrt[2]F[2n+1,2k+1,0]Cold[2n+1,0]+ 2Sum[F[2n+1,2k+1,2m]Cold[2n+1,2m],{m,1,k}]2Sum[F[2n+1,2m,2k+1]Cold[2n+1,2m],{m,k+1,n}]; dSoo[n ,k ]:=Snew[2n+1,2k+1]-2Sum[F[2n+1,2k+1,2m+1]Sold[2n+1,2m+1],{m,0,k}]2Sum[F[2n+1,2m+1,2k+1]Sold[2n+1,2m+1],{m,k+1,n}]; dCoe[n ,k ]:=Cnew[2n+1,2k]+2Sum[F[2n+1,2k,2m+1]Cold[2n+1,2m+1],{m,0,k-1}]2Sum[F[2n+1,2m+1,2k]Cold[2n+1,2m+1],{m,k,n}]; dSoe[n ,k ]:=Snew[2n+1,2k]-2Sum[F[2n+1,2k,2m]Sold[2n+1,2m],{m,1,k}]2Sum[F[2n+1,2m,2k]Sold[2n+1,2m],{m,k+1,n}]; Do[Print[N[dCeven[n]]],{n,0,NX}] Do[Do[Print[N[dCeo[n,k]]],{k,1,n-1}],{n,1,NX}] Do[Do[Print[N[dSeo[n,k]]],{k,1,n-1}],{n,1,NX}] Do[Do[Print[N[dCee[n,k]]],{k,1,n}],{n,1,NX}] Do[Do[Print[N[dSee[n,k]]],{k,1,n}],{n,1,NX}] Do[Print[N[dCodd[n]]],{n,0,NX}] Do[Do[Print[N[dCoo[n,k]]],{k,0,n}],{n,0,NX}] Do[Do[Print[N[dSoo[n,k]]],{k,0,n}],{n,0,NX}] Do[Do[Print[N[dCoe[n,k]]],{k,1,n}],{n,0,NX}] Do[Do[Print[N[dSoe[n,k]]],{k,1,n}],{n,0,NX}]
After multiplying a scale factor of 4.23 × 10−4 , the order average of their squared sum approximates the latest degree variance model of the gravity strengths at the Earth’s surface (Rexer and Hirt, 2015b, equation (29)). At any rate, the sequence draws a two-dimensional surface curve of the difference in the function value, ) ( ) ( ) ( ) ( ∆ W ′ θ ′ , λ ′ ≡ W (Θ θ ′ , λ ′ , Λ θ ′ , λ ′ ) −W ′ θ ′ , λ ′ ,
(51)
Rectangular rotation of spherical harmonic expansion of arbitrary high degree and order
19
Table 13 Randomly chosen values of Enkm . Same as Table 1 but for randomly chosen degree/orders satisfying the condition, 0 ≤ m ≤ k ≤ n ≤ 220 = 1, 048, 576. n 195338 515655 23423 415751 546262 271882 90233 5756 25627 498734 192076 788707 444142 244859 140198 57245 1014515 148231 16097 207846
k 72148 49278 6563 9049 53281 21149 77677 46 18902 84205 38336 733 11633 17014 3940 16995 27648 121610 660 38666
m 4864 223 1313 6041 13559 20242 7970 33 6028 4302 16384 653 4466 2416 3461 10265 13959 14672 106 821
Enkm −1.45218773937612065604056388632833E−03 −8.88021580812322359284353923609289E−04 +3.70260140053949151995086017740319E−03 +5.35061153606932632164933254427301E−04 +5.84205194506176619763374905932396E−04 −7.96354006190303015742613520244727E−04 −2.82143051539476452068097325380514E−03 −2.74123524537798771822436374050490E−03 −6.07648955418476662907498949366893E−03 −9.53723433569758992960593584852805E−04 −1.43923245151418245722782152655223E−03 −5.12377317770180346307022020196785E−04 +8.16321955572900665527484177695238E−04 −1.61132734468807836102840712540457E−03 −2.17388037002643832310721712554072E−04 −3.31052733741384602628569430009934E−03 +7.46213825727178279490479579902340E−04 +2.50062932567428838225122077723752E−03 +5.87668355708168861821903487153996E−03 +5.39958800164207148372851901651137E−04
∆ Enkm +2.80E−17 −7.46E−17 +8.77E−17 −1.02E−17 +7.06E−17 −4.84E−17 +7.38E−17 +4.68E−17 −2.39E−16 −4.54E−17 +6.46E−17 −5.22E−16 −1.18E−16 +1.00E−16 +2.74E−17 −1.13E−16 +6.70E−17 +8.31E−17 −4.07E−16 +4.76E−18
as functions of θ ′ and λ ′ . All the obtained residuals were at the level of the double precision machine epsilon. Thirdly, Table 11 examines the correctness of the recurrence formulas to compute Enkm and Gkm , namely equations (26)–(28), (32), (34), and (35), by evaluating the differences between the both sides of them. All the results were literally zero. Thus, the formulas are proven for degrees and orders up to 10. Finally, the validity of the decomposed transformation formulas, equations (39)–(46), were examined by a Mathematica command sequence given in Table 12. The sequence prints the difference between the both sides of the formulas numerically. All the outputs were practically equal to zero. This implies that the transformation formulas are correctly decomposed.
3.2 Numerical examination Let us move to the numerical examination of the implemented program of the X-number computation. Table 1 already presented the correctness of the algorithm to compute Enkm for a specific combination of orders, k = 1024 and m = 512. In order to examine the dependency on the orders more thoroughly, we prepared Table 13 showing the results for randomly chosen degree and orders. These tables imply that the absolute errors of Enkm computed by the X-number formulation are at most 10−15 and 10−31 in the double and quadruple precision environment, respectively. These errors are roughly 10 and 1000 times the double and quadruple precision machine epsilons, 2−53 ≈ 1.11 × 10−16 and 2−113 ≈ 9.63 × 10−35 , respectively. Finally, we prepared Table 14 illustrating the computing precision of the rotated spherical harmonic coefficients. The table was obtained by applying the quadruple precision version of xrotsh listed in Tables 7 and 8 to the model coefficients defined by equation (50) for some pairs of randomly chosen degrees and orders. The results indicate that the relative
20
Toshio Fukushima ′
′
Table 14 Randomly sampled values of Cnk and Snk , the model spherical harmonic coefficients after the 90 degree(rotation around the y-axis. Here the ) ( coefficients ) before the rotation are analytically defined as Cnm ≡ 1/ 1 + n2 + m and Snm ≡ (−1)n+m / 2 + n2 + m , respectively. The rotation was conducted by the new method utilizing the quadruple precision X-number formulation. The degree and order are assumed to satisfy the condition, 0 ≤ k ≤ n ≤ 2190. The underlines show the correct digits confirmed by the 40 digit computation by Mathematica (Wolfram, 2003). n 558
k 448
1477
1335
1246
678
424
334
504
135
1491
1113
938
727
1171
737
2157
385
1970
1755
′
′
Cnk (upper) or Snk (lower) +3.66029926460645944873861280250472E−06 +3.71841077549910801252327269609564E−06 −6.59444893416092618469861654763573E−07 +6.65465689566584042640244553289865E−07 +5.24813269548683487946045280156314E−07 +5.18230808218193324856367339066298E−07 +6.15766164053880787620254788186653E−06 +6.27120129659817400097307657969476E−06 −2.21833089189208470202940253334527E−06 +2.11002963567805074156214606104565E−06 −4.71329643533382283190697621007796E−07 +4.76047468265919238595486431276206E−07 −1.19819378358038856359728931624577E−06 +1.21145728598035806478899237732371E−06 −6.47645676877386113367189020319617E−07 +6.55632134555995489963227420834378E−07 −9.30285675827398318697694523271983E−08 +9.14868390406423129323218723331916E−08 −3.45430543553197858762465595192220E−07 +3.47082344334936326945455328817052E−07
accuracy of the rotated spherical harmonic coefficients computed by the quadruple precision X-number formulation are 31–33 digits when n < 2200. The achieved accuracy is far more enough for the current and near-future demands. 3.3 Practical example As a more practical example, we rotated the EGM2008, a spherical harmonic expansion model of the geopotential (Pavlis et al., 2012), around the y-axis by 90 degrees and named it EGM2008R. Table 15 illustrates the excerpts of the coefficients of EGM2008R. All the digits presented here are consistent with those of EGM2008 since the coordinate rotation was executed by the quadruple precision X-number formulation of the new method. Using the rotated geopotential model, EGM2008R, we conducted another numerical examination of the new method. More specifically speaking, on the reference spherical surface, we evaluated the gravity potential excluding the main term, which is unchanged by the coordinate rotation, by two methods: (i) the double precision X-number computation of the original form expressed as T (θ , λ ) ≡
2190
2190 n
n=2
n=2 m=1
∑ Cn0Un0 (θ , λ ) + ∑ ∑
[ ] CnmUnm (θ , λ ) + SnmVnm (θ , λ ) ,
(52)
where Cnm and Snm are the coefficients of EGM2008, and (ii) the double precision X-number computation of the rotated form defined as T ′ (θ , λ ) ≡
2190
′
∑ Cn0Un0
n=2
(
) 2190 θ ′, λ ′ + ∑
n
∑
n=2 m=1
[ ( ( ) )] ′ ′ CnmUnm θ ′ , λ ′ + SnmVnm θ ′ , λ ′ ,
(53)
Rectangular rotation of spherical harmonic expansion of arbitrary high degree and order
21
Table 15 Sample values of EGM2008R geopotential coefficients. Listed are several values of the spherical harmonic coefficients of the latest geopotential EGM2008 (Pavlis et al., 2012) after the 90 degree rotation around the y-axis. The rotation was conducted by the quadruple precision X-number formulation such that all the shown figures of the coefficients are consistent with those of EGM2008. n 2 2 2 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 10 20 40 60 120 180 360 540 720 900 1080 1260 1440 1620 1800 1980 2160 ′
k 0 1 2 0 1 2 3 0 1 2 3 4 0 1 2 3 4 5 5 10 20 30 60 90 180 270 360 450 540 630 720 810 900 990 1080
′
Cnk +2.44195140039445E−04 +2.06615509074176E−10 −4.18079622363150E−04 −6.73144047359851E−07 −1.29158496995380E−07 +2.04693872521820E−06 −1.31076954252545E−06 −1.32861313067132E−07 −1.05750818941678E−06 −2.51293300410294E−07 −3.88507796026100E−07 +6.07580222052832E−07 +3.28456036404418E−07 +5.67235022926871E−07 +2.29545407801953E−08 +7.11838360150283E−08 −3.60934634747456E−07 −4.36254227191748E−07 −1.35234206025825E−07 −1.13686206539954E−08 +5.66317003065620E−09 +6.59431959330463E−09 −3.16004370622419E−10 −4.51968219528719E−10 −9.78753523186682E−11 −1.11842514510060E−11 −2.06268371621675E−11 −1.11443145169907E−12 +3.71453511679260E−12 +1.65646334157433E−13 +9.84026423937659E−13 −2.46960076901329E−12 +1.41163934829473E−12 +1.35233537321815E−12 −1.10278206127820E−12
′
Snk −1.40027370385934E−06 −1.38441389137979E−09 +1.30738768032912E−06 +6.19005475177618E−07 +5.93906334766208E−07 +5.46375221868599E−08 +2.05464612537824E−08 +7.28871980538501E−07 +5.14030621038371E−07 −5.30994136172682E−07 −2.04810771196814E−07 −4.17073198147741E−07 +2.55128551629775E−07 −2.17430817632120E−07 −5.29234839357036E−08 −7.10479514462013E−09 +4.97884652994736E−09 −8.25810762304043E−10 −1.00211873130155E−10 −3.15518272523642E−10 +9.86551201286969E−11 −2.20514888586040E−11 +8.80387978783271E−12 +4.14988715009269E−12 −2.24895869513280E−12 +7.88539862997076E−13 +7.02665675874207E−13 −1.32144369762192E−12 +8.41371564574011E−13 −5.45269911759568E−13 −1.37660482839580E−13
′
where Cnm and Snm are the coefficients of EGM2008R while θ ′ ≡ Θ ′ (θ , λ ) and λ ′ ≡ Λ ′ (θ , λ ) are already defined in equations (9) and (10), respectively. Actually, we obtained t ′ ≡ cos θ ′ , u′ ≡ sin θ ′ , and λ ′ as t ′ = sin θ cos λ , (54) √ u′ = sin2 θ sin2 λ + cos2 θ , (55)
λ ′ = atan2 (sin θ sin λ , − cos θ ) ,
(56)
respectively. Refer to Fig. 2 plotting the difference between these two computed geopotential values, T (θ , λ ) and T ′ (θ , λ ). The magnitude of T (θ , λ ) is ≈ 10−3 because the main term is excluded. In this sense, the observed differences amounting to 1.5 × 10−17 at most are fairly small. If the main term being unity were added, these deviations would be embedded below the round-off noises since their absolute magnitude is more than 6 times smaller than the
22
Toshio Fukushima
∆T(θ, λ) (unit:10-18)
θ-Dependence of EGM2008−EGM2008R 15 10 5 0 -5 -10 -15 0
30
60
90
120
150
180
θ (degree) Fig. 2 Colatitude dependence of difference between EGM2008 and EGM2008R. Shown are ∆ T (θ , λ ), the difference in the gravitational potential values between those evaluated by the EGM2008 and by its 90 degree rotation, EGM2008R. The differences are taken at grids θ = 1◦ , 2◦ , . . . , 179◦ and λ = 1◦ , 2◦ , . . . , 360◦ . Then, they are plotted as a function of θ . A spot check with the quadruple precision computation by using the EGM2008 revealed that (i) the differences when θ < 40◦ or θ > 140◦ are caused by the errors of the results computed by EGM2008, (ii) those when 70◦ < θ < 110◦ are mainly due to the errors of the results obtained by EGM2008R, while (iii) those of scattering nature of the averaged amplitude of 2 × 10−18 are produced by the round-off errors in the coordinate rotation from θ and λ to θ ′ = Θ ′ (θ , λ ) and λ ′ = Λ ′ (θ , λ ) described in equations (9) and (10).
double precision machine epsilon. In fact, the observed noisy feature of the magnitude of around 2 × 10−18 are found to be caused by the round-off errors in the coordinate transformation of the angles, θ ′ = Θ ′ (θ , λ ) and λ ′ = Λ ′ (θ , λ ). A closer look up of the plot reveals that the differences are larger when (i) θ < 40◦ , (ii) θ > 140◦ , and (iii) |θ − 90◦ | < 20◦ . The first two features are caused by the errors of the computation by EGM2008 while the last one is resulted by that by EGM2008R.
Rectangular rotation of spherical harmonic expansion of arbitrary high degree and order
23
We confirmed these facts by spot check with the quadruple precision computation using EGM2008. In conclusion, we learn that (i) the computation by the rotated potential is in general as precise as that by the original one, and (ii) the computation in the relatively high altitude, say when θ < 45◦ or θ > 135◦ , can be more accurately executed if using the rectangular rotated model. 4 Conclusion We developed a numerical method to rotate the given spherical harmonic expansion around the y-axis by 90 degrees. The rotation is conducted by (i) multiplying matrices composed by special values of Wigner d-function with a few normalization constants, (ii) utilizing the symmetry relation of the matrix components, and (iii) decomposing the matrix multiplication into 6 cases depending on the value and parity of the matrix indices. The method is applicable to both the cases when the coefficients are (i) 4π fully-normalized, or (ii) Schmidt quasi-normalized. The overflow/underflow problems encountered during the recursive computation of the d-functions are effectively resolved by using the so-called X-number formulation. As a practical illustration, we evaluated EGM2008R, the 2190 × 2190 coefficients of the EGM2008 after its rotation. It is of the same accuracy as the original EGM2008 since the rotation was conducted by the quadruple precision X-number formulation. A proper combination of the original and the rotated expansions will be useful in (i) integrating the polar orbits of artificial satellites, and (ii) synthesizing/analyzing the gravitational/geomagnetic potentials and their derivatives in the high latitude regions including the arctic and antarctic area. In fact, depending on the numerical values of the input rectangular coordinates, (x, y, z), one may choose either (i) the standard polar coordinates with the z-axis as the pole, (r, θ , λ ), such that √ r = x2 + y2 + z2 , θ = arcsin(z/r), λ = atan2(y, x), (57) and use the original spherical harmonic expansion such as EGM2008, or (ii) the rotated polar coordinates with the x-axis as the pole, (r, θ ′ , λ ′ ), such that √ r = x2 + y2 + z2 , θ ′ = arcsin(x/r), λ ′ = atan2(y, −z), (58) and use the rotated spherical harmonic expansion such as EGM2008R. The branch point may√be set as the parallels of the latitude 45 degrees north and south, namely when z = ±r/ 2. This approach minimizes the modification of the existing software and yet guarantees the precise computation of arbitrary spherical harmonic expansion all over the space. The file containing EGM2008R is retrievable from the author’s WEB site: https : //www.researchgate.net/profile/Toshio Fukushima/ Acknowledgements The author appreciates valuable suggestions and fruitful comments by Dr. Markus Antoni and two anonymous referees to improve the readability and quality of the article.
References Alvarez Coladdo JR, Fernandez Rico J, Lopez R, Paniagua M, Ramirez G (1989) Rotation of real spherical harmonics. Comp Phys Comm 52:323–331
24
Toshio Fukushima
Aubert G (2013) An alternative to Wigner d-matrices for rotating real spherical harmonics. AIP Adv 3:062121 Biedenharn LC, Louck JD (1981) Angular Momentum in Quantum Physics. AddisonWesley, Reading Blanco MA, Florez M, Bermejo M (1997) Evaluation of the rotation matrices in the basis of real spherical harmonics. J Mol Str (Theochem) 419:19–27 Choi CH, Ivanic J, Gordon MS, Ruedenberg K (1999) Rapid and stable determination of rotation matrices between spherical harmonics by direct recursion. J Chem Phys 111:8825 Condon EU, Shortley GH (1953) The Theory of Atomic Spectra. Cambridge Univ. Press, London Dachsel H (2006) Fast and accurate determination of the Wigner rotation matrices in the fast multipole method. J Chem Phys 124:144115–144121 Edmonds AR (1957) Angular Momentum in Quantum Mechanics. Princeton Univ Press, Princeton Feng XM, Wang P, Yang W, Jin GR (2015) High-precision evaluation of Wigner’s d matrix by exact diagonalization. Phys Rev E 92:043307 Fretwell P, Pritchard HD, Vaughan DG, Bamber JL, et al (2013) Bedmap2: improved ice bed, surface and thickness data sets for Antarctica. The Cryosphere 7:375–393 Fukushima T (1994) New canonical variables for orbital and rotational motions. Cele Mech Dyn Astron 60:57–68 Fukushima T (2007a) New two-body regularization. Astron J, 133:1–10 Fukushima T (2007b) Numerical comparison of two-body regularizations. Astron J, 133:2815–2824 Fukushima T (2012a) Numerical computation of spherical harmonics of arbitrary degree and order by extending exponent of floating point numbers. J Geod 86:271–285 Fukushima T (2012b) Numerical computation of spherical harmonics of arbitrary degree and order by extending exponent of floating point numbers: II first-, second-, and thirdorder derivatives. J Geod 86:1019–1028 Fukushima T (2014) Numerical computation of spherical harmonics of arbitrary degree and order by extending exponent of floating point numbers: III integrals. Comp Geosci 63:17– 21 Gimbutas Z, Greengard L (2009) A fast and stable method for rotating spherical harmonic expansions. J Comp Phys 228:5621–5627 Goad CC (1987) A method to compute inclination functions and their derivatives. Manuscr Geod 12:11–15 Goldstein H, Safko JL, Poole CP (2001) Classical Mechanics, 3rd edn. Peason Ed Ltd, Harlow. Goldstein JD (1984) The effect of coordinate system rotations on spherical harmonic expansions: a numerical method. J Geophys Res, 89:4413–4418 Gooding RH (1971) A recurrence relation for inclination functions and their derivatives. Cele Mech 4:91–98 Gooding RH, Wagner CA (2008) On the inclination function and a rapid stable procedure for their evaluation together with derivatives. Cele Mech Dyn Astron 101:247–272 Gooding RH, Wagner CA (2010) On a Fortran procedure for rotating spherical-harmonic coefficients. Cele Mech Dyn Astron 108:95–106 Gumerov NA, Duraiswami R (2015) Recursive computation of spherical harmonic rotation coefficients of large degree. in Excursions in Harmonic Analysis, Vol.2, pp.105–141, Springer, Berlin Heiskanen WA, Moritz H (1967) Physical Geodesy. Freeman, San Francisco
Rectangular rotation of spherical harmonic expansion of arbitrary high degree and order
25
Hirt C, Rexer M, Scheinert M, Pail R, Claessens S, Holmes S (2016) A new degree‐2190 (10 km resolution) gravity field model for Antarctica developed from GRACE, GOCE and Bedmap2 data. J Geod 90:105–127 Hobson EW (1931) The theory of spherical and ellipsoidal harmonics. Cambridge Univ Press, Cambridge Ivanic J, Ruedenberg K (1996) Rotation matrices for real spherical harmonics. Direct determination by recursion. J Phys Chem 100:6342–6347 Izsak IG (1964) Tesseral harmonics of the geopotential and corrections to station coordinates. J Geophys Res 69:2621–2630 Jekeli C, Lee JK, Kwon JH (2007) On the computation and approximation of ultra-highdegree spherical harmonic series. J Geod 81:603–615 Kaula WM (1961) Analysis of gravitational and geometric aspects of geodetic utilization of satellites. Geophys J 5:104–133 Kaula WM (1966) Theory of Satellite Geodesy. Blaisdell, Waltham MA Kostelec PJ, Rockmore DN (2008) FFTs on the rotation group. J Fourier Analysis Appl 14:145-179 Lessig C, de Witt T, Fiume E (2012) Efficient and accurate rotation of finite spherical harmonics expansions. J Comp Phys 231:243–250 Masters G, Richards-Dinger K (1998) On the efficient calculation of ordinary and generalized spherical harmonics. Geophys J Int 135:307–309 Olver FWJ, Lozier DW, Boisvert RF, Clark CW (eds) (2010) NIST Handbook of Mathematical Functions. Cambridge Univ Press, Cambridge Pavlis NK, Holmes SA, Kenyon SC, Factor JK (2012) The development and evaluation of the Earth gravitational model 2008 (EGM2008). J Geophys Res 117:B04406 Pinchon D, Hoggan PE (2007) Rotation matrices for real spherical harmonics: general rotations of atomic orbitals in space-fixed axes. J Phys A:Math Theor 40:1597 Rexer M, Hirt C (2015a) Ultra-high degree surface spherical harmonic analysis using the Gauss-Legendre and the Driscoll/Healy quadrature theorem and application to planetary topography models of Earth, Mars and Moon. Surv Geophys 36:803–830 Rexer M, Hirt C (2015b) Spectral analysis of the Earth’s topographic potential via 2D-DFT: a new data-based degree variance model to degree 90,000. J Geod 89:887–909 Risbo T (1996) Fourier transform summation of Legendre series and D-functions. J Geod 70:383–396 Sneeuw NJ (1992) Representation coefficients and their use in satellite geodesy. Manuscr Geod 17:117–123 Stacey FD, Davis PM (2008) Physics of the Earth, 4th ed. Cambridge Univ Press, Cambridge Tajima N (2015) Analytical formula for numerical evaluations of the Wigner rotation matrices at high spin. Phys Rev C 91:014320 Thebault E et al. (2015) International geomagnetic reference field: the 12th generation. Earth, Planets and Space 67:79 Wagner CA (1983) Direct determination of gravitational harmonics from low-low GRAVSAT data. J Geophys Res 88:10309–10321 Wigner EP (1931) Gruppentheorie und ihre Anwendungen auf die Quantenmechanik der Atomspektren. Vieweg Verlag, Braunschweig Winch DE, Ivers DJ, Turner JPR, Stening RJ (2005) Geomangetism and Schmidt quasinormalization. Geophys J Int 160:487–504 Wieczorek MA, Meschede M, Oshchepkov I, Sales de Andrade I, heroxbd (2016) SHTOOLS: Version 4.0. Zenodo doi:10.5281/zenodo.206114
26
Toshio Fukushima
Wittwer T, Klees R, Seitz K, Heck B (2008) Ultra-high degree spherical harmonic analysis and synthesis using extended-range arithmetic. J Geod 82:223–229 Wolfram S (2003) The Mathematica Book, 5th ed. Wolfram Research Inc/Cambridge Univ Press, Cambridge