Instruction: Write an abstract for the following acadamic paper.

Input:
Paper: we have recorded the flight of a fly during take off and landing using digital high speed photography . it is shown that the dynamics of flexible wings are different for these procedures . during this observation fly flew freely in a big box and it was not tethered .
Abstract: in this fluid dynamics video , we demonstrated take off and landing of a fly . the deformation of wings is in focus in this video .

Paper: we present a method for the numerical calculation of solutions to general hyperbolic partial differential equations ( pdes ) over the sphere that combines several existing techniques in novel ways . our motivating interest is the analysis of gravitational radiation in a neighbourhood of infinity via friedrich s conformal field equations @xcite , where it is convenient to regard space - time as the product of a @xmath1 dimensional lorentzian manifold and a euclidean @xmath1-sphere . the main difficulty for the numerical solution of problems in this geometric setting stems from the fact that @xmath2 can not be covered by a single chart . hence the coordinate description of fields inevitably breaks down . spectral methods avoid most of the problems caused by this as fields on @xmath2 are expressed as a sum of functions that form a well defined bases on the sphere . assuming that the properties of the functions in the sum are well understood , it is possible to avoid working directly with coordinate expressions that suffer from coordinate singularities . as an example , we mention the recent work of @xcite in the context of kerr space - time shows that indeed issues such as coordinate singularities and instability are avoided in such an approach , leading to accurate evolutions of dynamical equations . as a consequence we use a spectral method in what follows .    to implement our spectral method we choose to work with spin weighted spherical harmonics ( swshs ) and the associated @xmath3 and @xmath4 operators @xcite . swshs are a generalisation of scalar , vector and tensor harmonics on the sphere @xcite . swshs form an orthonormal basis for @xmath5 @xcite upon which the differential operators @xmath3 and @xmath4 act by raising and lowering spin - weight , respectively . in common with all spectral methods , this reduces the action of differential operators to algebraic manipulations . this is a property which we exploit to reduce pdes to systems of coupled odes .    in order to apply swshs to a spectral evolution scheme it is necessary to decompose arbitrary fields on @xmath2 into a sum of swshs . many methods to do this have been proposed , since such decompositions are important for the analysis of data over the sphere , e.g.@xcite . we choose huffenberger and wandelt s method @xcite ( which is a modification of @xcite and @xcite ) for three reasons . firstly , the algorithm is theoretically exact if a minimum number of grid points are used . this is in contrast to several alternatives that are asymptotically exact in the limit of increasing numbers of grid points @xcite . secondly , the method can be applied simultaneously to functions of different spin weights . in our desired application we will be working with several functions each with different spin weights @xcite . as a consequence huffenberger and wandelt s method has reduced computational effort in comparison to a method which operates on each spin weighted function separately . thirdly , huffenberger and wandelt s method , via a clever mapping of the sphere into the @xmath1-torus allows for fast fourier transformations to be used , see also @xcite . this is in contrast to spectral methods adapted to the non - periodic coordinate on @xmath2 , e.g.   @xcite .    in order to calculate the values of swshs over @xmath2 huffenberger and wandelt used a formula relating swshs to reduced wigner @xmath6-functions evaluated at @xmath7 . they implemented the calculation of these @xmath6-functions via the three term linear recursive relations given by risbo and trapani and navaza @xcite . trapani and navaza s scheme is both faster and more accurate than risbo s but eventually becomes unstable . to cope with this use a non - linear scheme that is equivalent to the scheme proposed by przeau and reinecke @xcite . we build a hybrid linear / non - linear recursion that avoids the numerical problems that both linear and non - linear recursive schemes suffer from , see sections [ sec : algodelcalc ] and [ sec : wdelstab ] . a similar hybrid scheme has been proposed by luscombe and luban @xcite for the calculation of @xmath8 and @xmath9 symbols . to the best of the authors knowledge neither the use of a hybrid scheme for the calculation of reduced wigner @xmath6-functions at @xmath7 nor the use of this method in swsh decompositions of functions over @xmath2 has been used before . the @xmath0 maxwell equations on a deformed sphere , section [ sec : maxcnstrct ] , have non - constant coefficients . we will therefore need to perform a swsh decomposition of products of swshs . this requires the calculation of clebsch - gordan coefficients . to do this we use a hybrid linear / non - linear recursion for @xmath8 symbols originally presented by luscome and luban s method @xcite to schulten and gordan s linear scheme @xcite . as before , to the best of the author s knowledge this is the first time a hybrid linear / non - linear scheme has been used for the calculation of clebsch - gordan coefficients . an alternative to the above explicit decomposition is to use spectral transformations directly to perform decompositions of products of swshs @xcite ( the pseudo - spectral approach ) . we use this approach to check for accuracy . it is our goal to provide a self - contained presentation , with consistent conventions , that may be readily adapted to general non - linear hyperbolic pdes using the outlined spectral method . wherever possible we present results for both integer and half - integer spin . this will provide a foundation for future extension to the half - integer spin case . this paper is structured as follows : in  [ sec : geom ] we provide the geometric background appropriate for formulation of problems later in the work , in particular we review the construction of frames adapted for use with the @xmath3-formalism . in  [ sec : weightedquantities ] we explicitly show how an arbitrary smooth tensor field may be represented in terms of spin - weighted quantities on @xmath2 . in  [ sec : introcgw3j ] we introduce and review the properties of swshs . we describe in detail how products of swshs may be decomposed and give details about the symmetry properties of clebsch - gordan coefficients ( wigner @xmath8-symbols ) appropriate for numerical use . in  [ sec : specxform ] we briefly describe the spherical harmonic transformation of @xcite . in  [ sec : cgw3jnumproc ] we describe how we compute clebsch - gordan coefficients ( wigner @xmath8-symbols ) numerically . in  [ sec : errorstabilityspeed ] we demonstrate the property of spectral convergence for smooth test functions . in  [ sec : wdelstab ] we demonstrate the instability of the recursive calculation of @xmath10 due to @xcite and discuss how our hybrid scheme avoids this . in  [ sec : psandfscmp ] we contrast the pseudo - spectral and spectral approaches to the decomposition of products of swshs . in  [ sec : advprob ] we construct the tensor advection equation in the @xmath3 formalism , thus showing how the standard ivp for the scalar and vector advection equation on @xmath2 may be formulated ; in  [ sec : advnum ] we numerically solve this problem using our spectral method for test fields that lead to temporally periodic solutions . exploiting this periodicity by comparing solutions at integer multiples of one period ( i.e. stroboscopically ) yields a method for performing convergence tests . in  [ sec : maxcnstrct ] we construct the ivp for the @xmath0 maxwell equation where the spatial geometry is conformally related to @xmath2 . in  [ sec : nummax ] we numerically solve the problem , comparing spectral with pseudo - spectral methods . it is often useful to think of the manifold @xmath11as the submanifold of @xmath12 given by @xmath13 . the _ euler coordinates _ of @xmath14 can then be represented by @xmath15 where @xmath16 and @xmath17 . clearly , these coordinates break down at @xmath18 and @xmath19 . for later convenience , we introduce coordinates @xmath20 ( which are also referred to as euler coordinates ) by @xmath21 the set of complex unitary @xmath22-matrices with unit determinant @xmath23 endowed with the natural smooth manifold structure is diffeomorphic to @xmath14 @xmath24 since the latter is a lie group , we can use the map @xmath25 to endow @xmath14 with a lie group structure . in the following , it is therefore not always necessary to distinguish between @xmath14 with @xmath23 . any lie group is parallelizable , and a smooth global frame on @xmath23 can be constructed as follows . we define left and right translation maps @xmath26 on any lie group , the maps @xmath27 and @xmath28 are automorphisms for each element @xmath29 . now , choose a basis of the tangent space at the unit element @xmath30 ( i.e.  a basis of the lie algebra ) @xmath31 and define , for @xmath32 , @xmath33 clearly , @xmath34 is a smooth global frame on @xmath11which is invariant under left translations while the frame @xmath35 is invariant under right translations . these fields have the following representation with respect to the euler parametrization @xmath36 one can show by direct lie group arguments ( or by using the coordinate representations of the fields ) that @xmath37=y_3,\quad[y_2,y_3]=y_1,\quad[y_3,y_1]=y_2,\ ] ] similarly for the right - invariant fields , and @xmath38=0,\quad\forall k , l=1,2,3.\ ] ] for later convenience , we define @xmath39 which , as we shall see later , are closely related to the @xmath3-operators defined in  @xcite . we have @xmath40=2 { \mathrm{i}}y_3.\ ] ]    the _ hopf map _ @xmath41 can be represented as @xmath42 here we again consider @xmath11as being embedded into @xmath12 by @xmath13 , and the manifold @xmath2is thought of being given by @xmath43 in @xmath44 . when we introduce standard polar coordinates on @xmath2 , namely @xmath45 then @xmath19 obtains the particularly simple representation @xmath46 in particular , it becomes obvious that the push - forward of @xmath47 to @xmath2along @xmath19 vanishes . indeed , @xmath14 is the principal bundle over @xmath48 with structure group @xmath49 generated by @xmath47 ( whose integral curves are closed ) and projection map @xmath19 ; this is the _ hopf bundle_.    the hopf bundle can be identified with the bundle of orthonormal frames on @xmath48 with respect to any smooth riemannian metric . an explicit construction in terms of the coordinates above can be done as follows . let @xmath50 be an open subset of @xmath48 ; we assume that the poles @xmath51 are outside of @xmath50 so that the representation of the hopf map given by eq . ( [ eq : localhopf ] ) is well - defined and the euler coordinates cover @xmath52 . if we restrict to sufficiently small open subsets this is no loss of generality since for any sufficiently small choice of the open set @xmath50 we can always introduce the coordinates such that the poles are not in @xmath50 . let @xmath53 be a smooth orthonormal frame on @xmath50 and define the corresponding complex field @xmath54 we consider the action @xmath55 of @xmath56which is defined pointwise on @xmath50 , i.e.  the group parameter @xmath57 is a smooth function on @xmath50 . any specification of the function @xmath58 therefore yields another smooth orthonormal frame on @xmath50 and can hence be interpreted as the smooth local section @xmath59 in the bundle of orthonormal frames , or equivalently , in the hopf bundle . doing this for every open subset @xmath50 of @xmath48 ( introducing coordinates so that the poles are not in @xmath50 as above ) , the full bundle of orthonormal frames can be recovered and can therefore be identified with the hopf bundle . at every point @xmath60 of @xmath50 , the fibre @xmath61 is the set of all orthonormal bases of @xmath62 . let @xmath63 be the dual coframe of @xmath64 and @xmath65 dual to @xmath66 . then , the above action of @xmath49 implies @xmath67 now let an arbitrary smooth tensor field @xmath68 of type @xmath69 for integers @xmath70 be given on @xmath50 , so that the function @xmath71 is defined by @xmath72 possibly after changing the order of the arguments of @xmath68 . in principle , @xmath73 is a function on @xmath74 . but under rotations of the frame , it gives rise to a unique function on @xmath52 which changes along the fiber according to the transformation of the frame . this function on @xmath14 is denoted by the same symbol @xmath73 for simplicity . in particular , its dependence on the fiber coordinate @xmath57 is given by @xmath75 where we consider @xmath76 as independent of @xmath57 ( because it is defined with respect to the reference frame @xmath66 ) . we get @xmath77 where @xmath78 is the _ spin - weight _ introduced in @xcite . hence , eq .  ( [ eq : ethbracket ] ) becomes @xmath79(\nu)=-2 s \nu.\ ] ]    in summary , every quantity @xmath73 on @xmath74 of spin - weight @xmath78 can be lifted to a smooth function @xmath80 on @xmath81 ( which we denote by the same symbol from now ) . vice versa , every such function on @xmath52 pulls back to a function with spin - weight @xmath78 on @xmath50 along a smooth section over @xmath50 . in the following , we will therefore often not distinguish between a function with spin - weight @xmath78 on @xmath2and the corresponding function on @xmath11 .    in the case of the @xmath1-sphere with the standard round unit metric , we often consider the reference frame @xmath82 and choose @xmath50 as the set of all points on @xmath48 without the two poles @xmath51 . as the smooth local section , we choose @xmath83 . comparing this with the coordinate expressions above , we see that @xmath84 therefore , if @xmath73 is a function on @xmath50 with spin - weight @xmath78 and @xmath85 ( here , we exceptionally use two different symbols @xmath73 and @xmath85 ) the corresponding function on @xmath52 , then @xmath86 under all these conditions , it makes sense therefore to simplify the notation and write @xmath87 for a function on @xmath48 with spin - weight @xmath78 . in the same way , we obtain @xmath88      in application of the fourier - galerkin ( spectral ) method to the solution of pdes , products of spin - weighted spherical harmonics ( swsh ) will be encountered . this motivates the exploration of a convenient method of treating these product terms  which will result in the appearance of the clebsch - gordan ( cg ) series , calculation of which will be facilitated by the relation of coefficients in this series to the wigner @xmath8-symbols . we proceed by first stating coordinate expressions for the well - known wigner @xmath89 matrices that form a basis for @xmath5 , which will allow for the use of commonly encountered identities from the treatment of angular momentum in quantum mechanics @xcite . the euler parametrization of a rotation can be written in terms of the euler coordinates @xmath90 , @xmath57 , @xmath91 introduced above . according to @xcite we have @xmath92 where @xmath93 ( or @xmath94 for spinorial quantities ) , @xmath95 , @xmath96 , @xmath97 . the quantity @xmath98 is the reduced wigner matrix element and satisfies @xmath99 together with the indicial symmetry @xmath100 . upon introduction of @xmath101 on @xmath2 as above we introduce , we assume this choice has been made henceforth , unless otherwise specified  see  [ sec : geom ] . ] the spin - weighted spherical harmonics as @xmath102 this fixes our convention to agree with  @xcite . from eq .   and eq .   we immediately observe a useful property the swsh possess under complex conjugation : @xmath103 for later convenience , we compare ( see also eq . ( 4.15.122 ) ) of @xcite ) the algebraic action of the differential operators @xmath104 ( cf . and eq .  ) and their explicit coordinatizations on  @xmath105 : @xmath106\\\label{eq : ethraco } = & -\sqrt{(l - s)(l+s+1 ) } { } _ { s+1}y_{lm}(\vartheta,\varphi)\\\nonumber { \eth'}\,{}_sy_{lm}(\vartheta,\varphi )   = & ( \sin\vartheta)^{-s}\left(\partial_\vartheta + { \mathrm{i}}\csc\vartheta\partial_\varphi \right)\left[(\sin\vartheta)^s\vartheta\,{}_sy_{lm}(\vartheta,\varphi)\right]\\\label{eq : ethloco } = & \sqrt{(l+s)(l - s+1 ) } { } _ { s-1}y_{lm}(\vartheta,\varphi)\\ \delta_{\mathbb{s}^2}\,{}_sy_{lm}(\vartheta,\varphi ) = & \frac{1}{2}\left(\eth\eth'+\eth'\eth \right)\left[{}_sy_{lm}(\vartheta,\varphi)\right ] = \left(s^2-l(l+1)\right)\,{}_sy_{lm}(\vartheta,\varphi)\end{aligned}\ ] ] for later reference , we also restate the orthonormality relation : @xmath107 which is directly inherited from the properties of the @xmath89-matrices . observe that in eq . orthonormality holds for functions of the same spin - weight . we now describe a closed - sum decomposition for products such as : @xmath108 which together with the action of the @xmath104 operators in eq . and eq . will form the basis of our spectral scheme . the decomposition we seek is the so - called clebsch - gordan series which in bra - ket notation is given by @xcite : @xmath109 where @xmath110 . note that each clebsch - gordan coefficient in the series is real , i.e. @xmath111 . define : @xmath112 equation   together with eq . thus provides us with the following decomposition of eq . : @xmath113 where @xmath114 . hence the product of two spin - weighted spherical harmonics may be decomposed into a finite linear combination of spin - weighted spherical harmonics with spin - weight equal to the sum of the original two spin - weights . spectral decomposition of evolution equations will also require the following identity : @xmath115 which may be obtained using eq . and eq .  .    in the interest of efficient numerical calculations utilising the relation of the clebsch - gordan coefficients to the wigner @xmath8-symbols is prudent due to the convenient symmetry properties the latter possess @xcite . we have @xmath116 the non - negative quantities @xmath117 are known as _ angular momentum numbers _ and may be integral or half - integral . the quantities @xmath118 are called the _ projective quantum numbers _ and are given by @xmath119 where @xmath120 . three further constraints are placed on the @xmath121 and @xmath122 :    1 . @xmath123 ; 2 . @xmath124 ; 3 . the _ triangle condition _ : @xmath125 where @xmath126 is any permutation of @xmath127 ;    in the event these constraints fail to be satisfied the @xmath8-symbol is set to @xmath128 . the following symmetries will also be of use later    1 . invariance under permutation of columns @xmath129 2 . invariance under spatial inflection @xmath130 3 . _ regge symmetries _ @xmath131    from the symmetries of the @xmath8-symbols we recover the following symmetries on the @xmath132 of eq .   that we will make use of later : @xmath133 when performing a decomposition such as in eq . numerically , it can be convenient to embed the above symmetries directly into the summation process . furthermore , there also exist efficient storage schemes for @xmath8-symbols , utilizing symmetries such as ( si - siii ) @xcite  this allows for precalculation of all required @xmath8-symbols and evaluating eq .   in this manner may be more efficient under certain circumstances . in this section we briefly describe the numerical implementation of huffenberger and wandelt s spectral algorithm @xcite that will allow for the decomposition of an integer spin - weighted function @xmath134 in terms of the swsh of eq .  . numerical calculations must be limited to a finite grid , hence the decomposition must be truncated at a maximal harmonic ( band - limit ) @xmath135 . in terms of this band limit the algorithm has @xmath136 complexity which is achieved by exploiting a smooth periodic extension of the data to the @xmath1-torus so that existing fast fourier transform ( fft ) methods can be used . consider a function @xmath137 . by the peter - weyl theorem for compact groups @xcite we have @xmath138 fixing the fibre coordinate as @xmath139 and performing the map eq . we then define @xmath140 and arrive at the standard expansion @xmath141 henceforth , we work with the band - limited expression : @xmath142 where it is assumed that the function being decomposed may be completely expressed by a finite linear combination of the basis functions . we now describe the algorithm for evaluation of the forward transform @xmath143 . as a first step introduce the notation @xmath144 which allows for the rewriting of eq .   as  @xcite @xmath145 following from a factoring of rotations @xcite . the details of how the @xmath146 elements are calculated together with their symmetry properties are given in  [ sec : algodelcalc ] . define the functional : @xmath147:=\int^{2\pi}_0\int^\pi_0 e^{-{\mathrm{i}}m\vartheta}e^{-{\mathrm{i}}n\varphi}{}_s f(\vartheta,\varphi ) \sin\vartheta \,d\vartheta d\varphi.\ ] ] equation   together with eqs . ( [ eq : funcs2sphexpinf]-[eq : imnquadpr ] ) lead to @xmath148 we now wish to evaluate the expression for @xmath149 . this may be done exactly , by extension of the function @xmath150 to the @xmath1-torus @xmath151 , which will permit the application of the standard @xmath1d fourier - transform . although this requires computation of points outside the domain of interest , the corresponding increase in the speed of performing the calculation ( for large @xmath135 ) and favourable ( spectral)-convergence offered by this method compensates for the increased computational effort . define the extended function @xmath152 where @xmath153 now takes values in @xmath154 . clearly this does not change the value of @xmath149 because extension of the function leaves its value unchanged within the domain of integration as defined in eq .  . the periodic extension is chosen by forming a linear combination of @xmath155 and examining symmetries using the defining relations of eq .   and eq .  . as the periodically extended function @xmath156 now possesses @xmath157 periodicity in both arguments , it may be written as the two dimensional , band - limited fourier sum @xmath158 substitution of this equation into eq . yields :    @xmath159                          \left[\int_{0}^{\pi}\exp\left({\mathrm{i}}(k - m')\vartheta\right)\sin\vartheta\,d\vartheta\right],\\                      & = 2\pi\sum_{k =- l}^{l}f_{km } w(k - m ' ) , \label{eq : weightconvo }   \end{aligned}\ ] ]    where @xmath160 for @xmath161 is given by @xmath162 equation   shows that @xmath163 is proportional to a discrete convolution in spectral space . by the convolution theorem , this implies that we may consider instead the inverse transform of @xmath160 which maps the function back to its spatial representation @xmath164 . performing point - wise multiplication with @xmath165 and transforming the result will yield @xmath163 . if the desired number of samples of the function @xmath166 over @xmath153 and @xmath167 on @xmath2 is to be @xmath168 and @xmath169 respectively , then for the number of samples for the extended function @xmath170 we take to be @xmath171 and @xmath169 . the spatial sampling intervals are given by @xmath172 and @xmath173 . note that in order to satisfy the nyquist condition , we must take @xmath174 and @xmath175 , where @xmath135 is the harmonic that the function @xmath176 is band - limited to . with the stated sampling , the quadrature weights may be written as @xmath177 upon performing a linear phase shift in eq . we finally arrive at the expression @xmath178 which may be evaluated using a @xmath1-dimensional fft . we note that if many transformations with the same band - limits are to be performed , the weights can be pre - calculated . overall , the complexity of the outlined algorithm is @xmath136 . two further linear improvements in execution speed are possible . the first reduces the total computation time of @xmath179 by a factor of  @xmath1 . equation   together with the symmetries of @xmath180 described in  [ sec : algodelcalc ] allows for : @xmath181 where @xmath182 a second improvement ( also by a factor of  @xmath1 ) is possible if the function @xmath183 being analysed is real . here the speedup is due to the fft , where real input results in hermitian output . we now describe the algorithm for evaluation of the backward ( inverse ) transform @xmath184 . the backward spherical harmonic transform maps the expansion coefficients @xmath185 , for @xmath186 , to a function on @xmath2 . because we are working with band - limited functions we can , at least in theory , perfectly reconstruct the original function . to this end , eq . must be evaluated . as the inverse transform does not contain integrals , issues of quadrature accuracy do not arise . define the functional : @xmath187:= { \mathrm{i}}^{s - n } \sum_{l=|s|}^l \sqrt{\frac{2l+1}{4\pi } } \delta^l_{(-m)s}\ , { } _ sa_{ln}\ , \delta^l_{(-m)n}.\ ] ] substitution of eq .   together with eq . and eq .   in eq .   leads to @xmath188 evaluation of   results in @xmath189 sampled on @xmath151 . as we require the function on @xmath2 we may truncate the output at @xmath190 discarding all data for @xmath191 . evaluating   scales as @xmath136 , just as when performing the forward transformation .    taking into account the symmetries of the @xmath180 matrices provided by eqs . ( [ eq : delindsym ] ) leads to an analogous halving of the number of operations required for the evaluation of eq . , as in the case of the forward transform . similarly , a further speedup is possible if the input data to the fft library is hermitian .      in this section we follow @xcite and briefly outline an efficient recursive method for computing the @xmath180 that appear upon decomposition of the wigner @xmath6-matrices ( eq .  ) when constructing the transformations in  [ sec : algofwdxform ] and  [ sec : algobwdxform ] . it can be seen directly from eq .   that the elements @xmath192 have the following symmetries @xmath193 where the @xmath194 are combinatorial expressions purely dependent on the choice of indices @xmath195 and @xmath196 . suppose we require all possible @xmath180 up to a maximum @xmath135 . due to the symmetries of eqs . ( [ eq : delindsym ] ) , only a subset of all allowable indices need be calculated . for each choice of @xmath197 we restrict the indices for which @xmath180 is calculated to the set @xmath198 . we implement the _ trapani - navaza _ ( tn ) algorithm as follows :    1 . initialise @xmath199 ; 2 . iterate with @xmath200 3 . iterate with @xmath201 4 . iterate with @xmath202 5 . use symmetries ( i.e. eqs . ( [ eq : delindsym ] ) ) to find the remaining @xmath180 . note that the @xmath180 may be viewed as having a square pyramidal lattice structure with tn i - iv being a calculation of an octant subset  tn v then allows for all values to be found : tn i corresponds to the apex @xmath203 ; tn ii corresponds to a tangent of values , a descent from the apex through the points @xmath204 ; tn iii corresponds to calculation of a right - angle , triangular lattice of surface values @xmath205 ; tn iv corresponds to calculation of interior points @xmath206 constrained to lie in the set @xmath198 ; tn v allows for recovery of all valid values of @xmath180 ( those outside the octant subset but within the square pyramid ) up to the chosen limit @xmath135 . one advantage of the tn algorithm , is that it is well suited to parallelization . performing steps tn i - iii and retaining the results then allows for the trivially parallelizable tn iv to be performed on multiple threads , as required . a disadvantage , however , is instability for large values of @xmath135 ( for our implementation @xmath207 ) . this issue , together with our proposal to correct for it without loss of efficiency will be described in   [ sec : wdelstab ] .      in the solution of pdes , product terms of swshs arise which may be decomposed as in eq .  . two obvious paths are open to us : the first option is to implement a pseudo - spectral approach ; extracting the requisite @xmath208 by transforming two sets of appropriately seeded @xmath209 coefficient sets to functions , pointwise multiplying , then transforming back . we shall revisit this approach in  [ sec : nummax ] . the second option , which we take , is direct computation of @xmath210 factors by calculation of clebsch - gordan coefficients ( or wigner-@xmath8-symbols by eq .  ) . to this end we now describe an exact three - term linear recursive algorithm for calculating the wigner-@xmath8-symbols due to @xcite . the scheme we describe is numerically stable for ` small ' ( @xmath211 ) values of @xmath212 and @xmath213 . however , the possible occurrence of numerical loss of significance as well as overflow leads us to subsequently refine our approach . we apply the general conversion of a three term linear recursion relation into a hybrid recursion relation , given by luscombe and luban @xcite , to the recursion given in @xcite . our implementation extends the mentioned schemes to cover calculation of @xmath8-symbols of _ both _ integer and half - integer angular momentum numbers and projective quantum numbers . our aim is the simultaneous generation of @xmath214 for all @xmath215 where @xmath216 , @xmath217 , and where , in addition , @xmath218 is subject to the constraints discussed in  [ sec : introcgw3j ] . consider eq .  ; if @xmath219 each provide a valid @xmath8 symbol that are outside the range of validity are set to @xmath128 in the recursion relation . ] then the symbols may be connected via the following three - term linear recursion relation @xcite : @xmath220 where @xmath221^{1/2 }      \left[(j_{2}+j_{3}+1)^{2}-j_{1}{}^{2}\right]^{1/2 }      \left[j_{1}{}^{2}-m_{1}{}^{2}\right]^{1/2},\\\label{eq : w3jbcoeff }      b(j_{1 } )      & : =      -(2j_{1}+1 )      \left[j_{2}(j_{2}+1)m_{1}-j_{3}(j_{3}+1)m_{1}-j_{1}(j_{1}+1)(m_{3}-m_{2})\right].\end{aligned}\ ] ] the normalisation condition @xmath222 together with the phase convention @xmath223 allows for the determination of the family of @xmath8-symbols of eq .  .    the range of @xmath218 in eq . is divided into a ` classical ' and two complementary ` non - classical ' regions . a classical region is defined as the set of @xmath224 and @xmath225 for which it is possible to construct a vector diagram which physically corresponds to the coupling of angular momentum  for more details , see @xcite . for our purposes it is sufficient to consider the non - classical region as values of @xmath226 that monotonically decrease as @xmath227 and @xmath228 . consider fig . [ fig : wig3jrecur ] where we illustrate the typical functional form of @xmath229 . in the classical region ( denoted @xmath230 ) the amplitude of @xmath229 oscillates about @xmath128 . within this region @xmath229 may evaluate to @xmath128 for specific choices of @xmath218 . the left boundary of the classical region is denoted by @xmath231 , the right boundary is denoted by @xmath232 . in the non - classical regions ( denoted @xmath233 ) @xmath226 monotonically decays to zero as the boundaries @xmath234 and @xmath235 are approached . -symbols as specified by eq .  . parameters : @xmath236 @xmath237 @xmath238 @xmath239 @xmath240 . classical region denoted by @xmath230 , non - classical regions denoted by @xmath233 . ( red stars ) left boundary of classical region @xmath241 ; right boundary of classical region @xmath242 . there are 26 orders of magnitude difference between the largest and smallest values of @xmath229 in this family . computed using hybrid algorithm . ]    in order to achieve numerical stability , the recursion relation of eq .   that is used to generate the quantities @xmath229 must be performed in the direction of increasing @xmath226 . more explicitly , if the desired solution of a recurrence relation such as eq .  , is monotonically decreasing ( as is the case if one iterates from classical to non - classical region ) then the other , linearly independent solution is monotonically increasing . thus numerical round - off in the calculation of a decaying solution of the recurrence relation triggers the growth of the unwanted , linearly independent , diverging solution @xcite . this discussion implies that instead , we should initialise eq .   at the boundaries @xmath243 ( left - to - right recursion ) and @xmath244 ( right - to - left recursion ) and proceed toward the classical region @xmath230 .    from eq . observe that @xmath245 and @xmath246 . the recursion relations at the boundaries , are given by @xmath247 note that the specification of _ one _ initial parameter at each boundary is sufficient to start the recursion ( eq .  ) in each direction . as the initial choice of parameter for both the left and right recursions is    arbitrary , the set of values generated by each recursion will be in error by factors @xmath248 and @xmath249 respectively ; explicitly @xmath250 where the recursion is terminated at a common , final @xmath218 value of @xmath251 . the left and right recursions must match values are achieved . this allows for the avoidance of singular terms in the classical region . ] at @xmath251 , which implies the constraint @xmath252 . we rescale the left recursion by @xmath253 and determine @xmath249 from the normalisation condition  . finally , upon application of the phase condition  , we have generated all valid @xmath229 as specified by  . the algorithm just discussed suffers both from numerical loss of significance as well as overflow . this is due to the large variation in @xmath226 for particular parameter choices ; for example in the family of symbols shown in fig . [ fig : wig3jrecur ] there are 26 orders of magnitude difference between the largest and smallest values of @xmath226 . the loss of significance / overflow is often mitigated by rescaling of iterates in the recursion . alternatively , the use of a two - term nonlinear recursion may be employed @xcite . to this end , we instead work with ratios of successive @xmath229 terms . define the nonlinear left - to - right recursion @xmath254 and the nonlinear right - to - left recursion @xmath255 since @xmath256 and @xmath257 the initial values @xmath258 are known . the numerical advantage of making the transformations of eq .   and eq .  , is that @xmath259 and @xmath260 maintain values of order unity , throughout the recursion ( i.e. , at each iterate ) thus avoiding significance / overflow issues . a disadvantage introduced by the nonlinear scheme is that eq .   and eq .   are poorly defined for values of @xmath218 where @xmath261 . however , as this occurs only in the classical region @xmath230 , this motivates the consideration of a hybrid scheme  a combination of nonlinear ( in the nonclassical regions @xmath233 ) and linear ( in the classical region @xmath230 ) . in order to split recursion schemes between the two methods , the location of the left @xmath231 and right @xmath232 boundaries must be known . the precise choice of @xmath231 and @xmath232 is not crucial ; the essential point is that nonlinear iteration is terminated near the boundary , such that no zero values of @xmath229 in the classical region are encountered . as @xmath226 monotonically decreases in the nonclassical regions and is known to be non - zero there , a simple algorithmic method of determining the aforementioned values is to begin iteration with eq .   and eq .  , comparing the magnitude of two consecutive iterates until a local maximum in @xmath226 is achieved . the coefficients as determined by the nonlinear scheme in the nonclassical region are hence computed using @xmath262 once the coefficients in the nonclassical regions are known , we may perform iteration using the three - term linear recurrence relation in the classical region using @xmath263 and @xmath264 as initial values in eq .   for the left and right recursion respectively . the left and right hybrid recursion schemes must match at a common @xmath251 , upon appropriate rescaling , and normalisation ( eq .  ) we finally apply the phase convention of eq . . this procedure allows for the determination of an entire family of @xmath229 as stated in eq .  . if the coefficients are required at several stages of a calculation , it is generally more efficient to perform a recursive pre - computation , exploiting the symmetries ( si - siii ) ( see  [ sec : introcgw3j ] ) in order to minimise memory usage . we implement this approach in our code where feasible , for details see @xcite .    in order to check the outlined algorithms we perform comparisons with a symbolic calculation @xcite . symbolic calculations are slow . being of arbitrary accuracy they serve , however , as an excellent check . to verify our scheme all valid @xmath265 @xmath8-symbols were symbolically calculated up to a maximum entry of @xmath266 . figure  [ fig : wig3jerrorfig ] shows the results of this procedure  excellent accuracy ( machine precision ) is achieved . ( colour online ) an error comparison between the hybrid - recursive algorithm ( see  [ sec : cgw3jnumproc ] ) and a direct symbolic calculation . in this calculation , random sets of valid wigner @xmath8-symbols were generated with possible parameters between @xmath267 and @xmath268 . upon generation of an invalid random combination of @xmath269 and @xmath270 , the parameters were discarded  this process was iterated until @xmath271 distinct parameter sets were generated . the @xmath272 wigner @xmath8-symbols with largest error , according to the metric @xmath273 are shown , where @xmath274 and @xmath275 denote the value of a particular symbol as computed by the symbolic and recursive methods respectively ; the average of these symbols is shown in red . the @xmath276 symbols not shown , have a numerical error lower than that of the values displayed . in particular , we see that the numerical agreement between schemes is excellent ( with machine epsilon @xmath277 ) which implies an accurate implementation of the algorithm and stability for ` large ' parameter values . note that the hybrid - recursive approach can be adapted ( as demonstrated ) to compute symbols with half - integral angular and projective quantum numbers . , title="fig : " ] [ fig : wignererror_sub1 ]     ( colour online ) an error comparison between the hybrid - recursive algorithm ( see  [ sec : cgw3jnumproc ] ) and a direct symbolic calculation . in this calculation , random sets of valid wigner @xmath8-symbols were generated with possible parameters between @xmath267 and @xmath268 . upon generation of an invalid random combination of @xmath269 and @xmath270 , the parameters were discarded  this process was iterated until @xmath271 distinct parameter sets were generated . the @xmath272 wigner @xmath8-symbols with largest error , according to the metric @xmath273 are shown , where @xmath274 and @xmath275 denote the value of a particular symbol as computed by the symbolic and recursive methods respectively ; the average of these symbols is shown in red . the @xmath276 symbols not shown , have a numerical error lower than that of the values displayed . in particular , we see that the numerical agreement between schemes is excellent ( with machine epsilon @xmath277 ) which implies an accurate implementation of the algorithm and stability for ` large ' parameter values . note that the hybrid - recursive approach can be adapted ( as demonstrated ) to compute symbols with half - integral angular and projective quantum numbers . , title="fig : " ] [ fig : wignererror_sub2 ] in this section we describe a simple method for checking the associated numerical error of our implementation of the spectral transformation outlined in  [ sec : specxform ] . further , we check that well - known exponential decay properties of the magnitude of the representation of a function in spectral space are satisfied . although for the solution of a pde , band - limits @xmath135 that probe the border of stability of the tn recursive scheme ( see  [ sec : algodelcalc ] ) may be difficult to achieve , we future - proof our work by proposing a simple linear / nonlinear hybrid scheme , in analogy to  [ sec : cgw3jnumproc ] that restores stability . we then briefly contrast a pseudo - spectral approach with the full spectral scheme . as a preliminary check that the implementation of the spectral transformation is sound we proceed as follows . first the generation of a complex - valued function from a pseudo - random linear combination of the basis elements @xmath105 is made . the random weights of the aforementioned linear combination are denoted by @xmath278 . taking the inverse transformation of @xmath278 allows for the construction of the spatial representation of the function . performing the forward transformation in order to reconstruct the original random weights ( reconstructed weights denoted @xmath279 ) then allows for a comparison between @xmath278 and @xmath279 . as we work with floating - point arithmetic , we expect reconstruction to be within numerical tolerance . we summarise this procedure as @xmath280 by first separating the real and imaginary parts of each @xmath281 as @xmath282 } + { \mathrm{i}}\im{\left[{}_s\tilde{a}_{lm}\right]}\ ] ] we generate both @xmath283}$ ] and @xmath284}$ ] by sampling from the continuous uniform random distribution on the interval @xmath285 $ ] . although sampling random data as above provides us with a simple and robust diagnostic on our implementation , it is also informative to examine coefficient decay for specific test functions that are known to possess specific properties with respect to their spectral representation . we now inspect how the magnitude of coefficients of a function decay with increasing band - limit . in order to represent this decay in a convenient manner define the averaged coefficient : @xmath286 we now introduce the following smooth test functions : @xmath287 ^ 2\right),\\\label{eq : testcoeffdec4 } { } _ 0 k(\vartheta,\varphi)&:= \exp\left(-{}_0y_{1,-1}(\vartheta,\varphi)+{}_0y_{1,1}(\vartheta,\varphi ) \right),\\\label{eq : testcoeffdec5 } { } _ { -2 } q(\vartheta,\varphi ) & : = \frac{1}{256}{}_{-2}y_{25,-9}(\vartheta,\varphi)\exp\left(9.3\,{}_0y_{20,-2}(\vartheta,\varphi)-22.5\,{}_0y_{15,3}(\vartheta,\varphi ) \right),\\\label{eq : testcoeffdec6 } { } _ { -4 } r(\vartheta,\varphi ) & : = \frac{1}{4096 } { } _ { -2 } q^2(\vartheta,\varphi)\exp\left(-5\,{}_0y_{1,0}(\vartheta,\varphi ) \right),\end{aligned}\ ] ] the spatial representation of which is initially constructed numerically . performing the forward transformation yields the spectral representation , which together with eq . yields the averaged coefficient decay which is shown in fig . [ fig : coeffdecay01 ] . equation   and eq .   are clearly comprised of a finite linear combination of swsh and indeed this fact is reflected by their complete capture at the band - limits tested . as eq .   is completely captured at bandlimits @xmath288 and @xmath289 , the only difference in the average magnitude of coefficients ( fig . [ fig : coeffdecay01 ] ) is solely due to the additional number of arithmetic operations that must be performed during the transformation . equation   is a spin-@xmath1 function modulated in magnitude and phase by a smooth spin-@xmath128 function . in a similar manner eq .   and eq .   are smooth functions of spin weight @xmath290 and @xmath291 respectively . we expect that given smooth test functions the decay of the magnitude of the averaged coefficient @xmath210 should behave as @xmath292 @xmath293 for large @xmath197 @xcite . this behaviour demonstrated in fig.[fig : coeffdecay02 ] where we construct a linear fit on a semilog plot , is characterstic of the expected exponential convergence that smooth functions should display @xcite .      in the spectral representation of the functions in eqs . ( [ eq : testcoeffdec1]-[eq : testcoeffdec4 ] ) . cyan ` @xmath294 ' : @xmath295 transformation of eq .   at a band - limit of @xmath288 . green ` @xmath296 ' : @xmath295 transformation of eq .   at a band - limit of @xmath289 . magenta ` @xmath297 ' : @xmath298 transformation of eq .   at a band - limit of @xmath299 . blue ` @xmath300 ' : @xmath295 transformation of eq .   at a band - limit of @xmath299 . black ` @xmath301 ' : @xmath302 transformation of eq .   at a band - limit of @xmath303 . note : the difference between coefficient magnitudes for transformations of eq .   at @xmath288 and @xmath289 is solely due to the additional number of arithmetic operations required when performing a transform at a higher bandlimit @xmath135 . b ) ( left to right ) blue ` @xmath300 ' : @xmath295 transformation of eq .   at a band - limit of @xmath299 . cyan line : linear fit of @xmath304 , @xmath305 . green ` @xmath296 ' : @xmath306 transformation of eq .   at a band - limit of @xmath289 . magenta line : linear fit of @xmath307 , @xmath305 . red ` @xmath294 ' : @xmath308 transformation of eq .   at a band - limit of @xmath289 . black line : linear fit of @xmath309 , @xmath305 . see text for discussion . , title="fig : " ] [ fig : coeffdecay01 ]      in the spectral representation of the functions in eqs . ( [ eq : testcoeffdec1]-[eq : testcoeffdec4 ] ) . cyan ` @xmath294 ' : @xmath295 transformation of eq .   at a band - limit of @xmath288 . green ` @xmath296 ' : @xmath295 transformation of eq .   at a band - limit of @xmath289 . magenta ` @xmath297 ' : @xmath298 transformation of eq .   at a band - limit of @xmath299 . blue ` @xmath300 ' : @xmath295 transformation of eq .   at a band - limit of @xmath299 . black ` @xmath301 ' : @xmath302 transformation of eq .   at a band - limit of @xmath303 . note : the difference between coefficient magnitudes for transformations of eq . at @xmath288 and @xmath289 is solely due to the additional number of arithmetic operations required when performing a transform at a higher bandlimit @xmath135 . b ) ( left to right ) blue ` @xmath300 ' : @xmath295 transformation of eq .   at a band - limit of @xmath299 . cyan line : linear fit of @xmath304 , @xmath305 . green ` @xmath296 ' : @xmath306 transformation of eq .   at a band - limit of @xmath289 . magenta line : linear fit of @xmath307 , @xmath305 . red ` @xmath294 ' : @xmath308 transformation of eq .   at a band - limit of @xmath289 . black line : linear fit of @xmath309 , @xmath305 . see text for discussion . , title="fig : " ] [ fig : coeffdecay02 ]    [ fig : coeffdecay ]      one aspect of the tn algorithm ( briefly mentioned in  [ sec : algodelcalc ] ) is that when transformations with a high band - limit are required instability may arise . figure  [ fig : wignerdel_sub1 ] shows that instability occurs at @xmath310 ; the situation is analogous to that when encountered whilst performing calculations of the @xmath8-symbols  hence we proceed analogously . in order to ameliorate the issue , we construct a new nonlinear recursion relation . recall tn i - iv of  [ sec : algodelcalc ] . fix @xmath197 and @xmath213 . observe that in the region @xmath311 we are performing recursion with a three term linear relation , furthermore , in this region we have values of @xmath180 that monotonically increase in magnitude when @xmath196 is decreased from @xmath197 . this leads to instability of the tn algorithm . in order to avoid this , we apply luscombe and luban s general method @xcite , for the construction of a hybrid linear / non - linear recursion to trapani and navaza s linear recursive scheme .    to rewrite the three - term linear recursion relation stated in eq . as a two - term nonlinear recursion relation define the ratio @xmath312 . this results in @xmath313 to make use of this equation , we require a term @xmath180 within the range where nonlinear recursion is performed  such that ratios may be converted to absolute values . while edge values with @xmath314 ( for fixed @xmath213 ) may be used to calculate explicit terms from ratios , for reasons of numerical accuracy , it is advantageous to instead perform three - term iteration from @xmath315 to the edge of the region for which values are computed by the nonlinear scheme ( see the dashed red arc in fig .  [ fig : wignerdel_sub2 ] . hence we now write a new three term relation for a fixed @xmath196 connecting three different values of @xmath213  this is accomplished using the indicial symmetry given by the third of eq . @xmath316     begins to occur for @xmath317 . a ) @xmath318 under three - term linear recursion , with spurious values occurring in a region about @xmath319 . it is clear that these values are incorrect as @xmath320 . b ) hybrid scheme as discussed in text  stability is maintained . dashed red arc indicates @xmath321 , dashed green line indicates edge of computational domain ( prior to application of symmetries ) for both recursion schemes . note : color scales are distinct in both figures . , title="fig : " ] [ fig : wignerdel_sub1 ]     begins to occur for @xmath317 . a ) @xmath318 under three - term linear recursion , with spurious values occurring in a region about @xmath319 . it is clear that these values are incorrect as @xmath320 . b ) hybrid scheme as discussed in text  stability is maintained . dashed red arc indicates @xmath321 , dashed green line indicates edge of computational domain ( prior to application of symmetries ) for both recursion schemes . note : color scales are distinct in both figures . , title="fig : " ] [ fig : wignerdel_sub2 ]    [ fig : wigdelhyb ]      consider two , smooth spin - weighted functions @xmath322 . both @xmath323 and @xmath324 may be decomposed according to eq . [ eq : funcs2sphtrunc ] , in terms of swshs of spin - weight @xmath325 and @xmath326 respectively , for some choice of band - limit @xmath135 . as we will see in  [ sec : advnum ] product terms such as @xmath327 and hence products of the form @xmath328 will need to be expanded in terms of a linear combination of @xmath329 . we have already discussed how such expansions may be performed in a completely spectral scheme in  [ sec : introcgw3j ] , however when formulating the solution of non - linear pdes in particular , multiple - sum terms can quickly become cumbersome without automatic code generation or some level of abstraction . an alternative to the above is the pseudo - spectral method . suppose we initially have the coefficients @xmath330 and @xmath331 representing the functions @xmath323 and @xmath324 sampled ( or intially seeded ) at some band - limit @xmath135 . the coefficients @xmath332 of the associated product @xmath333 can be calculated by performing the transformations : @xmath334 subsequently taking the pointwise product and transforming : @xmath335 we find an approximation to an expansion utilizing eq . directly . in order for the pseudo - spectral and spectral to coincide ( to numerical tolerance ) at some band - limit @xmath135 we have found that it is best to choose a band - limit for the pseudo - spectral scheme @xmath336 , then truncating the constructed coefficients at a band - limit of @xmath135  this is the so - called ` orszag 2/3 rule ' @xcite which aids in the suppression of spurious aliasing . we emphasize that this method also easily allows one to take into account the action of the @xmath104 operators on functions by embedding their action as multiplication ( see eq . and eq . ) in coefficient space , together with taking account of their spin raising and lowering properties when transformations are performed . let @xmath337 , and @xmath338 be the smooth time function given by @xmath339 for all @xmath340 and @xmath341 with non - vanishing gradient . for each @xmath341 , we consider the curve @xmath342 , @xmath343 , and the corresponding smooth tangent vector field @xmath344 ; in particular we have @xmath345 . because of this we can introduce coordinates @xmath346 on @xmath347 , where @xmath101 are standard polar coordinates on @xmath48 and where @xmath348 . let the level sets of @xmath349 be denoted by @xmath350 any such subset is a smooth embedded submanifold of @xmath347 . we make the same assumptions as in the last paragraph of section  [ sec : weightedquantities ]  in particular @xmath50 is a dense open subset of @xmath48  and we choose a smooth complex vector field ; in particular , @xmath213 should not be confused with the field in eq . ( [ eq : mmstar ] ) . we shall choose @xmath213 specifically in the two applications discussed below . notice also that since there is no metric defined on @xmath347 so far , we do also not assume a normalization for @xmath213 yet . ] @xmath213 on @xmath351 which is tangent to @xmath352 at each @xmath353 and which satisfies @xmath354 . let us suppose that @xmath355 is a smooth frame almost everywhere on @xmath347 . we let @xmath356 be the corresponding dual frame and hence deduce that @xmath357 . the following notion of spin - weight based on frame transformations of the form @xmath358 where @xmath57 can be an arbitrary smooth function on @xmath347 , is useful for the following discussion . any quantity @xmath359 on @xmath347 , which behaves likes @xmath360 under this transformation , is said to have spin - weight @xmath78 . for instance , the frame vector @xmath68 has spin - weight @xmath128 , @xmath213 has spin - weight @xmath361 and @xmath362 has spin - weight @xmath363 .    of particular importance for the following discussions are commutators of the frame fields @xmath364\right>}.\ ] ] the assumptions above yield @xmath365 and all commutators can be computed from the following ones @xmath366 the functions @xmath367 , @xmath368 , @xmath369 , @xmath370 , @xmath371 and @xmath372 have the following transformation behavior under the frame transformations above : @xmath373 i.e. ,  these are functions have a well - defined spin - weight @xmath78 , while @xmath374 and hence do not have a spin - weight . notice that in particular , @xmath375 for @xmath376 , i.e. , for the reference frame . we want to start with the following _ advection problem_. let @xmath377 be a given smooth vector field on @xmath347 with @xmath378 . pick a smooth @xmath379-tensor field @xmath380 in a neighborhood of @xmath381 . we consider the initial value problem @xmath382 for an unknown @xmath379-tensor field @xmath383 on @xmath347 . since @xmath377 is smooth it generates a flow on @xmath347 which maps each point @xmath60 of @xmath347 to a point on the integral curve of @xmath377 through @xmath60 . due to the condition @xmath378 , it follows that @xmath377 has a non - vanishing ` time component ' in the direction of @xmath68 and , in general , a non - vanishing ` spatial component ' tangential to @xmath352 . solutions @xmath383 of are invariant under this flow generated by @xmath377 and are therefore advected in time along the ` spatial component ' of @xmath377 . we notice that in the case @xmath384 , reduces to the standard scalar advection equation . moreover , we observe that this initial value problem does not require the specification of a metric on @xmath347 .    in order to bring eq . ( [ eq : advectionproblem ] ) into a form for which our formalism applies , we choose the frame @xmath385 above with @xmath348 and @xmath386 given by eq . ( [ eq : standardreferenceframe ] ) . hence the dual frame is @xmath387 with @xmath388 with this it follows that @xmath389 since the vector field @xmath377 has the property @xmath378 , there exists a smooth complex function @xmath390 so that @xmath391 notice that @xmath390 has spin - weight @xmath363 ( and hence @xmath392 spin - weight @xmath361 ) . for simplicity , we assume that @xmath390 is independent of @xmath353 . we restrict to the scalar and vectorial advection problems now , i.e.  to @xmath384 and @xmath393 . in the scalar case , @xmath383 is a function with spin - weight zero hence eq .   translates to @xmath394 using and for @xmath302 . we check easily that each term in this equation is of spin - weight @xmath128 . in general , consistency of the spin - weights of the terms in an equation is a good indication that it has been derived correctly .    in the vectorial case , we decompose the vector @xmath383 as @xmath395 where @xmath396 is of spin - weight @xmath78 and where @xmath397 . projecting onto @xmath196 , @xmath398 and @xmath399 , and using , and and the fact that @xmath371 and @xmath372 vanish for the reference frame , we find @xmath400 using the relations and to write @xmath401 for any quantity @xmath402 of spin - weight @xmath78 , we find @xmath403 we realize that all terms are of a well - defined and consistent spin - weight and that all formally singular terms ( i.e. , those proportional to @xmath404 ) disappear ( as one expects ) . the first of eqs . is of the same form as and is decoupled from the other two . the third equation is the complex conjugate of the second one .      in this section we solve   and   together with appropriate initial data by application of the fourier - galerkin method . we will choose advecting fields @xmath405 comprised of linear combinations of axial rotations . this choice is particularly amenable to analysis of numerical error and stability since initial data that is advected by such fields will undergo a time evolution that must periodically return to its initial state  it is this periodic behaviour that we exploit for our numerical tests . recall that the generators of rotations in @xmath44 are given by : @xmath406 respectively . if we choose @xmath377 to be one of these generators and then decompose @xmath377 as in we find @xmath407 it is convenient to further normalize the advecting fields @xmath408 such that the final state of the fields being advected will again coincide with the choice of the initial field configuration after a temporal period @xmath409 . for general data eq . gives : @xmath410 for advecting fields and the fields being advected respectively . the time - dependence of the solution is carried by the expansion coefficients @xmath411 . equations ( [ eq : ethraco ] , [ eq : ethloco ] , [ eq : sylmorth ] , [ eq : spinnyspectroscope ] , [ eq : advectionproblemscalar ] , [ eq : advexpa ] ) lead to the spectral representation of the scalar advection problem : @xmath412      \left\{\vphantom{\sum^l_{l_a=1 } }        \sqrt{l_b(l_b+1 ) }        \mathcal{a}_l(-1,l_a , m_a;\,1,l_b , m - m_a )      \right.\\   & \left.\times{}_{0}n_{l_b , m - ma}(t )      \left({}_{-1}\xi_{l_a , m_a}-(-1)^{l_a+l_b+l}{}_{1}\xi_{l_a , m_a ) }       \right ) \vphantom{\sum^l_{l_a=0}}\right\ } , \end{aligned}\ ] ] where @xmath413 $ ] is a boolean function  equal to @xmath361 when the inequality is satisfied and @xmath128 when it is not . we introduce such functions to make explicit the distinct limits of summation of the terms in eq .  .    for the vector advection problem the spectral representation of the spin @xmath128 component of the system is again given by eq .  . due to the condition @xmath414 and eq . we have @xmath415 , hence in order to completely specify the system , only the spin @xmath363 equation is required : @xmath416      \left\{\vphantom{\sum_{l_a=1}^l }          \sqrt{l_b(l_b+1 ) }          \left (              { } _ { -1}\xi_{l_a , m_a}\,{}_{-1}n_{l_b , m - m_a}(t )          \right . \right.\\       &          \left.-{}_{-1}\xi_{l_b , m - m_a}\,{}_{-1}n_{l_a , m_a}(t)\right )          \mathcal{a}_l(-1,l_a , m_a;\,0,l_b , m - m_a)\\       &      + \sqrt{(l_b-1)(l_b+2 ) }      \left (          { } _ { -1}\xi_{l_b , m - m_a}{}_{1}n_{l_a , m - m_a}(t )      \right.\\      &      \left . -{}_{1}\xi_{l_a , m - m_a}{}_{-1}n_{l_b , m - m_a}(t )      \right)\mathcal{a}_l(1,l_a , m_a;-2,l_b , m - m_a)\left[\delta_{l_b\geq 2}\right ]      \left.\vphantom{\sum_{l_a=1}^l}\right\ } \end{aligned}\ ] ]    figure  [ fig : advectionsweepnst ] shows the results of numerical convergence tests performed using an explicit @xmath417th order runge - kutta ( rk ) method in time for a variety of time - steps @xmath418 and band - limits @xmath135 . we show the absolute value of the maximum difference in coefficient space @xmath419 between initial configurations of test fields and their final configurations upon advection for @xmath420 periods @xmath421 . excellent agreement with the expected @xmath417th order convergence is displayed . we find that in both scalar and vector cases the error associated with the temporal discretization dominates that of the spatial scheme  this was verified by constructing a semilog plot of data generated for various values of @xmath135 vs. @xmath422 at fixed @xmath418 where we found a horizontal line . this is not unexpected as we are advecting smooth fields , by smooth fields and expect exponential convergence for the spatial sampling ( see  [ sec : errorstabilityspeed ] ) whereas only @xmath417th order convergence in time is provided by the runge - kutta method . note , that here and in what follows when performing numerical expansions as in eqs . ( [ eq : clebschgordanseries],[eq : prodsoln ] ) all terms with @xmath423 are discarded . periods elapse . ( _ advection of scalar field _ ) : green ` @xmath424 ' : @xmath425 ; magenta ` @xmath426 ' : @xmath427 ; cyan ` @xmath294 ' : @xmath428 ; yellow ` @xmath297 ' : @xmath303 : advecting field corresponds to a @xmath429 axial rotation , initial data corresponds to eq .  . ( _ advection of vector field _ ) : blue : @xmath427 , ` @xmath430 ' : @xmath431 component , ` @xmath301 ' : @xmath432 component ; red : @xmath428 , ` @xmath300 ' : @xmath431 component , ` @xmath296 ' : @xmath432 component ; black : @xmath303 , ` @xmath433 ' : @xmath431 component , ` @xmath434 ' : @xmath432 component : advecting field corresponds to the normalized sum of @xmath435 and @xmath436 axial rotations , initial data corresponds to a @xmath429 axial rotation . we find excellent agreement with the expected @xmath417th order convergence , prior to a saturation in convergence due to numerical roundoff error . ]      as a second application , we study the initial value problem of the @xmath0-vacuum maxwell equations on @xmath347 , i.e. , the equations @xmath437 for the electromagnetic @xmath1-form @xmath438 on @xmath347 , where @xmath6 is the exterior derivative and @xmath300 is the hodge dual associated with a lorentzian metric @xmath439 on @xmath347 ; we assume the signature @xmath440 . in abstract index notation , these equations can also be written as @xmath441}=0,\quad \nabla^\mu f_{\mu\nu}=0.\ ] ]    let @xmath442 be an orthonormal frame with respect to @xmath439 and choose the frame @xmath443 by @xmath444 and @xmath445 . this implies for example @xmath446 , @xmath447 and @xmath448 . let @xmath449 be the coframe dual to @xmath442 . if @xmath387 is the coframe dual to @xmath450 then @xmath451 since any smooth metric on @xmath48 is conformal to the standard metric on the unit sphere , a general smooth metric on @xmath347 is described by a smooth real is complex . its phase , however , would generate nothing but a rotation of the frame and would hence not contribute to the metric . ] strictly positive function @xmath452 of spin - weight zero so that @xmath453 where @xmath454 is given by eq . ( [ eq : standardreferenceframe ] ) . in the special case @xmath455 , one obtains the geometry of the standard round unit sphere . physically , our system can therefore be interpreted as vacuum electrodynamics in a universe of @xmath1-dimensional spatial spherical topology whose geometry is described by the function @xmath456 . notice that we allow @xmath456 to depend on time . as before , we assume @xmath348 . then , it follows @xmath457    in @xmath0 dimensions , the @xmath1-form @xmath438 has three independent components which we write as @xmath458 hence @xmath459 and @xmath460 can be interpreted as the two components of the electric field and @xmath461 as the component of the magnetic field . in fact , we can introduce a purely spatial `` electric '' one - form @xmath462 so that the one - form @xmath463 becomes @xmath464 for the following it is useful to define the three complex maxwell scalars as @xmath465 where @xmath466 has spin - weight @xmath78 . these fields satisfy the reality conditions @xmath467 we find that the electric one - form @xmath468 can be written as @xmath469    the first maxwell equation @xmath470 is equivalent to @xmath471 , and hence to @xmath472 this equation corresponds symbolically to the maxwell equation `` @xmath473 '' . using the same arguments as for the advection problem , we arrive at the following evolution equation for the magnetic field @xmath474 the second maxwell equation @xmath475 is equivalent to @xmath476 , and hence to @xmath477 this corresponds to three equations . the @xmath196-component is the constraint @xmath478 the @xmath398- and @xmath399-components yield evolution equations for the components of the electric field @xmath479    we see explicitly that all terms in the equations are non - singular and of consistent spin - weight . moreover , when we write the @xmath3-operator in a coordinate basis , we see that the evolution system is symmetric hyperbolic and hence gives rise to a well - posed initial value problem . it remains to show that the constraint @xmath480 propagates under the evolution . for this we derive the evolution equation for the constraint violation quantity @xmath481 given in eq . ( [ eq : constraint ] ) . we take the time derivative of eq . ( [ eq : constraint ] ) and use the evolution equations of @xmath482 , @xmath483 , @xmath484 . then it is straightforward to find that @xmath485 it follows that if the initial data satisfy the constraint , i.e. , @xmath480 at the initial time , then @xmath486 for all times and hence the constraints will be satisfied , up to machine precision , during the whole evolution . furthermore , as can easily be seen from the evolution equations , the reality conditions of eq .   are preserved during the whole evolution provided they are fulfilled at the initial time . notice that @xmath487 is equivalent to @xmath488 . since @xmath468 is purely spatial this is equivalent to @xmath489 , where @xmath490 is the purely spatial exterior derivative on the initial hyper - surface . because @xmath48 is simply connected it follows that every solution @xmath468 of the constraint is of the form @xmath491 where @xmath492 is an arbitrary smooth scalar function of spin - weight zero on the initial hyper - surface . comparison of eq .   with eq . yields @xmath493 as the constraint eq .   is independent of @xmath494 the magnetic field may be prescribed freely , subject only to reality conditions . our goal is now the construction of numerical solutions by means of spectral decompositions of the dynamical equations governing the maxwell system . in order to check the numerical solutions thus constructed , we examine the preservation of the constraints associated with the system . in order to further ensure that our implementation is accurate and robust we compare our calculation to a pseudo - spectral implementation based on discussion of  [ sec : psandfscmp ] . we proceed in two stages : we consider the case where @xmath2 is deformed at the initial time and examine how a simple choice of initial data evolves with this fixed geometry . we then allow for a time - dependent change of the geometry , again examining how our solution for the fields develops with time .    as the method is entirely analogous to that of  [ sec : advnum ] we do not explicitly state our expansions of eqs . ( [ eq : maxev0 ] , [ eq : maxev1 ] , [ eq : maxev2 ] , [ eq : inicondmapot ] , [ eq : constraint ] ) here . however it is worth pointing out that due to   and   we again have @xmath495 which implies that only a subset of the full dynamical system need be evolved , the rest may be extracted by these symmetries . we have also found it convenient to re - expand terms such as @xmath496 by defining an auxiliary function : @xmath497 rather than dealing with @xmath456 directly . we now test the following initial conditions : @xmath498 with all other values set to zero . this corresponds to a static deformation of @xmath2 , where at @xmath499 the deformation is chosen and fixed for all later times . we calculate the solution numerically making use of the spectral and pseudo - spectral methods together with the embedded rk@xmath500 m algorithm of @xcite . this last choice of integrator allows for local error estimation and hence adaptive control of step - size in time . in order to verify that our implementation is consistent we check that the constraints are satisfied this is done by ( pseudo)spectral decomposition of eq .   in a similar manner to the preceding equations of this section . the results of this are shown for both spectral ( fig . [ fig : constr_sub1 ] ) and pseudo - spectral ( fig . [ fig : constr_sub2 ] ) implementations ; we find excellent agreement between both methods . ( colour online ) value of the constraints ( eq .  ) associated with solutions of the maxwell system for static deformation of @xmath2 subject to the initial conditions of eq .   using adaptive rk@xmath500 m as described in the text . red : @xmath427 , ` @xmath300 ' ; blue : @xmath428 , ` @xmath296 ' ; green : @xmath303 , ` @xmath301 ' ; magenta : @xmath288 , ` @xmath501 ' . observe that constraints are well - preserved during the entire course of the solution - with the spectral ( a ) and pseudo - spectral ( b ) methods providing comparable accuracy . at @xmath502 we find that we have approximately saturated the convergence in @xmath135 , that is , further increasing the band - limit will only marginally increase solution accuracy and a law of diminishing returns applies cf . [ fig : nrg ] . , title="fig : " ] [ fig : constr_sub1 ]     ( colour online ) value of the constraints ( eq .  ) associated with solutions of the maxwell system for static deformation of @xmath2 subject to the initial conditions of eq .   using adaptive rk@xmath500 m as described in the text . red : @xmath427 , ` @xmath300 ' ; blue : @xmath428 , ` @xmath296 ' ; green : @xmath303 , ` @xmath301 ' ; magenta : @xmath288 , ` @xmath501 ' . observe that constraints are well - preserved during the entire course of the solution - with the spectral ( a ) and pseudo - spectral ( b ) methods providing comparable accuracy . at @xmath502 we find that we have approximately saturated the convergence in @xmath135 , that is , further increasing the band - limit will only marginally increase solution accuracy and a law of diminishing returns applies cf . [ fig : nrg ] . , title="fig : " ] [ fig : constr_sub2 ]    checking other invariants of the system can give further insight into the performance of our numerical scheme . consider the energy as a function of time : @xmath503 due to eq . we can conclude that eq . is the integral of a positive definite quadratic form ( since @xmath504 for @xmath505 $ ] ) and hence @xmath506 for all @xmath353 . for time - independent @xmath456 , @xmath507 is a killing vector and hence by noether s theorem if @xmath508 is the initial time , then we have @xmath509 . that is , under a static deformation energy is conserved . in order to examine any deviations in @xmath510 that may occur due to numerical error , it is convenient to further define relative error in the energy via : @xmath511 which serves as a measure of the failure of energy conservation . we show the value of @xmath512 in fig . [ fig : nrg ] for the solution of the maxwell system with the initial conditions of eq .  , again both spectral and pseudo - spectral methods perform with consistent accuracy affirming our intuition about energy conservation for the system in the case of static deformation . ( colour online ) the relative error in the energy @xmath513 as defined in eq .   for numerical solution of the maxwell system subject to the initial conditions of eq . red : @xmath427 , ` @xmath300 ' ; blue : @xmath428 , ` @xmath296 ' ; green : @xmath303 , ` @xmath301 ' ; magenta : @xmath288 , ` @xmath501 ' . in both solutions , constructed via spectral ( a ) and pseudo - spectral ( b ) methods respectively , we find that oscillations in @xmath513 are observed for @xmath514 . we ascribe the aforementioned oscillations to the numerical scheme and not to any physical property of the maxwell system as for @xmath515 these spurious features disappear . it is important to note that even though oscillatory behaviour in @xmath513 is observed , it is bounded over the interval @xmath353 shown . , title="fig : " ]      ( colour online ) the relative error in the energy @xmath513 as defined in eq .   for numerical solution of the maxwell system subject to the initial conditions of eq .  . red : @xmath427 , ` @xmath300 ' ; blue : @xmath428 , ` @xmath296 ' ; green : @xmath303 , ` @xmath301 ' ; magenta : @xmath288 , ` @xmath501 ' . in both solutions , constructed via spectral ( a ) and pseudo - spectral ( b ) methods respectively , we find that oscillations in @xmath513 are observed for @xmath514 . we ascribe the aforementioned oscillations to the numerical scheme and not to any physical property of the maxwell system as for @xmath515 these spurious features disappear . it is important to note that even though oscillatory behaviour in @xmath513 is observed , it is bounded over the interval @xmath353 shown . , title="fig : " ]    we now allow a time - dependent deformation of @xmath2 using the pseudo - spectral method . the direction @xmath507 is no longer a killing vector and energy expression of eq . will no longer be conserved , however we still have @xmath506 for all @xmath353 . for initial conditions , we take : @xmath516 where @xmath517 governs the time - dependent deformation of @xmath2 over an interval @xmath518 $ ] . we show the solution at selected times , together with the geometric picture in fig.[fig : maxsoln ] . as @xmath456 is now time - dependent the constraint propagation equation suggests that numerical violations of the constraints grow with time . convergence of @xmath481 to a well - defined value with increasing band - limit @xmath135 is still expected and we find that a higher band - limit @xmath135 is required ( see fig.[fig : tdepconstr ] ) in constrast to the static ( no deformation ) case . finally we note that as anticipated , @xmath506 for @xmath518 $ ] ( see fig.[fig : tdepnrg ] ) . ( colour online ) maxwell @xmath0 solution , together with geometry as constructed by pseudo - spectral method at indicated times . parameters : @xmath303 , initial conditions and time - dependent @xmath456 as in eq .   and eq .  . in each subfigure we show the electric field ( red ) scaled by the dimensionless factor @xmath519 together with the magnetic scalar . nodes corresponding to the spatial sampling are indicated in black on the surface . note : color and axial scalings are distinct over figures . , title="fig : " ]      ( colour online ) maxwell @xmath0 solution , together with geometry as constructed by pseudo - spectral method at indicated times . parameters : @xmath303 , initial conditions and time - dependent @xmath456 as in eq .   and in each subfigure we show the electric field ( red ) scaled by the dimensionless factor @xmath519 together with the magnetic scalar . nodes corresponding to the spatial sampling are indicated in black on the surface . note : color and axial scalings are distinct over figures . , title="fig : " ]      ( colour online ) maxwell @xmath0 solution , together with geometry as constructed by pseudo - spectral method at indicated times . parameters : @xmath303 , initial conditions and time - dependent @xmath456 as in eq .   and in each subfigure we show the electric field ( red ) scaled by the dimensionless factor @xmath519 together with the magnetic scalar . nodes corresponding to the spatial sampling are indicated in black on the surface . note : color and axial scalings are distinct over figures . , title="fig : " ]      ( colour online ) maxwell @xmath0 solution , together with geometry as constructed by pseudo - spectral method at indicated times . parameters : @xmath303 , initial conditions and time - dependent @xmath456 as in eq .   and in each subfigure we show the electric field ( red ) scaled by the dimensionless factor @xmath519 together with the magnetic scalar . nodes corresponding to the spatial sampling are indicated in black on the surface . note : color and axial scalings are distinct over figures . , title="fig : " ]     , ` @xmath300 ' ; blue : @xmath303 , ` @xmath296 ' ; green : @xmath288 , ` @xmath301 ' ; magenta : @xmath520 , ` @xmath501 ' , we find similar convergence behaviour of the contraints ( a ) to that of the time - independent deformation case , however we note that higher spatial resolution ( band - limit @xmath135 ) is required . in ( b ) we find that the relation @xmath521 is indeed satisfied . , title="fig : " ] [ fig : tdepconstr ]     , ` @xmath300 ' ; blue : @xmath303 , ` @xmath296 ' ; green : @xmath288 , ` @xmath301 ' ; magenta : @xmath520 , ` @xmath501 ' , we find similar convergence behaviour of the contraints ( a ) to that of the time - independent deformation case , however we note that higher spatial resolution ( band - limit @xmath135 ) is required . in ( b ) we find that the relation @xmath521 is indeed satisfied . , title="fig : " ] [ fig : tdepnrg ]    [ fig : tdepconstrnrg ] in this work we have presented a method for evolving tensorial equations on manifolds with spherical topology . it is based on the use of the spin - weighted spherical harmonics , a class of functions on the sphere which is closely related to irreducible representations of @xmath522 . we have demonstrated that our method exhibits the accuracy and rapid convergence to solutions that is expected from spectral methods .    of course , this method is not limited to a single sphere . instead , our main application will be in systems defined on a manifold with spatial topology @xmath523 , where the tensor fields are split into various pieces intrinsic to the sphere factor and depending on a ` radial ' coordinate corresponding to the @xmath524 factor . this kind of topology occurs naturally in the description of the global structure of space - times in general relativity . this method can be further generalised to half - integer spin . this will allow us to solve spinorial equations , such as the dirac equation or weyl s equation for a ( massless ) neutrino on space - times with spheroidal components as discussed above . this research was partly funded by the marsden fund of the royal society of new zealand under contract number uoo0922 .
Abstract:

Answer: many applications in science call for the numerical simulation of systems on manifolds with spherical topology . through use of integer spin weighted spherical harmonics we present a method which allows for the implementation of arbitrary tensorial evolution equations . our method combines two numerical techniques that were originally developed with different applications in mind . the first is huffenberger and wandelt s spectral decomposition algorithm to perform the mapping from physical to spectral space . the second is the application of luscombe and luban s method , to convert numerically divergent linear recursions into stable nonlinear recursions , to the calculation of reduced wigner d - functions . we give a detailed discussion of the theory and numerical implementation of our algorithm . the properties of our method are investigated by solving the scalar and vectorial advection equation on the sphere , as well as the @xmath0 maxwell equations on a deformed sphere .