as mobile broadband wireless networks evolve , increasingly ambitious targets have been set for spectral efficiency . exploiting the capabilities of multiple antennas at the mobiles and
base transceiver station ( bts ) is crucial to meet those goals .
an effective approach is to use spatial precoding at the transmitters and filtering at receivers to adapt to the variations of the multiple - input multiple - output ( mimo ) channel and interference conditions by optimizing a metric such as the sum rate , signal - to - interference - and - noise ratio ( sinr ) , or mean squared error ( mse ) .
two challenges need to be addressed : first , the precoders and filters should be _ jointly _ optimized ; and second , the optimization should be carried out without _ a priori _ knowledge of the channel and interference conditions .
while joint optimization of precoders and receivers in cellular networks has attracted considerable attention in recent years ( e.g. , @xcite ) , much of the work has assumed linear precoders for the downlink , and has considered channel estimation methods for estimating those precoders with unknown channels .
here we consider joint optimization and adaptation of _ non_linear precoders and receivers .
specifically , we assume that the users are successively decoded and cancelled at the bts for the uplink , and that successive interference pre - cancellation with tomlinson - harashima precoding is applied by the bts for the downlink .
the mobiles use linear filtering and precoding . a time - division duplex
( tdd ) network is assumed in order to exploit the reciprocity between uplink and downlink channels .
the precoder and receiver filters are optimized according to a sum - mse criterion assuming mimo fading channels .
this criterion is motivated by previous results showing that the minimum mean squared error ( mmse ) receiver with successive interference cancellation achieves the sum capacity of the multiaccess channel @xcite , and that the precoding structure considered ( generalized decision - feedback equalizer with interference pre - compensation ) achieves the sum capacity of the gaussian broadcast channel @xcite .
furthermore , the mse criterion leads directly to adaptive approaches for filter estimation in the presence of unknown channels and interference .    for a single cell
we first show that alternating optimization of precoders and receiver filters ( for either the uplink or downlink ) converges to a local optimum .
although this optimization must be applied separately for the uplink and downlink to obtain the optimal precoders and receiver filters for each direction , we observe that the filters optimized for one direction achieve near - optimal performance for the other direction as well when the uplink and downlink power constraints and noise power are similar . with this in mind we consider a simplified scheme in which the uplink ( downlink ) receive filters
are also used as downlink ( uplink ) precoders . with this constraint
we again show that alternating optimization of the filters at the bts and mobiles converges to a fixed point .    in the absence of channel state information ( csi )
the preceding results lead to an iterative bi - directional training scheme in which uplink and downlink pilots are alternately transmitted to estimate the bts and mobile filters , respectively .
the estimated bts forward / backward filters then nonlinearly precode both the downlink data and pilots for interference pre - cancellation , and the estimated mobile receiver filters precode both the uplink data and pilots . with sufficient training , the estimated filters approach the corresponding mmse filters in which case training in each direction corresponds to an mmse update of the corresponding filters .
these uplink / downlink updates are then iterated until convergence , or a complexity constraint is reached .
this scheme extends the bi - directional training scheme presented in @xcite , where the uplink / downlink pilots are used to estimate linear filters / precoders without interference cancellation .
a key feature of these schemes is that the pilots are transmitted _ synchronously _ in each direction ( across all cells ) , and are used to estimate the filters _
directly _ via a least squares criterion , rather than directly estimating the channel .
as discussed in @xcite , this scheme is _ distributed _ in the sense that each node ( bts or mobile ) autonomously computes its own filters from the received signal and pilots .
in contrast , prior schemes for precoding / filtering based on channel estimation ( e.g. ,  @xcite ) are more suitable for centralized optimization in which all csi for direct- and cross - channels is passed to a single remote location , which computes all filters and then passes those back to the corresponding nodes .
numerical results are presented that illustrate the performance of the bi - directional training scheme as a function of the amount of training and number of forward - backward iterations .
it is shown that the achievable rate with nonlinear filters approaches the uplink sum capacity as the number of iterations increases . for a fixed number of training symbols ,
the nonlinear filters significantly outperform linear filters when the number of iterations is limited even though the nonlinear filters require more parameters to be estimated .
an example for a multi - cell scenario shows that more iterations are required for the precoders and receive filters to converge than for a single cell .
nonlinear filters again significantly outperform linear filters with few iterations in the high - snr regime .
related work on joint precoder and receive filter design has been presented in @xcite . in @xcite ,
iterative algorithms are proposed for simultaneous diagonalization of the downlink multiuser channels to enable interference - free spatial - division multiplexing . in @xcite , algorithms are presented to jointly optimize linear filters and precoders for the uplink using a sum - mse criterion .
mse duality results for broadcast and multiaccess channels are presented in @xcite .
duality ensures that any uplink minimum mse scheme has a downlink counterpart . in @xcite ,
the downlink sum - mse minimization problem is solved by creating a `` virtual '' uplink channel , which has the same transmit power and noise level as for the actual downlink channel .
however , those methods can not be implemented in a distributed manner in the setting of this paper , where the uplink and downlink channels may have different power constraints and noise levels . in @xcite , iterative mmse beamforming algorithms
are presented to minimize the sum power subject to a set of sinr constraints , where the precoder and receive filter updates are done sequentially across users .
in contrast , all users update simultaneously in this paper .
consider a single cell consisting of a bts with @xmath0 antennas and @xmath1 users , where user @xmath2 has @xmath3 antennas .
the uplink channel between user @xmath2 and the bts is denoted by @xmath4 of size @xmath5 , each entry of which is a unit - variance circularly symmetric complex gaussian ( cscg ) random variable .
each user is restricted to one data stream , although the algorithms to be presented are easily extended to the scenario with multiple data streams per user .
the received signal vector at the bts is @xmath6 where @xmath7 is the data symbol from user @xmath2 and @xmath8\!=\!1 $ ] , @xmath9 is the @xmath10 precoder with @xmath11 , where @xmath12 is the power constraint for user @xmath2 , and @xmath13 is the cscg noise vector each entry of which has zero mean and variance @xmath14 .    similarly , assuming tdd with channel reciprocity ,
the downlink received signal at user @xmath2 can be written as @xmath15 where @xmath16 is the data symbol for user @xmath17 , @xmath18 is the corresponding transmit beam , and @xmath19 denotes the cscg noise vector with @xmath2th entry having variance @xmath20 .
the filters satisfy the bts power constraint @xmath21 .
we first discuss joint optimization of transmit precoders and receive filters at a central controller with perfect csi .
adaptive versions with training are subsequently discussed in section  [ s : training ] .
first consider the case where the received signal in ( [ upsignal ] ) is processed by linear filters @xmath22 $ ] , where @xmath23 denotes the receive filter for user @xmath2
. the estimated signal for user @xmath2 is given by @xmath24 and the corresponding mse for user @xmath2 is @xmath25\\ & \!=\!1\!+\!\sigma^2\|\boldsymbol{g}_k\|^2\!-\!2\re\big\{\boldsymbol{g}_k^\dagger\boldsymbol{h}_k\boldsymbol{v}_k\big\}\!+\!\sum_{i=1}^{k}\big|\boldsymbol{g}_k^\dagger\boldsymbol{h}_i\boldsymbol{v}_i\big|^2,\label{upmse}\end{aligned}\ ] ] where @xmath26 takes the real part of a complex number .
the optimization problem is stated as :    [ upproblem ] @xmath27    [ prop : fullpow ] the sum mmse is minimized when all users transmit with full power .    the proof is given in the appendix .
hence the decrease in sum mse for a particular user @xmath2 due to an increase in power @xmath12 dominates the increase in sum mse due to the increase in interference at neighboring receivers .
we will assume that each user transmits at the maximum power so that the constraints ( [ powercon ] ) are binding .
the lagrangian for problem  ( [ upproblem ] ) is @xmath28 where @xmath29 is the lagrange multiplier associated with the power constraint for user @xmath2 .
hence the optimal solution to problem ( [ upproblem ] ) must satisfy : @xmath30 for @xmath31 , where @xmath29 in ( [ eq : uplnfilter2 ] ) is chosen to satisfy ( [ powercon ] ) .
the nonlinear successive cancellation filter at the bts is the decision - feedback detector ( dfd ) shown in fig .
[ uplink ] .
the received signal is input to the linear feedforward filter @xmath32 , and the feedback filter @xmath33 implements the successive interference cancellation . assuming the decoding order is from user @xmath34 to user @xmath1 , the feedback matrix @xmath35 is lower triangular with diagonal elements equal to one .
the estimated symbol for user @xmath2 is then @xmath36 where @xmath37 denotes the ( @xmath2,@xmath17)-th element of @xmath35 and @xmath38 denotes the slicer function in the forward loop . for user
@xmath2 , if decoding of the previous symbols is correct , i.e. , @xmath39 , and @xmath40 , then the interference from users 1 to user @xmath41 can be removed .
the achievable mse for user @xmath2 is then @xmath42 the problem becomes    [ dfeproblem ] @xmath43    in this scenario it may not be optimal ( in the sum - mse sense ) for all users to transmit with full power .
we will nevertheless assume that the power constraints are binding since this simplifies the problem , and because transmitting at full power is known to achieve the uplink sum capacity .
writing the lagrangian as before , the corresponding first - order conditions are @xmath44 for @xmath31 , where the lagrange multipliers @xmath29 s are chosen to enforce the power constraints ( [ con : fullpow ] ) .
the summation indices differ from ( [ eq : uplnfilter1 ] ) and ( [ eq : uplnfilter2 ] ) due to successive cancellation .
the expressions for the downlink filters can be obtained in a similar fashion as for the uplink .
the uplink and downlink problems are different because the snrs for the uplink and downlink channels are different in general , and because the power constraints are on individual users in the uplink , while the constraint is on the sum over all users in the downlink . for the downlink ,
the estimated symbol for user @xmath2 is @xmath45 where @xmath46 is the receiver filter .
the corresponding mse is @xmath47 the downlink sum - mse minimization problem is    [ dproblem ] @xmath48    the corresponding optimal filters satisfy : @xmath49 for @xmath31 , where the lagrange multiplier @xmath50 is chosen to satisfy .    with nonlinear filtering at the bts @xcite , i.e. , dirty paper coding , assuming
the encoding order is from user @xmath1 to user @xmath34 , the signal received by user @xmath2 can be written as @xmath51 the corresponding mse for user @xmath2 at the output of the linear receiver @xmath46 is then @xmath52 the downlink sum - mse minimization problem is    [ dproblem_ipc ] @xmath53    the corresponding optimal filters satisfy : @xmath54 for @xmath31 , where the lagrange multiplier @xmath50 is chosen to satisfy .
focusing on the uplink the precoders and filters in ( [ eq : uplnfilter1])([eq : uplnfilter2 ] ) are coupled , evading an explicit solution in terms of the channels only .
moreover , problem   is non - convex when @xmath55 , thus there is no known efficient numerical algorithm for finding the global optimum . , or
if @xmath55 and there is no constraint on the number of data streams per user , then this problem can be transformed into a convex program  @xcite . ]
as pointed out in  @xcite , the precoders and filters can be computed iteratively . with fixed transmit precoders @xmath56 ,
the lagrangian ( [ lagrangian ] ) is strictly convex in receive filters @xmath57 , and ( [ eq : uplnfilter1 ] ) gives the optimal solution .
conversely , with fixed @xmath57 , we compute @xmath56 and @xmath58 together from   with the requirement that @xmath59 for every @xmath2 . the search for
each @xmath29 can be efficient because the optimization of @xmath60 is decoupled across users .    because @xmath29 is chosen to guarantee @xmath61 , the lagrangian in ( [ lagrangian ] ) is always equal to the sum - mse .
thus the lagrangian as well as the sum - mse monotonically decrease with each update , and must converge since they are lower bounded by zero . in case multiple @xmath29 s enforce @xmath59 , we choose the one that yields the minimum lagrangian ( [ lagrangian ] ) .
if multiple @xmath29 s achieve the same minimum , then we can randomly choose one . since the preceding procedure dictates a one - to - one mapping between @xmath56 and @xmath57 , it is not difficult to show that the set of precoders and filters @xmath62 must also converge to a fixed point .
the fixed point must be a local optimum for problem ( [ upproblem ] ) , although it may not be globally optimal .
similar to the linear case , the iterative approach previously described can also be applied to compute ( [ eq : upnlnfilter1])([eq : upnlnfilter2 ] ) and the convergence of the filters follows from the monotonic decrease of the lagrangian and the one - to - one mapping between the precoders and the receiver filters . for the downlink
the set of linear filters can be computed by iterating ( [ eq : downlnfilter1 ] ) and ( [ eq : downlnfilter2 ] ) , and the set of nonlinear filters can be computed by iterating ( [ eq : downnlnfilter2 ] ) and ( [ eq : downnlnfilter1 ] ) . according to similar arguments as for the uplink , all the filters will again converge to a fixed point .
the iterative optimization procedure in section  [ sec : iterativeseparate ] was applied separately to compute the set of uplink filters , given by a solution to ( [ upproblem ] ) , and the set of downlink filters , given by a solution to ( [ dproblem ] ) . here
we present a suboptimal iterative algorithm that computes all uplink / downlink precoders and filters simultaneously .
numerical results show that the performance of this algorithm is very close to that of separate uplink and downlink optimizations with practically relevant snrs .
let @xmath63 and @xmath64 denote the uplink precoders and receive filters as in section  [ sec : linearup ] , and let @xmath65 and @xmath66 denote the downlink precoders and receive filters .
taking linear filters as an example , we apply the following four steps in each iteration :    1 .
let each uplink @xmath67 be the downlink receiver @xmath68 , and set @xmath8\!=\!\rho$ ] .
2 .   compute @xmath69 .
3 .   let each downlink @xmath18 be the uplink receiver @xmath70 , and set @xmath71\!=\!\beta$ ] .
4 .   compute @xmath72 .
that is , we use the same update formulas as for the uplink and downlink optimizations discussed in section  [ sec : linearup ] , but constrain the precoders and receive filters at each terminal to be the same .
the uplink and downlink powers @xmath73 and @xmath74 are assumed to be given _
a priori_. this assumption is needed to prove the following convergence result , but will be relaxed in the next section .    for any fixed positive @xmath73 and @xmath74
, the precoders and filters @xmath75 computed according to the preceding iterative algorithm converge to a fixed point as the number of iterations goes to infinity .
we provide a positive potential function of the precoders and filters and show that this function decreases every iteration .
the uplink mse , normalized by @xmath73 , for user @xmath2 is @xmath76 and the downlink mse , normalized by @xmath74 , for user @xmath2 is @xmath77    we define the functions : @xmath78 and @xmath79 since @xmath80 and @xmath81 , it can be verified that @xmath82 for any given set of filters @xmath83 .
the convergence of @xmath84 ( or @xmath85 ) can then be verified by observing that @xmath84 ( or @xmath85 ) monotonically decreases with an update for any @xmath23 at the bts or any @xmath46 for a particular user , and it is lower bounded by zero . since in each step
the mapping from @xmath56 to @xmath57 or from @xmath86 to @xmath87 is unique , it is easy to show that the filters must converge to a fixed point .    with similar arguments this proposition can be extended to nonlinear filters and to interference networks with multiple users and multiple cells . in the case of interference networks
, the potential function can be chosen as the the sum of the achievable mse s plus the scaled norms of the precoders at all transmitters .    ideally , the parameters @xmath73 and @xmath74 are such that the transmit power constraints at the bts and mobiles are satisfied at convergence .
the values are of course unknown _ a priori_. a straightforward power scaling method is to normalize the precoders directly after each iteration so that the transmit power constraint is met .
this is analogous to the max - sinr algorithm proposed in @xcite for interference networks .
although we can not prove the convergence of the corresponding optimization algorithm , convergence has always been observed for numerical examples .
in fact the performance of this algorithm is very close to that of separate optimization of the uplink problem   and its downlink counterpart .
in this section , we assume the channels are unknown to the bts and mobiles _ a priori_. we propose a bi - directional training scheme for adapting the precoders at the mobiles and the filters at the bts with the goal of minimizing the uplink sum - mse .
this bi - directional training scheme can be implemented in a distributed manner .
specifically , estimates of ( [ eq : uplnfilter1 ] ) and ( [ eq : upnlnfilter1 ] ) can be obtained by training in the uplink , and estimates of ( [ eq : uplnfilter2 ] ) and ( [ eq : upnlnfilter2 ] ) can be obtained by training in the downlink . a similar scheme can be applied to the downlink ; since the uplink and downlink problems are similar , we focus on the uplink in this section .
we first observe the equivalence between iteratively computing ( [ eq : uplnfilter1])-([eq : uplnfilter2 ] ) and bi - directional _ optimization _ , in which the following steps are iterated , as illustrated in fig .
[ bidirectional ] :    1 .   _
forward optimization : _ fix the uplink precoders @xmath9 and select the receive filters @xmath57 to minimize the output mse .
backward optimization : _ reverse the direction of transmission , fix the downlink precoders at the bts as @xmath57 and select the receive filter @xmath9 to minimize the output mse subject to a norm constraint .    in the first step ,
the optimal linear receive filters are given by ( [ eq : uplnfilter1 ] ) .
in the second step , let @xmath71\!=\!\gamma$ ] , where @xmath88 is chosen such that the total downlink transmit power @xmath89 does not exceed the constraint .
by channel reciprocity , the signal received by user @xmath2 is given by ( [ eq : downrecsig ] ) with @xmath18 replaced by @xmath70 .
the mse , normalized by @xmath88 , with receive filter @xmath9 is then @xmath90    in the second step we wish to    [ dlmseproblem ] @xmath91    by constraining the norm of @xmath9 , we account for the uplink power constraint .
namely , the solution to problem ( [ dlmseproblem ] ) is given by @xmath92 where the lagrange multiplier @xmath93 is chosen to satisfy ( [ con : fullpowtraindown ] ) .
if there are multiple @xmath93 s that satisfy ( [ con : fullpowtraindown ] ) , then the one which minimizes ( [ downmse ] ) should be chosen . since
this solution is the same as in ( [ eq : uplnfilter2 ] ) , the previous iterative procedure for minimizing the lagrangian in ( [ lagrangian ] ) is equivalent to bi - directional optimization . note that with the constraint ( [ con : fullpowtraindown ] ) , the term @xmath94 in ( [ dlmse ] ) is a constant so that the solution to problem ( [ dlmseproblem ] ) does not depend on the noise level at user @xmath2 .
this is expected since problem ( [ upproblem ] ) is to minimize the uplink sum - mse and the solution should not depend on the noise level at the user side .    with unknown channels the mse optimization criterion
can be replaced by a least squares cost function given the transmitted pilot symbols . in the uplink
, we assume that the users _ synchronously _ transmit sequences of @xmath95 training symbols given by the matrix @xmath96 where @xmath97 $ ] and @xmath98 is the @xmath99 row vector containing the training symbols for user @xmath2 .
the received signal at the bts is then given by ( [ upsignal ] ) with @xmath100 .
the corresponding sequence of estimated symbols is @xmath101 where @xmath102 $ ] .
the receive filter is then chosen to minimize the cost function @xmath103 , and the solution is given by @xmath104    to estimate the uplink precoders , a similar training scheme can be applied on the downlink where the training symbols are passed through the precoders @xmath57 and superposed before transmission at the bts .
the received signal at user @xmath2 is then given by ( [ eq : downrecsig ] ) with @xmath105 and @xmath18 replaced by @xmath70 .
at each user , the cost function is given by @xmath106 where an additional norm constraint is added , and @xmath107 $ ] .
the solution is given by @xmath108 where @xmath29 is chosen to satisfy the norm constraint @xmath59 .
if multiple @xmath29 s satisfy the constraint , then the one which minimizes the cost function should be chosen .
we next present a bi - directional training scheme for implementing the updates ( [ eq : upnlnfilter1])([eq : upnlnfilter2 ] ) with nonlinear filters in the absence of channel information .
we assume a dfd in the uplink , and the analogous interference pre - compensation scheme for the downlink as illustrated in fig . [ backward_training ] .
downlink interference is pre - compensated in the _ reverse _ order as for the uplink , so that the effective downlink channel is triangular .
( that is , for the downlink user @xmath2 receives no interference from users @xmath109 , whereas for the uplink it receives no interference from users @xmath110 @xcite . ) as before ,
we first relate alternating optimization of ( [ eq : upnlnfilter1])-([eq : upnlnfilter2 ] ) to bi - directional optimization .
namely , fixing the uplink precoders @xmath56 , the optimal feedforward filters @xmath57 are given by ( [ eq : upnlnfilter1 ] ) .
to optimize the uplink precoders , consider downlink transmission with perfect interference pre - compensation using precoders @xmath57 at the bts , and with encoding order from user @xmath1 to user @xmath34 .
the received symbol at user @xmath2 can be written as ( [ eq : downrecsignln ] ) with @xmath111 . with receive filter @xmath9 ,
the mse ( normalized by @xmath88 ) at user @xmath2 is given by @xmath112 in analogy with the linear case we wish to    @xmath113    the solution to this problem is given by ( [ eq : upnlnfilter2 ] ) .
due to the constraint ( [ fullpow ] ) , the term @xmath114 in ( [ ipcmse ] ) is a constant so that the solution to this problem again does not depend on the noise level @xmath115 at user @xmath2 .    in the absence of csi ,
the previous iterative optimization can be implemented by iterating the following steps :        1 .   _ forward training : _ the @xmath1
users synchronously transmit uplink training symbols using the @xmath9 s as uplink precoders , and the bts optimizes the feedforward filters @xmath57 with perfect interference cancellation .
2 .   _ backward training : _ the bts transmits training symbols using @xmath57 as downlink precoders with perfect interference pre - compensation in the _ reverse _ user order as for the uplink .
user @xmath2 optimizes its receive filter @xmath9 subject to a norm constraint .
iterate steps 1 and 2 .
downlink interference pre - compensation can be achieved with dirty paper coding . however , this has high computational complexity . here
we will instead consider two alternative approaches for pre - compensating interference at the bts during the training phase : sequential training and tomlinson - harashima precoding ( thp ) @xcite .
thp for mimo channels is described in @xcite and can be used to pre - compensate downlink interference in a symbol - by - symbol manner .
specifically , the dfd used in the uplink can be reused as the precoders for thp .    as before ,
we replace the mse optimization criterion with a least squares criterion in adaptive mode . in the forward training step
the users synchronously transmit sequences of @xmath95 training symbols given by the matrix @xmath96 where @xmath116 $ ] and @xmath98 is the @xmath99 row vector containing the training symbols .
the received signal at the bts is then given by ( [ upsignal ] ) with @xmath100 . to obtain the feedforward and feedback receive filters for user @xmath2 , the known training symbols for users @xmath117
can be included in the least squares objective as proposed in @xcite .
the corresponding sequence of estimated symbols can be written as @xmath118 where @xmath102 $ ] , @xmath119 is a row vector of dimension @xmath120 that contains the nonzero elements of the @xmath2-th row of @xmath121 , and @xmath122^t$ ] .
the receive filters are then chosen to minimize the cost function @xmath123 , and the corresponding solution is given by @xmath124 we emphasize that in this way the filters are estimated _ directly _ , as opposed to estimating the channels first followed by computation of the filters .
we next describe two downlink training methods that can be used to estimate the uplink precoders , accounting for the interference cancellation at the bts .
_ sequential training : _ training of the receive filter at each user can be implemented by sequentially scheduling transmission of training symbols to the users in order @xmath31 . specifically , we layer the training sequences for user 1 , then add user 2 , then add user 3 , and so on , until user @xmath1 . to optimize the receiver filter at user @xmath2 , training symbols for users @xmath125
are therefore simultaneously transmitted with linear precoding filters @xmath126 so that the received signal vector at user @xmath2 is given by ( [ eq : downrecsignln ] ) with @xmath111 and @xmath127 ( using the notation defined in section [ sec : lineartrain ] ) . as for the linear case , user @xmath2 can estimate its receive filter @xmath9 by minimizing the least squares cost function @xmath106 and the corresponding solution is the same as in ( [ lsuser ] ) .
this sequential training method perfectly pre - compensates for interference .
however , a drawback is that when the filter for user @xmath2 is being estimated , the symbols corresponding to users @xmath117 are needed only to generate the appropriate interference ; they are not used to update the corresponding filters .
hence this method will generally require more training than the simultaneous training method described next .
_ training with thp : _ this method is illustrated in fig .
[ downlink ] , which shows the uplink dfd filters being used as the precoders for thp .
this can be viewed as moving the feedback part of the dfd in fig .
[ uplink ] to the transmitter with the slicer function replaced by a modulo operation , which depends on the signal constellation used for modulation ( see also @xcite ) .
because the estimates of the symbols in the uplink are biased , the dfd feedback filter must be modified to remove this bias when used in the thp - precoder . specifically , the feedback filter in the downlink precoder is the hermitian transpose of the matrix @xmath128 where @xmath129 and @xmath130 is the bias factor for estimating @xmath7 in ( [ dfesignal ] ) .
we now describe the interference pre - compensation for the downlink using the feedforward receive filters @xmath57 as precoders and @xmath9 ( the precoder for user @xmath2 in the uplink ) as the receiver filter at user @xmath2 . denoting the input to the thp encoder as @xmath131 ,
the output is then @xmath132 where @xmath133 denotes the modulo operation and @xmath134 denotes the corresponding offset due to the modulo operation , which depends on the current symbol @xmath131 , the previous encoded symbols @xmath135 , and the feedback matrix . in general , each real and imaginary part is an integer multiple of the maximum distance between two constellation points ( see @xcite ) .
the received symbol at user @xmath2 at the output of the receive filter is given by @xmath136 since @xmath137 and @xmath138 , the last summation in ( [ drecsignal ] ) is zero , i.e. , the interference to user @xmath2 generated by the users @xmath139 to @xmath1 can be completely removed , which means that user @xmath2 experiences interference only from users @xmath34 through @xmath41 .
the effective desired symbol is then @xmath140 .
we emphasize that thp in the downlink is implemented in the _ reverse _ user order as cancellation in the uplink . with the modulo operation ,
the power of the encoded symbols may increase relative to the original power ( prior to thp ) to a small extent , and the increment decreases as the constellation size increases @xcite . in ( [ drecsignal ] ) , since the powers of the effective training symbols and the residual interference are different from the corresponding powers in ( [ eq : downrecsignln ] ) ( with @xmath111 ) , training with thp in the downlink is an approximate approach to estimating ( [ eq : upnlnfilter2 ] ) .
the training symbols for the downlink for different users are precoded according to ( [ modoper ] ) , where the bias factor for @xmath141 can be estimated as @xmath142 and @xmath143 is given by ( [ estalpha ] ) once the uplink receive filters have been obtained .
the input to the feedforward filters @xmath23 s ( used as precoders ) at the bts is then given by ( [ modoper ] ) with @xmath16 replaced by the training symbol @xmath144 and @xmath145 replaced by @xmath146 .
taking the desired symbol in ( [ drecsignal ] ) as @xmath147 , the receiver filter is then obtained by minimizing the least squares cost function @xmath148 , where @xmath149 $ ] denotes the received signal vectors and each entry @xmath150 is given by ( [ eq : downrecsig ] ) with @xmath151 and @xmath111 .
the corresponding solution is given by @xmath152 where @xmath29 is chosen to satisfy the constraint @xmath59 .
this expression for @xmath9 depends on the offset @xmath134 , which is introduced at the bts , and therefore must be estimated at the receivers .
here we detect @xmath134 first before estimating @xmath9 . for downlink training
the detection can be based on the output of the filter @xmath9 ( uplink precoder ) , which from ( [ drecsignal ] ) is given by @xmath153 the estimate of @xmath134 can be obtained by slicing @xmath154 . since the points in the discrete set of possible @xmath134 s have a minimum distance that is greater than the maximum distance between constellation points in each real or imaginary dimension , we expect that the performance loss due to errors in detecting @xmath134 is small .
this is verified by the numerical examples in the next section .
5(a ) shows uplink sum rates versus snr achieved by different schemes in a single cell with @xmath155 users .
there are @xmath156 antennas at the bts and two antennas at each user @xmath157 .
the sum rate curve is obtained by choosing the filters @xmath9 s to maximize the achievable sum rate @xmath158 .
the other four curves show the performance of linear and nonlinear filters with 100 forward - backward iterations , and with only two iterations . in each iteration
an mmse update is performed , corresponding to an infinite amount of training .
equal transmit power is assumed for all the users and the curves are averaged over a thousand random channel realizations . for the nonlinear precoder , thp with quadrature phase - shift keying ( qpsk )
is used for downlink training .
the results show that with 100 forward - backward iterations , the sum rate with nonlinear filters is quite close to the uplink sum capacity , and is somewhat higher than with linear filters . with two iterations
the gap between linear and nonlinear filters increases , especially at high snrs .
hence nonlinear filters are more attractive when the number of forward - backward iterations is highly constrained .
5(b ) compares the sum rates achieved by limited and unlimited bi - directional training .
two forward - backward iterations are used and the training sequence for each user is a randomly generated qpsk sequence . with 20 training symbols per iteration , the performance is close to that with mse updates ( infinite amount of training ) .
this figure indicates that nonlinear filters still outperform linear filters with finite training .
however , the gap in sum rate for nonlinear filters with infinite and finite training is slightly larger compared to the analogous gap with linear filters .
5(c ) shows the effects of varying the number of training symbols on nonlinear filters , again with two iterations .
[ f : up_sum_rate_3nr ] shows the achievable sum rate in an overloaded system with @xmath159 receive antennas at the bts and @xmath155 users .
each iteration is an mmse update ( infinite training ) . with linear filters the sum rate saturates as the received snr increases since there are not enough degrees of freedom to null the interference .
however , with nonlinear filters the maximum degrees of freedom ( asymptotic slope of the sum rate ) of three can be achieved as the received snr increases .
the sum rate approaches the capacity upper bound as the number of forward - backward iterations increases .
( more forward - backward iterations are needed at high snrs to approach the sum capacity . ) with three receive antennas and linear filters , full degrees of freedom can also be achieved if the bts schedules transmissions from only three out of the four users .
the corresponding achievable sum rate is also included for comparison where the three users are scheduled randomly .
it is observed that nonlinear filters ( with four users scheduled ) still outperform linear filters over a wide range of snrs in this scenario .
however , at high snrs ( above 22 db ) the linear filters outperform the nonlinear filters , since the nonlinear filters require more iterations to reach the sum capacity .
antennas at the bts and @xmath160 antennas at each user .
the curves with nonlinear filtering correspond to @xmath155 users.,scaledwidth=50.0% ]      fig .
[ f : sum_rate_unified ] compares the uplink and downlink sum rates achieved by separately minimizing the mse for each with the corresponding rates achieved with simultaneous optimization , as described in section [ sec : uniapproach ] . for simultaneous optimization
the transmit power at each node is normalized to satisfy the power constraint in each forward - backward iteration .
while there are slight differences in the curves , simultaneous optimization performs essentially the same as separately optimizing the uplink or downlink precoders and receive filters .
therefore the simultaneous approach is preferable from the perspective of reducing the training overhead .
antennas at the bts , @xmath160 antennas at each user , and two forward - backward iterations.,scaledwidth=50.0% ]      it is straightforward to extend bi - directional training for linear and nonlinear filters discussed in section [ s : training ] to the scenario with multiple cells .
joint optimization of linear precoders and receivers in a cellular system has been considered in many references , including @xcite .
achieving the maximum degrees of freedom in the multiple - cell scenario requires interference alignment across cells , as discussed in @xcite .
that is , the other - cell interference lies in a subspace with lower dimension than the number of other - cell users .
a related bi - directional training method was presented in @xcite .    here
we apply a nonlinear dfd at each bts for the uplink to cancel the interference from intra - cell users , while mitigating inter - cell interference via the precoders and feedforward filters .
similarly , for the downlink we can apply thp as described in the preceding section to precompensate for the intra - cell interference while avoiding inter - cell interference .
the training procedures are the same as described in section [ sec : nonlinear ] , where the users across cells synchronously transmit on the uplink and the bts s synchronously transmit on the downlink .
the algorithms and results in sections [ sec : linearup][s : training ] can be easily extended to the multiple - cell scenario .
[ f : sum_rate ] shows uplink sum rate versus snr in a two - cell scenario with three antennas at each bts and two dual - antenna users in each cell .
all of the direct- and cross - channels are assumed to be of equal strength .
the necessary conditions for interference alignment presented in @xcite are satisfied with equality with these parameters . in this scenario ,
the inter - cell interference in each cell can be aligned in a one - dimensional subspace @xcite , so that two degrees of freedom can be achieved in each cell .
8(a ) compares sum rates for linear and nonlinear filters with different numbers of iterations . in the high - snr regime
there are substantial differences among the results with two , 100 , and 1000 forward - backward iterations , which indicates that it takes many more iterations for the precoders and filters to converge than for the single - cell scenario .
that is , fig .
5(a ) shows that for the single - cell scenario , the achievable sum rate with two iterations is comparable to that with 100 iterations . in fig .
8(b ) , the performance of finite bi - directional training is presented with two forward - backward iterations . for these results downlink training with nonlinear filters uses thp with qpsk . with 20 training symbols per iteration ,
the performance is close to that with mmse updates ( infinite training ) .
nonlinear filters give a noticeable gain over linear filters with either infinite or finite training over a wide range of snrs .
[ f : sum_rate_3users ] shows the achievable uplink sum rate with two cells , three users in each cell , and three antennas at each user . here
the necessary conditions for interference alignment in @xcite are not satisfied , so that interference alignment is not achievable . with linear filters the sum rate saturates as the snr increases irrespective of the number of forward - backward iterations . in contrast , with nonlinear filters the sum rate increases with snr given enough forward - backward iterations ( so that the filters can converge ) , and the maximum of two degrees of freedom per cell can be achieved .
( as in the last example , other - cell interference occupies a subspace of one dimension leaving two dimensions for the desired signals @xcite . )     users in each cell , @xmath159 antennas at each bts , and three antennas at each user.,scaledwidth=50.0% ]
a distributed iterative bi - directional training approach has been proposed for jointly optimizing the filters in base transceiver stations and user equipments in cellular systems .
the approach allows for a nonlinear decision feedback canceller in the uplink and a feedback precoder for downlink interference pre - cancellation . in the absence of channel state information
, the filters can be directly estimated by synchronously transmitting uplink pilots from all users and downlink pilots from all bts s .
downlink training may be nonlinearly precoded as well to enable simultaneous training of all user filters ( uplink precoders ) .
this adaptive scheme avoids the need to stagger pilots across cells , and to exchange channel estimates across users and btss .    with nonlinear filters
, it is observed that the uplink sum rate achieved by bi - directional training in a single cell approaches the sum capacity with increasing number of iterations .
although there are more parameters to be estimated compared to linear filters , with nonlinear filters finite training can significantly outperform linear filters with a limited number of forward - backward iterations .
furthermore , the nonlinear filters have been observed to achieve the available degrees of freedom even when interference alignment is infeasible with linear precoders and filters .
remaining open issues are how to trade off the number of iterations and the amount of training per iteration , and how to determine the optimum number of data - streams for each user if multiple data - streams are allowed .
the proof of convergence for the simultaneous approach to uplink / downlink filter optimization in which the filters are normalized at each step also remains open .
finally , an important issue in practice is how to combine such joint beamforming schemes with the scheduling of users across time - frequency resources .
it is enough to show that given any set of precoders @xmath56 , to achieve the minimum uplink sum mmse each user should transmit with full power .
denote @xmath161 $ ] , @xmath162 $ ] , and @xmath163 $ ] .
the covariance matrix for the mmse estimation error @xmath164 is given by @xmath165 taking the trace of both sides gives the sum mse @xmath166 where the @xmath167 s are the eigenvalues of @xmath168 .
assume that the transmit power of user @xmath2 is scaled up by @xmath169 , which implies the norm of the @xmath2-th column of @xmath170 is scaled by @xmath171 .
define the new channel matrix as @xmath172 $ ] .
denote @xmath173 as the @xmath2-th largest eigenvalue of @xmath174 .
since @xmath175 and the matrix @xmath176 is positive semidefinite , by ( * ? ? ?
* corollary 4.3.3 ) , we must have @xmath177 for each @xmath17 . hence increasing the power for any user must decrease the sum mse .
s.  shi , m.  schubert , and h.  boche , `` downlink mmse transceiver optimization for multiuser mimo systems : duality and sum - mse minimization , '' _ ieee trans .
signal process .
_ , vol .
55 , pp .  54365446 , nov .
2007 .              d.  j.  love , r.  w.  heath jr . , v.  k.  n.  lau , d.  gesbert , b.  d.  rao , and m.  andrews , `` an overview of limited feedback in wireless communication systems , '' _ ieee j.  select .
areas commun .
_ , vol .  26 , pp .
13411365 , oct .
d.  gesbert , s.  hanly , h.  huang , s.  shamai ( shitz ) , o.  simeone , and w.  yu , `` multi - cell mimo cooperative networks : a new look at interference , '' _ ieee j.  select .
areas commun .
_ , vol .  28 , pp .  13801408 , dec .  2010 .
m. f. hanif , le - nam tran , a. tolli , m. juntti , s. glisic , `` efficient solutions for weighted sum rate maximization in multicellular networks with channel uncertainties '' , _ ieee trans.signal process .
56595674 , nov . 2013 .
r.  osawa , h.  murata , k.  yamamoto , and s.  yoshida , `` performance of two - way channel estimation technique for multi - user distributed antenna systems with spatial precoding , '' in _ proc .
ieee vehicular technology conference fall _ , sep .
2009 .
h.  weingarten , y.  steinberg , and s.  shamai ( shitz ) , `` the capacity region of the gaussian multiple - input multiple - output broadcast channel , '' _ ieee trans .  inform .
theory _ , vol .
52 , pp .  39363964 , aug .
k.  s.  gomadam , v.  r.  cadambe , and s.  a.  jafar , `` a distributed numerical approach to interference alignment and applications to wireless interference networks , '' _ ieee trans .
theory _ , vol .
57 , pp .
33093322 , jun .  2011 .


the success of symplectic integration algorithms ( ) as tools for the numerical solution of hamiltonian systems illustrates the importance of numerical algorithms that inherit the fundamental physical constraints of the systems to which they are applied ( `` geometric integrators '' ) .
time - reversal symmetry plays a central role in physics ( e.g. , davies 1974 ) . to define reversibility formally and without reference to coordinates ,
let @xmath0 denote the state of the system governed by the differential equations = f(x ) .
[ eq : basicde ] let @xmath1 be an involution , i.e. an operator such that @xmath2 .
the system ( [ eq : basicde ] ) is @xmath1-reversible if @xmath1 reverses the direction of time , that is , if = -f(tx ) . in standard phase space @xmath3 and @xmath4 .
the trajectory of the system governed by the differential equations ( [ eq : basicde ] ) is defined by a map @xmath5 such that a system located at @xmath0 at time 0 is found at @xmath6 at time @xmath7 ; by definition @xmath8 .
then , @xmath1-reversibility implies that g_ttg_t = t tg_t = g_t^-1t = g_-tt .
reversible systems may or may not be hamiltonian .
however , the general features of motion in reversible and hamiltonian systems show many similarities , including the existence of families of kam tori ( e.g. , moser 1973 ; arnold 1984 ; roberts & quispel 1992 ) .
these considerations motivate us to examine reversible integration algorithms ( ) . a one - step numerical integration algorithm with timestep @xmath9 is defined by an operator @xmath10 that is intended to be a close approximation to @xmath11 , and the algorithm is an  if when it is applied to a reversible system _
note that in contrast to @xmath5 , @xmath12 is not necessarily equal to @xmath13 .
let us first briefly review ; for more detail see channell & scovel ( 1990 ) , yoshida ( 1993 ) , marsden et al .
( 1996 ) , and sanz - serna & calvo ( 1994 ) .
the standard example of a hamiltonian system is motion in a conservative potential ( this is also reversible ) . the hamiltonian is h(,)=^2+u ( ) [ eq : sepham ] and the equations of motion are = , = -u , or = -u .
[ eq : second ] the most popular  for such systems is the leapfrog or verlet algorithm ( e.g. , hockney & eastwood 1981 ) .
this is a map from the phase - space coordinates @xmath14 at time @xmath15 to coordinates @xmath16 at time @xmath17 , defined by =_n+h_n , _ n+1=_n - hu( ) , _ n+1=+h_n+1 .
leapfrog is an explicit second - order method ( i.e. the one - step error is o@xmath18 ) , but higher - order explicit  can be constructed by concatenating leapfrog steps of different sizes , including backwards steps .
leapfrog can be generalized to any separable hamiltonian of the form @xmath19 where each @xmath20 is integrable .    for general hamiltonians ,
can be constructed by two methods .
the first is based on expanding the scalar generating functions for the symplectic transformation @xmath21 in powers of @xmath9 ( kang 1986 ; channell & scovel 1990 ) .
the simplest example is the first - order _ n+1=_n+hh(_n,_n+1)_n+1 , _ n+1=_n - hh(_n,_n+1)_n , which is implicit in general but explicit for hamiltonians of the form ( [ eq : sepham ] ) .
the second approach is to construct symplectic implicit runge - kutta algorithms . for the differential equation ( [ eq : basicde ] )
, the @xmath22-stage runge - kutta method is defined by ( e.g. , ralston & rabinowitz 1978 ) k_i = f(x_n+h_j=1^sa_ijk_j),x_n+1=x_n+h_i=1^s b_jk_j .
[ eq : rkimp ] runge - kutta methods are symplectic if they satisfy a simple algebraic test ( sanz - serna & calvo 1994 ) b_ia_ij+b_ja_ji - b_ib_j=0 , 1i , j s. [ eq : criterion ] on setting @xmath23 in ( [ eq : criterion ] ) , it is evident that all symplectic runge - kutta methods are necessarily implicit .
the best known examples are the gauss - legendre runge - kutta methods ( e.g. , sanz - serna & calvo 1994 ) .
the simplest can be written x_n+1=x_n+hf , [ eq : midptt ] which is the second - order implicit midpoint method .
a symplectic fourth - order two - stage runge - kutta method is given by a_11=a_22= , a_12=- , a_21=+ , b_1=b_2=. [ eq : rk ] more generally , the gauss - legendre runge - kutta method is the unique @xmath22-stage method with order @xmath24 , and this method is always symplectic .
these attractive features are offset by the computational cost of solving the implicit equations ( [ eq : rkimp ] ) .
a limitation of  is that they are difficult to generalize to variable timesteps .
when a standard variable timestep prescription is applied to an , its performance is no better than that of non - symplectic integrators .
the reason is simply that the mapping @xmath25 is usually not symplectic even when @xmath26 is .
this is a serious problem , since most applications benefit from a variable timestep .
one way to introduce variable timestep is by extending the phase space ( mikkola 1997 ) .
suppose we wish to use a timestep @xmath27 .
we define an extended phase space @xmath28 by @xmath29 and @xmath30 , where @xmath7 is time and @xmath31 is energy .
we then define a new hamiltonian ( , ) = g ( , ) .
the equations of motion for the hamiltonian @xmath32 in the extended phase space with fictitious time @xmath33 are the same as the equations of motion for the hamiltonian @xmath34 in the original phase space , supplemented by the condition @xmath35 .
we may now integrate the hamiltonian @xmath32 using an  with fixed timestep @xmath36 , which corresponds to @xmath37 .
a limitation of this approach is that the hamiltonian @xmath32 is generally not separable , so that leapfrog and its generalizations can not be applied .
several well - known one - step second - order algorithms for the differential equation ( [ eq : basicde ] ) are : for example , the implicit midpoint method ( eq . [ eq : midptt ] ) , the trapezoidal method , x_n+1=x_n+h , [ eq : trapp ] and the explicit midpoint method , x_n+2=x_n+hf(x_n+1 ) .
[ eq : expmidpt ] some  are also  when they are applied to reversible hamiltonians .
leapfrog and its generalizations are reversible . a reversible version of leapfrog with variable timestep @xmath27 is given by ( huang & leimkuhler 1997 ; calvo et al . 1998 )
@xmath38 quinn et al . ( 1997 ) describe a closely related algorithm based on a discrete set of timesteps that depend only on @xmath39 or @xmath40 and are separated by factors of two .
a different approach to constructing  is to modify non - reversible integration algorithms .
for example , the following two operators are reversible even if @xmath10 is not : _
^ -1 t , ( 1+t_ht)^-1(1+_h ) ; if we write @xmath41 then both of these operators are equal to @xmath42 to first order in @xmath9 .
hut et al .
( 1997 ) describe numerical experiments with the second of these operators , calling it a `` time - symmetrization meta - algorithm '' since it can be applied to any one - step numerical integration algorithm .
reversible algorithms remain reversible with a variable timestep so long as the timestep is determined symmetrically by the location of the system at the start and end of the step , e.g. @xmath43 $ ] ( hut et al .
1995 ) .
special second - order differential equations of the form = f(x ) [ eq : fff ] are reversible , and so can profitably be integrated using .
a useful source of high - order  is linear multistep methods ( e.g. , henrici 1962 ; gear 1971 ; lambert 1973 ) , which have the form _ j=0^k ( a_k - jx_n - j - h^2b_k - jf_j)=0 , where @xmath44 , @xmath45 .
we may assume without loss of generality that @xmath46 .
the method is explicit if @xmath47 and otherwise implicit .
linear multisteps include the classic strmer ( explicit ) and cowell ( implicit ) methods , which are characterized by @xmath46 , @xmath48 , @xmath49 , and @xmath50 for @xmath51 .
it is easy to show that the requirement for reversibility is that @xmath52 and @xmath53 where @xmath54 ; thus the strmer and cowell methods are generally not reversible .
multistep  are discussed by lambert & watson ( 1976 ) , quinlan & tremaine ( 1990 ) , and fukushima ( 1998 , 1999 ) . in general , their performance over long time intervals on reversible dynamical systems is much better than strmer - cowell methods , although for occasional unfortunate choices of timestep their performance is ruined by timestep resonances ( quinlan 1999 ) .
systems of first - order differential equations such as ( [ eq : basicde ] ) can be integrated by linear multistep methods of the form _ j=0^k(_k - jx_n - j - h_k - jf_n - j)=0 , [ eq : basic ] where @xmath44 , @xmath55 .
we can assume without loss of generality that @xmath56 ; explicit methods have @xmath57 .
these include the classic adams - bashforth ( explicit ) and adams - moulton ( implicit ) methods , which have @xmath58 and @xmath59 for @xmath51 ( e.g. , henrici 1962 ; gear 1971 ) .
multistep methods for first - order differential equations are more general than multistep methods for special second - order equations , since any second - order equation can be written as a set of first - order equations . moreover , implementing variable timesteps is easy in first - order equations  if we wish to use a timestep @xmath60 we introduce a fictitious time @xmath33 by the relation @xmath61 , and equation ( [ eq : basicde ] ) can be rewritten as = g(x)f(x ) , which can be integrated using unit timestep in @xmath33 .
the aim of this paper is to investigate linear multistep  for first - order differential equations .
an important earlier investigation is that of cano & sanz - serna ( 1998 ) , who found that such methods typically possess grave numerical instabilities .
we review general linear multistep methods in  [ sec : intro ] , multistep  in  [ sec : reverse ] , together with their instabilities in  [ sec : zero ] .
we show in  [ sec : zmm ] that it is possible to construct some linear multistep  that are not subject to the cano & sanz - serna instabilities .
a general discussion of stable multistep  with up to 6 steps is given in
[ sec : onetwo ]   [ sec : fivesix ] . finally ,
[ sec : kep ] describes numerical examples based on integrating kepler orbits and  [ sec : disc ] discusses our results .
following henrici ( 1962 ) and lambert ( 1973 ) , we associate with ( [ eq : basic ] ) the linear operator l[x(t),h]=_j=0^k\{_k - jx[t+(k - j)h]- h_k - jx[t+(k - j)h]}. [ eq : linearoperator ] we can expand @xmath62 in a taylor series to obtain l[x(t),h]=_q=0^c_qh^qx^(q)(t ) , [ eq : tay ] where c_0=_l=0^k_l , c_q=1q!_l=0^k_ll^q - 1(q-1)!_l=0^k_ll^q-1,q=1,2,  the order @xmath63 of the multistep is the unique integer for which @xmath64 , @xmath65 .
the constant @xmath66 is known as the error constant and is a measure of the local truncation error .
now define the characteristic polynomials ( ) = _ j=0^k_j^j,()= _ j=0^k_j^j .
[ eq : poly ] if @xmath67 , then l[x(t),h]=e^t[(e^h)-h(e^h ) ] , which together with equation ( [ eq : tay ] ) implies ( 1+z)-(1+z)(1+z)=c_p+1z^p+1+(z^p+2 ) , [ eq : series ] where @xmath63 is the order and @xmath68 .
order @xmath69 requires ( 1)=_j=0^k_j=0 , [ eq : rhoone ] and order @xmath70 requires (1)=(1 ) .
[ eq : rel ] a multistep method is zero - stable if and only if the roots of @xmath71 lie inside the unit circle in the complex plane , or are on the unit circle and simple ( proofs of this are given by henrici 1962 , gear 1971 and lambert 1973 ) .
zero - stability ensures that the parasitic solutions generated by the additional roots of the difference equation ( which is of order @xmath72 , while the original differential equation ( [ eq : basicde ] ) has order one ) do not grow , at least in the limit of zero timestep .
we will discuss other forms of stability shortly in  [ sec : zero ] .
we assume that the polynomials @xmath71 and @xmath73 have no common roots other than 1 , for the following reason .
suppose that @xmath74 is a common root , so that @xmath75 is a common factor .
then @xmath76 , @xmath77 where @xmath78 and @xmath79 are polynomials of degree @xmath80 .
then equation ( [ eq : series ] ) may be written ( 1+z)-(1+z)(1+z)=c_p+11-_0z^p+1 + ( z^p+2 ) .
[ eq : seriesa ] thus @xmath81 define a @xmath82-step method with the same order and the same error constant ( @xmath83 $ ] ) as the original @xmath72-step method , and there is no obvious reason why the simpler method should not be used instead .
there are @xmath84 unknown coefficients in equation ( [ eq : basic ] ) ( since @xmath56 ) , and therefore in principle these coefficients can be chosen so that the order is @xmath85 ( or @xmath86 if the method is explicit , with @xmath57 ) . however , the maximum order of a zero - stable multistep method is @xmath87 if @xmath72 is odd and @xmath88 if @xmath72 is even ( henrici 1962 ) .
suppose that a trajectory @xmath89 , @xmath90 satisfies the difference equation ( [ eq : basic ] ) .
the same segment of the time - reversed trajectory is given by @xmath91 , @xmath92 , where @xmath1 is the time - reversal operator and @xmath93 .
we shall assume that @xmath94 and that @xmath95
. then @xmath4 and @xmath96 .
in an  the time - reversed trajectory should also satisfy the difference equation ( [ eq : basic ] ) , that is _ j=0^k(_k - jtx_n - k+j - h_k - jg_n - k+j)=0 . since @xmath97
, we may operate with @xmath1 to obtain _
j=0^k(_k - jx_n - k+j+h_k - jf_n - k+j)=0 , or , equivalently , _ j=0^k(_jx_n - j+h_jf_n - j)=0 .
[ eq : reverse ] if ( [ eq : reverse ] ) is to be satisfied whenever ( [ eq : basic ] ) is satisfied , then we must have _ k - j = c_j,_k - j =- c_j , [ eq : cond ] where @xmath98 is a constant .
applying this relation twice gives @xmath99 so @xmath54 . if @xmath100 , we shall say that the multistep method has even parity ; if @xmath101 , the parity is odd .
the characteristic polynomials ( [ eq : poly ] ) now satisfy ( ) = c^k(^-1 ) , ( ) = -c^k(^-1 ) [ eq : symm ] .
now let @xmath102 be the roots of @xmath71 .
equation ( [ eq : symm ] ) implies that if @xmath103 is a root then so is @xmath104 . for zero - stability
, the roots can not lie outside the unit circle  therefore they must lie on the unit circle , and moreover they must be simple . equation ( [ eq : rhoone ] ) guarantees that @xmath105 is a root for any method with order @xmath69 .
this root is simple if @xmath106 , and equation ( [ eq : rel ] ) then requires that @xmath107 for any method with order @xmath108 .
however , even - parity methods have @xmath109 .
therefore , even - parity methods are not zero - stable and we can restrict our attention to odd - parity methods , @xmath101 .    if the reversibility criterion ( [ eq : cond ] ) is satisfied , then l[x(t),h]=cl[x(t+kh),-h ] . using ( [ eq : tay ] ) and the taylor series expansion for @xmath110
, we may derive the constraint c_p = c_n=0^p(-1)^p - nk^nn!c_p - n .
we can re - write this equation as c_p[1-c(-1)^p]=_n=1^p(-1)^p - nk^nn!c_p - n .
if @xmath111 , then this equation implies that @xmath112 if @xmath113 and thus the order can not be @xmath114 . therefore ,
odd - parity methods have even order .
the stability of multistep methods for oscillatory problems can be parametrized by the interval of periodicity introduced by lambert & watson ( 1976 ) .
suppose the right - hand size of equation ( [ eq : basicde ] ) is @xmath115 , with @xmath116 real .
then , the multistep method ( [ eq : basic ] ) becomes a linear difference equation , with solution @xmath117 .
here , @xmath118 and @xmath119 are complex constants , the latter satisfying ( ) -ih()=0 g ( ) -i(e^i)(e^i)=h .
[ eq : period ] the interval of periodicity is the largest value of @xmath120 such that all of the roots of the first of equations ( [ eq : period ] ) lie on the unit circle . outside the interval of periodicity , the solution grows exponentially and hence is unstable . for reversible methods with odd parity , we may write g()=_j=0^k_j_j=0^k_j . if the multistep method is zero - stable , then @xmath71 has @xmath72 distinct roots on the unit circle . thus , @xmath121 has @xmath72 distinct roots on the interval @xmath122 $ ] .
for sufficiently small values of @xmath120 , the equation @xmath123 will still have @xmath72 roots . as @xmath120 is increased
, eventually a pair of these roots will disappear .
this occurs at the smallest local maximum of @xmath121 and marks the end of the interval of periodicity .
so , a plot of @xmath121 can be used to determine the interval of periodicity ( fukushima 1998 ) .
the growth of errors in multistep methods is discussed by henrici ( 1962 ) , gear ( 1971 ) and especially by cano & sanz - serna ( 1998 ) . for our purposes , a limited heuristic version of these analyses
is sufficient .
let @xmath124 be a solution of the multistep method ( [ eq : basic ] ) .
now perturb the solution to @xmath125 , @xmath126 . linearizing equation ( [ eq : basic ] )
, we have _ j=0^k(_k - j - h_k - jf_n - j)e_n - j=0 , [ eq : basica ] where @xmath127 .
now look for solutions of the form @xmath128 where @xmath129 is smooth and @xmath119 is a complex constant . in the limit @xmath130 , @xmath131 , where @xmath132 is the accurate solution of the differential equation ( [ eq : basicde ] ) and therefore is smooth .
then ( [ eq : basica ] ) becomes _ j=0^k^jy(t+jh)=0 , [ eq : basicb ] where @xmath133 .
now expand in a taylor series in @xmath9 . to order @xmath134 we have @xmath135 , which requires that @xmath119 is one of the roots @xmath102 of the polynomial @xmath136 . to order
@xmath9 we have = ( _ j=0^k_j^j _ j=0^kj_j^j)y(t ) fx(x(t))= ( x(t ) ) .
thus , as @xmath137 , the linearized difference equation ( [ eq : basica ] ) has solutions of the form e_n=_j=1^k a_j_j^ny_j(t_0+nh ) , where @xmath138 satisfies the differential equation = _
jf(x(t))xy_j(t ) , [ eq : lvar ] and the growth parameters are _ j=(_j)_j(_j),j=1,  ,k .
[ eq : growth ] this should be contrasted with the variational equation of the orbit itself . if the trajectory @xmath139 is perturbed to @xmath140 , @xmath141 , then = f(x(t))xe(t ) .
[ eq : var ] cano & sanz - serna ( 1998 ) point out that the variational equations ( [ eq : lvar ] ) and ( [ eq : var ] ) generally have quite different solutions , and hence the former can be unstable even if the latter is stable .
however , this instability can be evaded for special values of the growth parameters @xmath142 : for @xmath143 , equations ( [ eq : growth ] ) and ( [ eq : var ] ) are the same , for @xmath144 , equation ( [ eq : growth ] ) is simply the time - reversed version of equation ( [ eq : var ] ) , and for @xmath145 , the solution of equation ( [ eq : growth ] ) is simply @xmath146const .
we use the term `` zero - growth '' methods to denote multistep methods such that @xmath147 .
cano ( 1996 ) has shown that for the reversible planar kepler problem , these are the only possible choices for the growth parameters @xmath142 to ensure stability , although for other potentials this may not be the case .
multistep methods for integrating the special second - order equation @xmath148 ( lambert & watson 1976 ; quinlan & tremaine 1990 ) are not generally subject to this sort of instability , for the following reason .
the expansion of the analog to equation ( [ eq : basicb ] ) in this case yields @xmath135 to order @xmath134 and @xmath149 to order @xmath9 . satisfying these two equations simultaneously requires that @xmath119 is a double root of @xmath71 ; therefore there is no instability if all of the roots of @xmath71 are simple ( cano & sanz - serna 1998 ) .
in this section , all the zero - growth multistep algorithms with up to six steps are found .
let us begin with some general results for stable , odd - parity , multistep , specified by the characteristic polynomials @xmath71 and @xmath73 .
let @xmath102 be the roots of @xmath71 ; for zero - stable reversible methods , these are distinct , lie on the unit circle and are either real ( @xmath150 or @xmath151 ) or appear in complex - conjugate pairs . equation ( [ eq : rhoone ] )
implies that @xmath152 is always a root , which we denote @xmath153 .
therefore , @xmath151 is also a root if and only if the total number of roots @xmath72 is even ; when present , we denote this root as @xmath154 .
we normalize the multistep method so that @xmath56 and ( ) = _ j=1^k(-_j ) .
we now demand that the growth parameter associated with the root @xmath155 is @xmath156 ( note that @xmath157 by eq .
[ eq : rel ] ) . from equation ( [ eq : growth ] )
, this requires that ( _ l)=_l_l(_l)=_l_l_j = l(_l-_j ) .
[ eq : sigjj ] the unique polynomial of order @xmath72 that passes through the points ( [ eq : sigjj ] ) and satisfies the symmetry condition ( [ eq : symm ] ) is ( ) = _ l=1^k _ l(+_l)_j = l(-_j ) , [ eq : sigdef ] with @xmath158 when @xmath159 .
an alternative form is ( ) = ( ) _ l=1^k _ l+_l-_l .
[ eq : sigdefa ] note that if @xmath160 then @xmath155 is a root of both @xmath71 and @xmath73 . in this case , there is a zero - growth multistep  with the same order and error constant but fewer steps ( see  [ sec : intro ] ) .
therefore , we restrict our attention to methods with @xmath161 .    the method is explicit if @xmath162 , which in turn requires _
j=1^k _ j=0 , [ eq : www ] a condition that can only be satisfied if @xmath72 is even .    a @xmath72-step method is completely specified by the @xmath163-order polynomials @xmath71 , @xmath73 . in a stable multistep with @xmath72 even , the roots of @xmath71 are @xmath150 , @xmath151 , @xmath164 where @xmath165 , @xmath166 . for @xmath72 odd , the root at @xmath151 is not present and the index runs to @xmath167 . in a zero - growth method , the polynomial @xmath73
is determined by equation ( [ eq : sigdef ] ) once @xmath71 and the signs @xmath142 are specified .
we now discuss all stable , zero - growth , multistep of @xmath168 steps .
we label the interesting methods by sz@xmath72p where @xmath72 is the number of steps and `` p '' is an optional suffix that distinguishes different methods with the same @xmath72 .      since @xmath105 is always a root , for @xmath169 we must have @xmath170 .
since @xmath157 by equation ( [ eq : rel ] ) , the zero - growth requirement is automatically satisfied . equation ( [ eq : sigdef ] ) requires that @xmath171 , which yields the trapezoidal method ( eq . [ eq : trapp ] ) x_n+1=x_n+h(f_n+1+f_n ) ; [ eq : trap ] the first few terms of the taylor series ( [ eq : tay ] ) are c_0=0 , c_1=0 , c_2=0 , c_3=- ; thus the error constant is @xmath172 and the method is second - order . the function @xmath121 ( eq . [ eq : period ] ) is @xmath173 , so the interval of periodicity is infinite .
for @xmath174 the roots of @xmath71 can only be @xmath175 ( @xmath105 is always a root ; @xmath154 must be real since @xmath176 is also a root and there are only two roots ; @xmath154 must be on the unit circle and distinct from @xmath153 ; thus @xmath177 ) .
thus , the first characteristic polynomial is ( ) = ^2 - 1 .
there are two choices for the second characteristic polynomial @xmath73 , depending on @xmath178 : ( ) = 2,()=^2 + 1 .
[ eq : sigtwo ] the first of these gives the explicit midpoint method ( eq . [ eq : expmidpt ] ) , x_n+1=x_n-1 + 2hf_n .
[ eq : mid ] the first few terms of the taylor series ( [ eq : tay ] ) are c_0=0 , c_1=0 , c_2=0 , c_3= ; thus the error constant is @xmath179 and the method is second - order .
the function @xmath121 is @xmath180 so the interval of periodicity is @xmath181 . the second equation for @xmath73 in ( [ eq : sigtwo ] ) yields x_n+1=x_n-1+h(f_n+1+f_n-1 ) , [ eq : traptwo ] which is the same as the trapezoidal method ( [ eq : trap ] ) , with a timestep of @xmath182 .
all of these two - step methods are special cases of a one - parameter family of multistep , x_n+1=x_n-1+h[_0f_n+1 + 2(1-_0)f_n+_0f_n-1 ] .
[ eq : btwo ] the explicit midpoint method ( eq . [ eq : mid ] ) has @xmath183 and the trapezoidal method with timestep @xmath182 ( eq . [ eq : traptwo ] ) has @xmath184 . when @xmath185 , the method is simply the composition of two trapezoidal steps ( eq . [ eq : trap ] ) .
milne s method ( @xmath186 ) is the two - step method of maximum possible order ( @xmath187 ) , but its disadvantage is that its growth parameter @xmath188 and so it is susceptible to numerical instability .
the interval of periodicity @xmath189 for @xmath190 and infinity for @xmath191 . to compare these methods we have integrated a kepler orbit with unit semimajor axis and period @xmath192 for 100 time units using various eccentricities and timesteps ( fig .
[ fig : multi2 ] ) . even for timesteps as low as @xmath193 , the relative energy error @xmath194 , except near the zero - growth methods at @xmath195 .
in particular , the second - order zero - growth methods  even the explicit method at @xmath183  exhibit much better behavior than the fourth - order milne s method .      for @xmath196 ,
the distinct roots of @xmath119 can only be @xmath105 and @xmath197 where @xmath198 and @xmath199 .
thus , ( ) = ^3-(2u+1)^2+(2u+1)-1 .
there are two choices for @xmath73 .
the first choice is to take @xmath200 , so that we have ( ) = ^3-(+u)^2-(+u)+ .
the first few terms of the taylor series ( [ eq : tay ] ) are c_0=0 , c_1=0 , c_2=0 , c_3=-+u .
@xmath201 has no solution for @xmath198 so the method is second - order ; the interval of periodicity is infinite .
the second choice is to take @xmath202 so that we have ( ) = -^3+(-u)^2+(-u)- .
the first few terms of the taylor series ( [ eq : tay ] ) are c_0=0 , c_1=0 , c_2=0 , c_3=+u .
once again , @xmath201 has no solution for @xmath198 so the method is second - order .
the interval of periodicity ranges from @xmath203 as @xmath204 to 0 as @xmath205 .    for @xmath206 ,
the distinct roots of @xmath119 can only be @xmath105 , @xmath177 and @xmath207 where @xmath198 and @xmath199 .
thus , ( ) = ^4 - 2u^3 + 2u-1 .
there are four choices for @xmath73 : @xmath208 , @xmath209 . none of these yield methods of order @xmath210 for @xmath198 .
the three- and four - step methods have no obvious advantage over the trapezoidal or explicit midpoint methods , and we will not explore them further .      for @xmath211 ,
the distinct roots of @xmath119 are @xmath105 , @xmath212 and @xmath213 , where @xmath214 and @xmath215 .
there are three choices for @xmath73 : @xmath216 , or @xmath217 ( note that @xmath218 is not a distinct choice ) , with @xmath219 and @xmath220 .
the choices @xmath221 yield only second - order methods .
the choice @xmath222 yields a fourth - order method if u_2=1 + 11u_113-u_1 , u_1(-1,1 ) , u_2(-,1 ) .
[ eq : l5pm ] the integration formula is @xmath223 \qquad\qquad\hbox{method sz5}. \label{eq : s5pm}\end{aligned}\ ] ] the error constant is c = c_5(1)=17u_1 + 1031440(u_1 - 1 ) .    for @xmath224 ,
the distinct roots of @xmath119 are @xmath105 , @xmath177 , @xmath225 and @xmath226 , where @xmath214 and @xmath215 .
there are six choices for @xmath73 : @xmath227 or @xmath150 and @xmath228 , @xmath217 , with @xmath229 and @xmath230 .
the choices @xmath231 or @xmath217 yield only second - order methods .
the choice @xmath232 yields a fourth - order method if u_2=1 + 2u_14-u_1 , u_1(-1,1 ) , u_2(-,1 ) .
[ eq : l6ppm ] the error constant is c = c_5(1)=14+u_145(u_1 - 1 ) . the integration formula is @xmath233 \qquad\qquad \hbox{method sz6i } , \label{eq : s6ppm}\end{aligned}\ ] ] the label `` i '' stands for `` implicit '' .
the choice @xmath234 yields an explicit fourth - order method if u_2=7u_1 - 1u_1 + 5 , u_1(-,1 ) , u_2(-1,1 ) .
[ eq : l6mpm ] the error constant is c = c_5(1)=19 + 11u_1180(1-u_1 ) .
the integration formula is @xmath235\qquad\qquad \hbox{method sz6e}. \label{eq : s6mpm}\end{aligned}\ ] ] the intervals of periodicity for the three fourth - order methods are shown in figure [ fig : period ] .
these are largest for @xmath236 near @xmath151 and decrease rapidly for @xmath237 .
thus , only methods with negative @xmath236 are of practical use .
at best , the interval of periodicity is significantly smaller than that of comparable multistep  for special second - order equations ( lambert & watson 1976 ; quinlan & tremaine 1990 ; fukushima 1998 ) .
this is the price of the greater generality of the present methods .
this section supplements our theoretical analysis of multistep  with numerical experiments using the keplerian hamiltonian @xmath238 . the equations of motion are = v_x , = v_y , = -xr^3 , = -yr^3 , where @xmath239 and the gravitational constant @xmath240 and the attracting mass @xmath241 have been set to unity .
our test integrations follow an orbit with eccentricity @xmath242 , unit semi - major axis , and orbital period @xmath192 .
the orbit is started at apocenter on the @xmath0-axis , so the initial conditions are x=1+e , y=0 , v_x=0 , v_y=[(1-e)/(1+e)]^1/2 .
the interval of periodicity shown in figure [ fig : period ] gives the maximum stable timestep for the harmonic oscillator potential only .
it is of greater relevance to astronomers to establish the timesteps that can be safely used to integrate circular or mildly eccentric orbits in the kepler potential .
figure [ fig : periodkepler ] shows the largest timestep for which the relative energy error is less than @xmath243 after 100 orbital periods .
the results displayed are for circular orbits , but the curves for mildly eccentric orbits ( @xmath244 ) are almost indistinguishable .
a comparison between figures [ fig : period ] and [ fig : periodkepler ] reveals that the timestep needed for accurate integration of keplerian near - circular orbits is typically at least a factor of five smaller than would be naively inferred from the interval of periodicity .
figure [ fig : multi56 ] shows a further test of the multistep .
the standard kepler problem is integrated for 100 time units with timestep @xmath245 and eccentricities 0.2 and 0.5 .
a striking feature is that the error is almost independent of the parameter @xmath236 over a limited range , while outside this range the method is unstable .
the stable range shrinks as the eccentricity increases .
the dependence of energy error on timestep is explored in figure [ fig : hvar56 ] . in this figure , we have specialized to a single value of the parameter @xmath236 : @xmath246 for sz5 and sz6i and @xmath247 for sz6e .
all three methods display the expected dependence @xmath248 for @xmath249 . for larger values of @xmath9 ,
the methods are unstable .
we have also plotted the behavior of the classic fourth - order adams - bashforth ( explicit ) and adams - moulton ( implicit ) multistep methods .
the classic methods exhibit similar errors for @xmath249 but remain stable at much larger timesteps .
the advantage of the reversible multistep methods only becomes clear over longer time intervals .
figure [ fig : long56 ] shows that the maximum energy error in the reversible methods is constant at large times , while the energy error in the classical methods grows linearly .
variable timesteps are useful for eccentric kepler orbits . to incorporate these
, we introduce a fictitious time @xmath33 by the relation @xmath250 , so the equations of motion become = g(x , y)v_x , = g(x , y)v_y , = -g(x , y)xr^3 , = -g(x , y)yr^3 , = g(x , y ) .
[ eq : kepvar ] these are integrated using unit timestep in @xmath33 .
we typically use @xmath251 since this is the characteristic free - fall time from radius @xmath252 .
we parameterize the timestep by the number of force evaluations per unit time ( or per radian , since the orbital period is @xmath192 ) .
this is distinct from the number of steps per radian because implicit methods require several iterations per step , and because some explicit methods  though not multistep methods  require several force evaluations per step .
figure [ fig : trap ] shows the fractional energy errors resulting from integrating kepler orbits using the trapezoidal method ( eq . [ eq : trap ] , solid lines ) and explicit adaptive leapfrog ( eq . [ eq : calvo ] , dashed lines ) .
each step of the trapezoidal method was iterated to convergence , with the first approximation taken from the first - order euler method  typically 3 iterations were required at the smallest timesteps , rising to @xmath253 at the largest .
the energy errors are the maximum over 1000 time units or @xmath254 orbits .
the results for shorter integrations over 100 time units are almost indistinguishable , showing that there is no secular energy drift with either integration method .
adaptive leapfrog generally gives energy errors that are smaller by about an order of magnitude , mostly because it is explicit so there are fewer force evaluations per timestep .
we have conducted similar experiments with the explicit midpoint method ( eq . [ eq : mid ] , not shown in figure ) but this is much less successful at following high - eccentricity orbits , presumably because of its smaller interval of periodicity .
we next investigate the fourth - order multistep .
these have relatively small intervals of periodicity and can not reliably integrate high - eccentricity orbits .
however , they are successful at following orbits with moderate eccentricities .
figure [ fig : fourth ] shows the fractional energy errors resulting from integrating a kepler orbit with eccentricity @xmath255 using four methods : the explicit six - step method with @xmath256 ( method sz6e , eq . [ eq : s6mpm ] ) ; the implicit six - step method with @xmath257 ( method sz6i , eq .
[ eq : s6ppm ] ) ; the implicit five - step method with @xmath257 ( method sz5 , eq .
[ eq : s5pm ] ) . in all panels
, the heavy solid line is the error resulting from integrating the eccentric orbit with variable timestep , the light solid line is the error from integrating the same orbit with fixed timestep , and the dashed line is the error from integrating a circular orbit with fixed timestep . for large timesteps ,
the implicit methods do not converge and in this case no energy error is plotted .
for all four methods a variable timestep yields errors that are 12 orders of magnitude smaller than a fixed timestep ( at the same number of function evaluations per unit time ) .
the explicit multistep method performs much better than the implicit methods , in part because the implicit methods require 38 force evaluations per step to iterate to convergence .
however , even if the convergence of the implicit multistep methods could be achieved in 23 iterations they would not perform significantly better than the explicit method on this test .
a surprising result is that there is a range of the horizontal axis in which the multistep methods with variable timestep integrate eccentric orbits with smaller energy error than circular orbits .
toomre ( 1990 , private communication ) and quinlan ( 1999 ) showed that multistep  for the special second - order differential equation ( [ eq : fff ] ) suffer instabilities at unlucky timesteps at which there is a resonance between the oscillation frequencies of the solution and the method .
this phenomenon must also occur in the multistep  for first - order differential equations that are investigated here .
suppose the angular speed of the circular orbit given by the numerical method is @xmath116 .
if the number of steps in the multistep  is at least 5 ( or 6 for second - order differential equations ) , then there are two or more complex - conjugate pairs of roots of the characteristic polynomial ( [ eq : poly ] ) on the unit circle .
these we write as @xmath258 and @xmath259 .
quinlan ( 1999 ) shows that the troublesome timesteps @xmath9 satisfy _ i - _ j = 2h .
[ eq : gerry ] in practice these resonant instabilities are never a concern for our zero - growth multistep .
this is because the timesteps ( [ eq : gerry ] ) lie outside the interval of periodicity for nearly circular keplerian orbits .
let us demonstrate this by considering one example in more detail  namely , the 6-step implicit method sz6i defined by ( [ eq : l6ppm ] ) and ( [ eq : s6ppm ] ) .
this is the most susceptible to resonant instabilities of the zero - growth methods we have examined , both because it has the largest interval of periodicity and because , as @xmath260 , two of the spurious roots coalesce as @xmath261 .
we recall that there are five spurious roots on the unit circle , namely @xmath177 , and the two complex - conjugate pairs @xmath225 and @xmath262 , where @xmath215 . using ( [ eq : l6ppm ] ) , the angular separations between the spurious roots on the unit circle can be readily computed as a function of @xmath236 .
figure [ fig : final ] shows the locations of the potentially troublesome timesteps @xmath9 , together with the maximum possible timestep ( already presented in figure [ fig : periodkepler ] )
. the resonant instabilities always occur at timesteps that are outside the interval of periodicity for keplerian orbits .
similar results hold for the methods sz5 and sz6e .
the generic instabilities of multistep  for first - order differential equations identified by cano & sanz - serna ( 1998 ) are a grave problem and render many of these methods unusable .
the main contribution of this paper is the elaboration of a class of multistep   the zero - growth methods  that successfully evade the instabilities .
this select group includes two familiar second - order multisteps , namely the trapezoidal method ( [ eq : trap ] ) and the explicit midpoint method ( [ eq : mid ] ) , as well as entirely new multistep . in particular , we have identified three one - parameter families of zero - growth , fourth - order   namely , the five - step implicit method sz5 defined by equations ( [ eq : l5pm ] ) and ( [ eq : s5pm ] ) , the six - step implicit method sz6i defined by ( [ eq : l6ppm ] ) and ( [ eq : s6ppm ] ) , and the six - step explicit method sz6e defined by ( [ eq : l6mpm ] ) and ( [ eq : s6mpm ] ) . of these , the explicit method sz6e eliminates the need to iterate to convergence at each timestep without a major sacrifice in the interval of periodicity .
the stability of the zero - growth methods has been understood at a theoretical level and confirmed at a practical level by integrations of circular and eccentric keplerian orbits .
there are several advantages of multistep  for first - order differential equations over the multistep  for special second - order differential equations examined by lambert & watson ( 1976 ) , quinlan & tremaine ( 1990 ) , and fukushima ( 1998 , 1999 ) .
they permit the introduction of variable timesteps without spoiling reversibility or long - term energy conservation .
they are also more general , since any ordinary differential equations can always be reduced to a system of first - order equations ; thus , for example , the methods described here can be used to follow orbits in rotating frames of reference or the motions of rotating rigid bodies .
a third advantage is that they are less susceptible to timestep resonances .
the price paid for these attractive features is that ( i ) the interval of periodicity of the higher order methods such as sz5 , sz6i and sz6e is rather small , forcing the use of smaller timesteps than other methods ; ( ii ) more steps are needed for a method of given order ; there are no fourth - order methods with fewer than five steps and no fifth or sixth - order methods with 8 or fewer steps ( the limit of our explorations ) .
nonetheless , the six - step explicit method ( sz6e ) remains a competitive option for problems in which it is critical to have variable timesteps and to avoid irreversible numerical errors : examples include long - term integrations of asteroid or comet orbits , or orbits near the centers of galaxies .      1 .
are there zero - growth  with more than @xmath224 steps that have higher order or a larger interval of periodicity ?
we have explored all @xmath263 but have found no  of order greater than 4 .
gautschi ( 1961 ) developed a class of methods closely related to the linear multisteps .
just as a linear multistep is defined by the requirement that the operator ( [ eq : linearoperator ] ) annihilate all algebraic polynomials of order @xmath264 , so the gautschi multisteps annihilate certain trigonometric polynomials up to a given degree .
these methods are particularly appealing when the solution is known to be periodic and a reasonable estimate for the period of the orbit can be guessed in advance
requirements that are often satisfied in solar system integrations .
can we find reversible gautschi multisteps ?
integration methods are generally designed to maximize the order @xmath63 , defined so that the one - step error in following a system with characteristic frequency @xmath116 is proportional to @xmath265 .
perhaps it is more sensible to `` economize '' the error , by minimizing the maximum value of the error over a range of frequencies @xmath266 . in this case
the error would be nearly proportional to a chebyshev polynomial @xmath267 with argument @xmath268 and degree @xmath269 , instead of @xmath270 .
we are indebted to gerry quinlan for communicating his results on resonant instabilities in advance of publication .
this research was supported in part by nasa grant nag5 - 7310 .
nwe thanks both the canadian institute for theoretical astrophysics and the department of astrophysical sciences , princeton university for their hospitality during working visits .
his research is supported by the royal society .
hut , p. , funato , y. , kokubo , e. , makino , j. , & mcmillan , s. 1997 , in computational astrophysics : 12th kingston meeting on theoretical astrophysics , eds .
d. a. clarke & m. j. west ( san francisco : astronomical society of the pacific ) , 26