in this paper , we present a multirate method that is suited for integrating systems of ordinary differential equations ( odes ) which arise from step models describing nanostructure evolution . the strength of our method , in comparison to other existing multirate schemes , is its order of accuracy : our method is fourth order provided solutions are sufficiently smooth .
a multirate method is basically one that takes different step sizes for different components of the solution @xcite . when might such a need for different time steps arise ?
one situation where multirate methods may be more efficient than single rate ones is when a few of the components contain time singularities or are _ locally stiff_. in this case , ( explicit ) single rate methods are likely to use small time steps for all the components , whereas a multirate one uses small time steps just for singular / locally stiff ones .
we believe that this strategy significantly improves the efficiency of solution .
integration by our multirate method occurs in two stages .
we first use an `` outer '' integrator to handle the non - singular/ non - stiff components and then an `` inner '' integrator to handle the singular / stiff ones . to perform the second inner integration
, a small number of components from the outer solution must be interpolated .
the high order of accuracy of the multirate scheme relies on the interpolation being of a sufficiently high order .
one of our key results in this paper is that for a multirate method to be @xmath0 order , the interpolation must be @xmath1 order .
we demonstrate our method by using a fourth order runge - kutta method ( with error control ) for the inner and outer schemes and coupling them together with cubic interpolants .
multirate schemes were first studied by gear and wells  @xcite .
further treatments can be found in  @xcite , and the references therein .
however , considering the wide variety of methods which researchers have used to improve the performance and accuracy of integration codes , it is surprising to learn that multirate schemes have received only modest attention .
this is even more surprising , given that algorithms using somewhat similar concepts are well developed for the numerical solution of pdes  e.g. adaptive mesh refinement ( amr ) in the field of hyperbolic pdes  @xcite .
the applications of multirate methods seem mostly confined to @xmath2-body problems  @xcite , and equations arising from electrical networks  @xcite .
the work presented here is , as far as we are aware , the first instance of a multirate scheme applied to a problem in surface evolution .
our method is fairly similar to the one described in  @xcite , which is second order .
for example : we first advance and interpolate the slow components , and then integrate the fast components  this is the `` slowest first '' paradigm described in  @xcite .
we also automatically detect the fast components by looking at the error estimates produced using an embedded formula .
the main differences are that : ( i ) our method is fourth order in time for sufficiently smooth solutions and ( ii ) our method is most effective when applied to the types of odes that commonly arise in models of step surface evolution
. we will discuss ( ii ) in more detail later on in the paper , but for now we make the comment that a necessary but not sufficient condition for our method to work is that the ode system be locally coupled .
the strengths of our method are that automatic step size selection is simple to implement , and that there is a lower overhead cost because we do not have to interpolate all the slow components of the solution  this is one of the benefits of specializing to locally coupled systems .
the outline of this paper is as follows : in section [ sec : physical_motivation ] , we discuss why step models are studied and explain the physics behind the equations . in section [ sec02:governing ]
we present the step equations , and in section [ sec03:properties ] we describe features of the equations that require special attention . in section [ sec04:code ]
we give the details of the numerical method and in particular , we discuss the important issue of interpolation in section [ interpolation ] .
we validate our code and present our results in section [ sec05:implementation ] and summarize our findings with a conclusion in section [ sec61:discussion ] .
the surface dynamics of crystal structures has received much recent attention  @xcite because of its relevance to the fabrication of nano - scale electronic devices , such as quantum dots  @xcite . of interest to us here
is the behavior of _ vicinal _ surfaces below the roughening temperature @xmath3 . for
any given material , a surface forming a small angle with a high symmetry plane of the crystal is called vicinal .
the roughening temperature is the critical temperature below which steps become thermodynamically stable .
thus , a microscope image    of a surface below @xmath4 , with a slight miscut angle , appears as made from a series of terraces separated by steps of atomic height  see figure  [ fig : silicon ] for an example in silicon .
as the surface evolves , the steps move and change their shape , but the steps are well defined and have a lifetime that is long enough to be directly observable . when the temperature is increased above @xmath4 , a _
kosterlitz - thouless _ phase transition occurs  @xcite , and the surface becomes statistically rough  as characterized by the divergence of the height  height correlation function  @xcite . for many physical applications ( such as epitaxy ) the operating temperatures are below @xmath3 , and this mesoscale description of a surface in terms of steps and their evolution is very useful .
a step model can account for finite size effects occurring at the atomic scale , while remaining computationally simple  simulations with step models can be done over much longer time periods than , for example , with atomistic models of the surfaces .
the step s shape can , in general , be very complicated .
thus , quantitative descriptions for how steps interact with one another can be very difficult to derive , and a complete description of an arbitrarily shaped nanostructure in terms of its steps is currently not available . as a result , theoretical studies have been restricted to simple nanostructure geometries and step shapes .
the bcf model , proposed by burton , cabrera and frank  @xcite in 1951 , deals with a monotonic step train consisting of an infinite number of parallel steps  see figure  [ fig : geombcf ] . in this model ,
the steps edges are separated by atomically smooth terraces , and each step position is uniquely described by a single scalar quantity @xmath5  where the index @xmath6 labels the step . using this model , burton , cabrera and frank were able to describe the evolution of a ( 1 dimensional ) stepped surface , under non - equilibrium conditions , in terms of its steps .    in 1988 ,
rettori and villain @xcite considered a 2d array of circular mounds , and incorporated the effects of step line tension into the bcf model .
the nanostructures that they studied consist of a finite number of concentric circular layers , in a `` wedding cake '' configuration  see figure  [ fig : wedcake ] .
this step system can also be used to describe the `` healing '' of small circular pits @xcite produced by scanning tunneling microscopes .
the    radius of each layer @xmath7 is assumed to be a continuous function of time .
physical considerations then lead to a set of locally coupled odes for the radii .
similar sets of equations can be found in @xcite .
there are two main competing physical processes that take place on a stepped surface , in the absence of evaporation and desorption .
the first one is the diffusion of adsorbed atoms ( `` adatoms '' ) across terraces , which is characterized by a diffusivity @xmath8 .
the second one is the attachment - detachment of adatoms at step edges , which is characterized by the kinetic coefficients @xmath9 and
@xmath10  see figure  [ fig : tranprostepsurf ] .
experimental evidence  @xcite suggests that , for some materials , attachment from the terrace above requires overcoming a higher activation energy barrier than attachment from the terrace below , so that @xmath11 .
however , in this paper we consider only @xmath12 , and disregard this ( possible ) asymmetry in the step attachment - detachment  known in the literature as an ehrlich - schwoebel ( es ) barrier  @xcite .
furthermore , we neglect the diffusion of adsorbed vacancies and the diffusion of adatoms along step edges @xcite .
in this section , we present the ( non - dimensional ) evolution equations for a finite axisymmetric nanostructure with @xmath13 steps , relaxing in the absence of deposition and evaporation  see figure  [ fig : wedcake ] .
derivations of these equations can be found in @xcite .
every step in the structure is subject to two physical effects that drive its motion .
the first is a _ step - line tension _ , arising from a gibbs - thomson mechanism  @xcite .
an isolated , circular step of radius @xmath14 , on top of an infinite substrate , initially devoid of adatoms , reduces its perimeter ( and hence its radius ) by emitting adatoms at a rate proportional to its curvature  @xcite  i.e. @xmath15 .
the second effect is a _ repulsive interaction with neighboring steps _ , characterized by a potential function that is inversely proportional to the square of the distance between the steps  @xcite .
steps in the bulk of the structure ( with a smaller curvature ) tend to be less affected by the step - line tension compared to steps near the top .
let @xmath16 @xmath17 be the positions of the steps  numbered starting from the top of the nanostructure .
thus @xmath18 , with @xmath19 the radius of the innermost step and @xmath20 the radius of the outermost step .
define @xmath21 , @xmath22 , and @xmath23 , by : @xmath24{4.6in}{{${\displaystyle \left .
\begin{array}{lclcl }       \lambda_1 & = & \lambda(\rho_{1 } , \rho_{2})\/,\\       \lambda_n & = & \lambda(\rho_{n-1 } , \rho_{n } ) +                       \lambda(\rho_{n } , \rho_{n+1})\/ ,                       \quad \mbox{for } \;\ ; 2 \leq n \leq n-1\/,\\       \lambda_n & = & \lambda(\rho_{n-1 } , \rho_{n})\/ ,    \end{array } \ ; \right\}\/$}}}\ ] ] @xmath25{4.6in}{{${\displaystyle        \hspace*{0.50 in } \mbox{where } \quad       \lambda(\rho_i , \rho_j ) = \frac{2\,\rho_i}{\rho_i+\rho_j}\ ,       \frac{1}{(\rho_i-\rho_j)^3 } + \frac{1}{\rho_j}\ ,       \left(\frac{\rho_i}{\rho_i^2-\rho_j^2}\right)^2\,,}\/$}}\ ] ] @xmath26 @xmath27 where @xmath28 , @xmath29 , and @xmath30 ( as well as @xmath31 below ) are non - dimensional constants . then the step - flow equations are @xmath32 the non - dimensional constants are as follows :    * the parameter @xmath33 measures the strength of the step - step interactions relative to the strength of the step line tension .
it is given by @xmath34 where @xmath35 is the step - step interaction coefficient  @xcite , @xmath36 is the step stiffness  @xcite , @xmath37 is the height of a single step , and @xmath38 is a typical value for the radii  for example , it could be the initial radius of the final step in the structure . _
we note that , in many experimental situations , @xmath39_. * the parameters @xmath40 are given by @xmath41 where @xmath42 is the adatom attachment - detachment coefficient at a step , and @xmath43 is the adatom terrace diffusivity .
the ratio @xmath44 where @xmath45 and @xmath46 is a typical terrace width , measures the competition between diffusion and attachment - detachment  see equation ( [ eqn : sec20:deltan ] ) .
* the dimensionless parameter @xmath31 is given by @xmath47 where @xmath48 is the atomic area , @xmath49 is the boltzmann constant , @xmath50 is the absolute temperature , @xmath51 is the equilibrium density of adatoms at a straight , isolated , step and @xmath52 is a typical bulk step velocity .
we note that , of the physical parameters involved in the definitions of the non - dimensional constants above , some  such as the terrace diffusivity @xmath43 , have been extensively tabulated @xcite , while others  such as @xmath51 and @xmath52 , can be inferred from experiments @xcite .
however , for the purposes of simulation , we can take @xmath53 without loss of generality , by an appropriate rescaling of the step radii and time
.    equations ( [ eqn : sec20:eqnrho1 ] )  ( [ eqn : sec20:eqnrhon ] ) constitute a pentadiagonal system , of the form @xmath54 where all the @xmath55 have the same functional form , with the exception of @xmath56 , @xmath57 , @xmath58 , and @xmath59  which govern the behavior of the first and final two steps .
notice that if @xmath60 denotes the common rate function for the bulk of the steps ( @xmath61 ) , then @xmath62 in this paper , we present a multirate method for integrating the equations ( [ eqn : sec20:eqnrho1 ] )  ( [ eqn : sec20:eqnrhon ] ) , when @xmath63 . however , we believe that the method presented here should be applicable to _ general sets _ of locally coupled odes , which are _ locally stiff _ ( see section [ local ] ) .
in fact , our multirate method was designed to specifically tackle this problem .
let us now turn our attention to the difficulties that arise when solving equations ( [ eqn : sec20:eqnrho1 ] )  ( [ eqn : sec20:eqnrhon ] ) numerically .
the axisymmetric step - flow equations possess a number of peculiar properties which pose problems for standard integrators  hence the need for a multirate algorithm .
for example , the singular collapse of the innermost step and stiffness , localized to only a few of the components , are two ( different ) situations under which a standard integrator is forced to use small time steps . in these cases ,
a single rate method uses small time steps for all components .
in contrast , a multirate method will use small time steps only when it has to , so that most of the components are integrated with a large time step .
this strategy improves the efficiency of the integration .
the singular collapse of the innermost step causes a loss in accuracy for most high order integrators near the point of collapse .
hence , we implement a low - order simple euler routine for the innermost step and its neighbors . away from the singular step ,
we implement a fourth order multirate method with error control , which is able to efficiently integrate locally stiff components .      equations ( [ eqn : sec20:eqnrho1 ] )  ( [ eqn : sec20:eqnrhon ] ) have the property that @xmath64 in a finite time .
the top step always undergoes a monotonic collapse because its radius always decreases under the effect of step - line tension . as the top step shrinks
, it emits adatoms , causing the radii of the second and subsequent steps to grow as these are absorbed .
when the top step completely disappears , the number of layers in the structure is reduced by one . as a result of the sequential collapse of top steps , a macroscopically flat region called a facet forms and grows on the top of the structure .
provided that the collapse of the top steps is tracked accurately , and the topmost @xmath65 is removed at each collapse , the growth of the facet is automatically accounted for .
when the first collapse occurs , @xmath66 , @xmath67 , @xmath68 and @xmath69 replace @xmath70 , @xmath68 , @xmath71 and @xmath72 in ( [ eqn : sec20:eqnrho1 ] ) , and ( [ eqn : sec20:eqnrhon ] ) applies when @xmath73 . a similar replacement occurs for the second and subsequent collapses . in this way ,
a given index tracks always the same step throughout the integration .
let @xmath74 be the collapse time for @xmath19
. then it can be shown  @xcite that as @xmath75 , @xmath76 for some constants @xmath77 and @xmath78 .
the square root behavior in ( [ square_root ] ) comes from the fact that the leading order behavior for @xmath79 in equation ( [ eqn : sec20:eqnrho1 ] ) stems from a line tension : @xmath80 .
thus the derivatives of @xmath19 are divergent at the time of collapse .
since ( [ eqn : sec20:eqnrho1 ] )  ( [ eqn : sec20:eqnrhon ] ) is a locally coupled set of equations , we also expect @xmath81 , for @xmath82 , to be singular but for the solutions to become more regular near @xmath83 as @xmath84 becomes larger .
since the accuracy of high order integrators usually relies on the solution having enough bounded derivatives , this means that standard high order solvers will lose accuracy near the time of collapse .
for example , consider a method with truncation error @xmath85 for smooth solutions @xmath86 , and time step @xmath87 .
let @xmath88 be a time @xmath89 steps away from @xmath83 , so that @xmath90 .
then , given the square root singularity in ( [ square_root ] ) , the error near @xmath83 will be increased to @xmath91 furthermore , consider the issue of automatic time step selection in an adaptive integration code .
this is usually done by estimating the local truncation error , and updating the time step size with a formula for the truncation error that assumes a smooth solution .
for example , consider a runge - kutta scheme using an embedded higher order formula to estimate the local truncation error .
such an algorithm updates the time step size using a formula like @xcite @xmath92 where @xmath93 is the order of the integrator .
equation ( [ stepsizecontrol ] ) is invalid near a time singularity , because from ( [ eq100 ] ) , the error near @xmath83 does not scale as @xmath94 .
the resulting behavior is somewhat unpredictable : an adaptive integrator may take a very large number of tiny steps  rendering it very inefficient  or it may simply abort , stating that the specified error tolerance is not achievable .
the aim of this subsection is to attempt to quantify the classes of systems for which the approach in this paper is effective . before explaining what we mean by local stiffness , we first introduce some notation . for @xmath95 ,
let @xmath96 be the solution of the ode system for some initial condition @xmath97 .
for some integer @xmath98 , let @xmath99 be the solution with initial condition @xmath100 , where @xmath101 is the kronecker delta , and @xmath102 is small .
finally , let @xmath103 and @xmath104 .
we say that the @xmath105 component of the ode system is _ strongly local _ if ( i ) the system is locally coupled and ( ii ) given any @xmath106 , for all @xmath107 , there exists an integer @xmath108 independent of @xmath107 such that for @xmath109 , @xmath110 .
if every component is strongly local , we say that the ode _ system _ is strongly local .
therefore , a system is strongly local if a small perturbation to any one of its components remains localized in component number .
now we explain local stiffness .
recall that an ode is stiff when the ratio of the slowest and fastest time scales is much greater than one .
the simplest example of this is a situation where the solution of interest is strongly stable , so that small perturbations decay very rapidly , relative to the principal time scale of evolution .
now consider again the perturbation described in the previous paragraph .
we say that the @xmath105 component of an ode system is _ locally stiff _ if ( i ) it is strongly local and ( ii ) @xmath111 rapidly in time , relative to the principal time scale of evolution .
hence , the @xmath105 component of the solution is locally stiff if a perturbation to it remains localized in component number _ and _ decays rapidly in time .
if every component is locally stiff , the the solution is globally stiff .    once strong
locality has been established in an ode system , individual solution _ components _ can be designated as either being ( locally ) stiff or non - stiff .
for the rest of this paper , when we refer to `` stiff components '' of the solution , we mean that the components are locally stiff .
a `` non - stiff component '' is one that evolves on a time scale comparable to the principal time scale . with this in mind
, we can design multirate strategies that handle stiff and non - stiff components separately .
for example , we expect to be able to integrate all non - stiff components with large time steps using explicit solvers .
if the number of stiff components is relatively small , we can use the same explicit method on the stiff components also , but with much smaller time steps because of stability constraints .
if on the other hand the number of stiff components is fairly large , we should resort to a fully implicit stiff solver . at this point
it is worth comparing our approach with other work in the literature dealing with problems involving disparate time scales .
gear and kevrikidis  @xcite propose their `` projective integration '' method to deal with situations where there is a _ gap _ in the spectrum of time scales : the main evolution of a ( stable ) solution occurs slowly , with perturbations decaying much more quickly . for a linear problem , this corresponds to a situation where the eigenvalues can be separated into two groups : one set of moderate sized eigenvalues , and another set with large negative real parts .
projective integration requires two ode solvers : an `` inner '' and an `` outer '' integrator .
the idea is to take many small steps using the inner solver  so that the fast modes are damped out , followed by a large _ projective _ step with the outer integrator .
the process is then repeated .
this method ( which is not multirate ) is well - suited to handling problems where many , or all , of the solution components are rapidly attracted to a slowly varying manifold . note that there is no notion of `` locality '' in this approach : the fast modes can potentially be coupled with all the slow ones .
our multirate method also involves an `` inner '' and an `` outer '' integrator . as discussed above
, the property of local stiffness means that a certain subset of the solution components have much stronger stability than the others .
these stiff components are handled by an `` inner '' integrator while the non - stiff ones are taken care of using an `` outer '' solver .
however , in contrast to the work of gear and kevrikidis , our method is more suited to systems where a small fraction of the components is stiff at any time during the integration . in fact , in terms of the ode s evolution in time , one can think of projective integration as using the inner / outer integrators in `` series '' , whereas our multirate method uses them in `` parallel '' .      we will now show that @xmath112 , the radius of a bulk step , in ( [ eqn : sec20:eqnrhon ] ) is strongly local provided @xmath113 and hence , away from the facet and the substrate , any stiffness that arises is localized . for a bulk step ,
the physical origin of the rapid decay comes from the nature of step interactions in equation ( [ eqn : sec20:lambda ] ) .
steps strongly repel each other when they get too close together .
consider a configuration where some of the steps in the bulk are tightly bunched together , and most of the other steps are widely spaced apart . in this case , a step strictly ( two steps away , at least , from the edge ) inside a bunch is strongly stable , and hence stiff , because small perturbations in its trajectory are opposed by strong interactions from the neighboring steps .
on the other hand , widely spaced steps do not experience such large forces , and respond to perturbations on much slower time scales .
it turns out that these `` step bunching '' configurations are quite common in practice and are produced by the natural time evolution of the system .
in fact , the step bunching instability  @xcite is a well - studied phenomenon in epitaxial growth , with applications in quantum dot technology  @xcite and nanolithography  @xcite .    to analyze the decay of solutions
, the direct approach would be to compute the jacobian matrix and analyze its eigenspectrum .
unfortunately , while the jacobian for the system in ( [ eqn : sec20:eqnrho1 ] )  ( [ eqn : sec20:eqnrhon ] ) can be computed analytically by linearizing at any fixed set of radii @xmath114 , the expressions involved are very complicated , and do not give much insight as to why the equations should be stiff .
instead , we present below a less rigorous calculation , which allows us to relate the degree of local stiffness to the step spacing . our approach is based on the fact that the number of equations , @xmath2 , is generally rather large , and that the solutions of interest have a step spacing that is , piecewise , nearly constant . by this
we mean that the step spacing @xmath115 changes slowly with @xmath116 , except for a few places where it may change abruptly  the effect of these changes is much harder to analyze , and our method of attack ignores them since it is only valid far away from these rapid transition regions .
however , the results of our numerical calculations indicate that their presence does not invalidate our analysis .
we begin by considering a configuration of steps which has a nearly constant step spacing , and expand the solution in the form @xmath117 + @xmath118 , where @xmath119 is a constant , @xmath120 is the ( constant ) leading order step spacing and @xmath121 . substituting this expression into the step flow equations , and ignoring the equations for the boundary steps ( corresponding to @xmath122 and @xmath123 ) , results in the following leading order equation for the perturbation @xmath124 @xmath125 where @xmath126 is the discrete laplacian : @xmath127 . to show that equation  ( [ conststepspacingpert ] ) has the property of strong locality
, we consider the solution to the problem with the initial condition @xmath128 , given by @xmath129 with @xmath130 .
when @xmath131 , @xmath132 exponentially because the integrand in ( [ conststepspacingiv ] ) is @xmath133-periodic .
hence the delta function initial condition remains localized for all @xmath107 . also , note that equation  ( [ conststepspacingpert ] ) has free normal modes given by @xmath134 and @xmath135 is the wave - number .
it follows that the time scales behave like the fourth power of the step spacing .
hence , widely spaced steps evolve on a slow time scale whereas step bunches , which consist of sets of tightly packed steps , give rise to fast time scales and local stiffness .
the goal of our method is to efficiently solve a system of locally coupled odes where only a few of the components are stiff .
a standard explicit integrator would take small time steps for all components of the solution .
in contrast , our multirate method takes large steps for the non - stiff components , and small steps for the stiff ones .
the algorithm starts by taking an explicit , global time step , say : from @xmath136 to @xmath137 .
an embedded formula is then used to obtain an estimate of the local truncation error ( lte ) for each component of the solution . in general
, some of the ltes will be unacceptably large ( because the associated solution components are stiff ) , while others will have acceptable sizes .
the algorithm checks if the components with acceptable ltes satisfy the preset tolerance levels .
if they do not , the step size is reduced and another global time step is attempted . if they do , a second round of integration is performed to correct the components with large ltes .
hence , the algorithm is as follows :       * take a step from @xmath138 to @xmath139 .
* let @xmath140 be the lte for the @xmath141-th component , let @xmath142 be the @xmath143 percentile of all the ltes , and let @xmath144 be the required error tolerance for @xmath84-th component .
for example , if @xmath145 , then @xmath146 of the errors are larger than @xmath147 . if @xmath148 , @xmath147 is the median .
* for some real number @xmath42 , flag all the components whose ltes are greater than @xmath149 ( our code uses @xmath150 ) as being possibly stiff .
* check if the unflagged solution components satisfy the tolerance requirements , i.e. @xmath151 where @xmath152 is taken over all unflagged components only . *
* * if they do , the step is successful .
the step size is increased using the formula ( [ stepsizecontrol ] ) with @xmath153 as the ratio of errors .
* * perform a second integration to correct the flagged components ( see figure [ fig4 ] ) . * * increase the step size according to formula ( [ stepsizecontrol ] ) .
increase @xmath154 and go back to step 1 . * * * if they do not , the step is not successful .
reduce the step size according to ( [ stepsizecontrol ] ) with @xmath155 as the ratio of errors .
* * do not increase @xmath154 and go back to step 1 .
[ algorithm2 ]    the second integration is basically done only for the stiff components , and it involves many small sub - steps within the interval @xmath156}\/$ ] to ensure stability .
although this second round of integration takes a large number of steps , it only needs to be done for a small subset of the solution components .    to perform the second integration ,
values for the non - stiff components at all times @xmath157 along the boundaries of any stiff set of steps are needed  see figure [ fig4 ] .
for example , in the case of a pentadiagonal system , the values of two non - stiff components are needed on each side of a stiff region .
one way to generate dense output from the non - stiff components , between @xmath158 and @xmath159 , is through interpolation . in this paper
we use cubic interpolatants which are generated by using the intermediate stage function evaluations in a runge - kutta method . in section [ interpolation ] , we give more details on the construction of these interpolants and demonstrate that cubic interpolation is consistent with a multirate method that is globally fourth order .
once solution components have been flagged as requiring re - integration , the local coupling means that some of the non - stiff components may also have to be re - integrated . because ( [ eqn : sec20:eqnrho1 ] )  ( [ eqn : sec20:eqnrhon ] ) is a pentadiagonal system of equations , if only @xmath160 and @xmath161 are stiff components with large ltes , then all three of the components @xmath162 and @xmath161 must be re - integrated as a set , using the dense output from @xmath163 , @xmath164 , @xmath165 and @xmath166 as ` boundary conditions ' .
hence , the algorithm is slightly wasteful in that although @xmath167 was deemed accurate enough , it still had to be integrated for a second time .
note that our algorithm uses the lte in a different way from conventional embedded rk methods : instead of immediately scaling the time step if the smallest lte is greater than the tolerance level , we make a note of _ which _ components had the largest ltes by analyzing their distribution : it might not be efficient to retake the time step for every component , if only a few of them are inaccurate .
the largest ltes ( in the sense of being larger than @xmath168 in algorithm [ algorithm2 ] ) are discarded , and then the time step scaled according to the largest of the remaining errors .
hence , we get a larger time step for a majority of the solution components , and the way that this time step is adjusted throughout the course of the integration is not affected by the presence of a few either rapidly varying or stiff components .    for the rest of this paper , we will call the first time stepper @xmath169 ( used to generate the ltes in the first place ) , and the second time stepper @xmath170 ( used to re - integate stiff components with large ltes ) . in general ,
@xmath169 and @xmath170 do not have to be the same method , or of the same order , but @xmath169 has to be able to generate estimates of the local truncation error . in our code , @xmath169 is a cash - karp runge - kutta formula @xcite and @xmath170 depends on the solution component : if the re - integration involves the innermost step ( see section [ treatment ] ) , we take @xmath170 to be a simple - euler routine which adjusts its step size by step doubling ; otherwise @xmath171 . in other words , there are two possibilities which can arise when performing the re - integration with @xmath170 :    1 .
the re - integration involves solution components which include the innermost step . in the following analysis
, we will assume this is @xmath70 .
[ case1 ] 2 .
the re - integration does not involve the innermost step .
[ case2 ]    the reason to distinguish between these two cases is that ( [ case1 ] ) will involve integration of singular trajectories ( see equation ( [ square_root ] ) ) , but in general , ( [ case2 ] ) will not . using step doubling in ( [ case1 ] ) is a fairly crude way of adjusting the time step .
however , resorting to an embedded formula is not possible when ( [ stepsizecontrol ] ) breaks down , so using step doubling to monitor the quality of the solution is reasonable in this case .      from equation ( [ square_root ] )
, we have seen that @xmath172 in a singular fashion , causing problems for standard high order integrators .
our treatment uses a simple euler method whenever the re - integration of @xmath70 and neighboring singular components is involved : this is `` optimal '' in the sense that simple euler produces results that have the same accuracy as higher order methods ( due to the singular nature of @xmath70 ) but is computationally cheaper .
furthermore , we are able to extract the time of collapse , @xmath173 , using linear interpolation , which is consistent with simple euler s order of accuracy .
our method involves solving for @xmath174 instead of @xmath175 .
note that from ( [ square_root ] ) , @xmath176    as @xmath75 ( the collapse time ) for some constants @xmath177 and @xmath178 , which means that @xmath179 has exactly one derivative at @xmath83 .
our main reason for solving for @xmath179 , instead of @xmath70 , is not to improve accuracy , but rather to enable the algorithm to ` step through ' the singularity at @xmath180 , and use linear interpolation to obtain @xmath83 , the time of collapse of the innermost step .
taking square roots to recover @xmath70 will will result in a drastic loss in accuracy near @xmath83 . at time @xmath107 close to @xmath83 , consider taking a time step of size @xmath181 with component @xmath179 using simple euler .
let @xmath182 be the result of taking this time step using a ` perfect ' integrator , producing the exact solution at @xmath183 , given @xmath184 . then , since the truncation error in simple euler is @xmath185 from ( [ rho_sq ] ) , we have    @xmath186    therefore , if @xmath187 ( @xmath107 sufficiently far away from the singularity ) then the lte for @xmath70 , @xmath188 , is @xmath189 .
however , if @xmath190 ( @xmath107 is very close to @xmath173 ) , then the lte for @xmath70 is @xmath191 , which is not a big improvement over ( [ eq100 ] ) .
note that these estimates for the lte are independent of the order of @xmath170 .
when @xmath170 has ` overstepped ' @xmath83 resulting in @xmath192 and @xmath193 for times @xmath194 ( @xmath195 ) , we set @xmath196 as an approximation to the collapse time
. once @xmath70 has collapsed at @xmath83 , it is removed from the system ( [ eqn : sec20:eqnrho1 ] )  ( [ eqn : sec20:eqnrhon ] ) , the number of equations drops by one , and @xmath197 replaces @xmath184 as the new top step .
the key to making our multirate method high order lies in the ability to generate dense output from the non - stiff components with high accuracy .
one way to generate dense output is to use interpolation and @xmath139 , the function that we derive does not actually pass through @xmath139 .
hence strictly speaking , it is not an interpolant , though we will continue to refer to these approximating functions as `` interpolants '' for convenience . ] . for some integrators , such as backward differentiation formulae ( bdf ) ,
is it obvious how to derive an interpolant that is consistent in order with the underlying integrator
bdf use extrapolation to advance the solution in time . for other integrators , such as runge - kutta schemes ,
constructing the interpolant is less obvious and this is the focus of the section .
note that we need to generate interpolants _ during run time _ using only the function evaluations that have already been computed by the integrator within each time step .
the extra constraint of generating the interpolants during run time adds a non - trivial complication to the `` traditional '' interpolation problem , which has been studied extensively @xcite .
having successfully integrated the non - stiff components from @xmath138 to @xmath139 , we have the point values @xmath198 and the derivative @xmath199 at our disposal to construct the interpolant between @xmath138 and @xmath139 .
we do _ not _ have information about the derivative @xmath200 .
however , because we are constructing these interpolants during run time , we are at liberty to use the intermediate function evalulations inherent in the application of runge - kutta : this is valuable information that is not usually available in the traditional interpolation problem .
we have seen that our method performs integration in two phases : first we integrate a large number of non - stiff components , then we integrate a small number of stiff ones .
ideally , we would like the two integrations to have the same order .
this is only possible if the interpolation of the non - stiff components is of a sufficiently high order  otherwise large interpolation errors will contaminate the accuracy in the stiff components . in the following paragraphs , when we generate dense output between points @xmath107 and @xmath183
, we define an interpolant to be order @xmath201 when the interpolation error is @xmath202 .
let us assume that our inner and outer solvers are both @xmath0 order .
first of all , let us calculate @xmath201 in terms of @xmath154 if we want our method to be globally @xmath0 order . for simplicity , we assume in this calculation that the effects of round - off error are negligible . consider
the ode system @xmath203 let us assume that we have taken a macro step of size @xmath181 and advanced the non - stiff components @xmath204 successfully from time @xmath107 to @xmath183 .
also assume that we have taken @xmath2 micro steps of size @xmath205 , @xmath95 , for the stiff components @xmath206 so that @xmath207 .
after taking these @xmath2 steps , the total error in @xmath206 will be @xmath208 the first term is the sum of the local truncation errors caused by taking @xmath2 steps each of size @xmath205 .
the second term is the sum of the interpolation errors : note that to advance @xmath209 , an evaluation of @xmath210 in between @xmath107 and @xmath183 , in general , is required for the non - stiff neighbours of @xmath209 and this incurs an interpolation error of size @xmath202 . therefore the error in @xmath211 is also @xmath202 and the error in @xmath209 is @xmath212 .
it is clear that ( [ toterr ] ) simplifies to @xmath213 and so for our multirate method to be globally @xmath0 order , we require @xmath214  that is , we can afford for the order of the interpolation to be one less than the order of the integrator .
for example , if our integrator is fourth order ( @xmath215 ) , we need to be able to construct cubic interpolants during run time .
if our integrator is second order , then linear interpolation should be sufficient  as observed in @xcite .
we will now illustrate how these interpolants are constructed by taking the classical 4th order ( non - adaptive ) runge - kutta formula as an example and applying it to the autonomous ode system @xmath216 :    .coefficients in classical rk4 [ cols= " < , < ,
< , < , < " , ]      we used our multirate code to solve the simple wave equation @xmath217 . by discretizing using the method of lines and one - sided ( `` upwind '' ) differences in space , we obtained @xmath2 coupled ordinary differential equations which were solved using the initial condition @xmath218 and periodic boundary conditions .
unlike the axisymmetric step equations , this discretization of the wave equation does not have any time singularities and we expect fourth order convergence for every component .
this is confirmed in figure [ fig : convergence ] .
although @xmath181 and @xmath219 constantly change because our algorithm uses adaptive step size control , we take @xmath220 as a measure of the average step size where @xmath221 is the final integration time . for the single rate method ,
@xmath2 is the number of steps and for the multirate method , @xmath2 is the total number of micro - steps . in the multirate code
, a maximum macro - stepsize @xmath222 was imposed , and all but the first and final macro - steps had size 1 .
the exact solution comes from solving the linear system of odes exactly using an eigenfunction expansion .
as the integration progresses , the fraction of components that has to be reintegrated increases gradually as the solution broadens and its amplitude decreases : see figure [ fig : wave ] .
a matlab multirate code that produces the results in figure [ fig : wave ] is given in the appendix .
figure [ fig5](a ) shows the results of an integration with @xmath223 .
note that only those steps which are near the facet tend to pack closely together , but steps which are far away move relatively slowly and do not deviate significantly from their initial uniform configuration .
this expanding front of closely packed steps represents the @xmath224 expansion of the facet radius @xcite .
figure [ fig5](b ) illustrates the separation in time scales of the solution components and shows which components of the solution are integrated for a second time .
as expected , our algorithm takes large time steps for components which are far away from the facet .
near the facet and the collapsing top step , many relatively small steps are taken .
for the rapidly varying components in this figure , only a representative sample of the meshpoints @xmath138 from the @xmath170 integration are shown .
in contrast , when @xmath225 , steps can be closely packed even away from the facet . the plots in figure [ fig6 ] show that a step bunching instability arises when @xmath226 is sufficiently small and are qualitatively very different to those in figure [ fig5 ] .
the instability originates from steps with smaller radii and gradually spreads outwards so that more and more steps bunch up .
our multirate scheme performs a second integration when bunching and local stiffness arise : therefore , our algorithm gradually becomes less efficient over time .
however , as long as the fraction of bunched steps is not too large , our algorithm remains competitive compared to a standard adaptive 4th/5th order runge - kutta code .
when the fraction of bunched steps becomes close to unity , the optimal strategy is to have the algorithm detect this automatically , and then switch to a fully implicit , single - rate stiff solver .
we leave this as future work , noting that inversion of the pentadiagonal jacobian only costs @xmath227 operations ( where @xmath2 is the total number of existing steps ) .
in this paper , we present a multirate integration scheme that is designed to efficiently solve the systems of odes that arise in the relaxation of crystal mounds .
these odes have two properties that call for a multirate strategy : the singular collapse of the innermost step and local stiffness .
our method automatically detects singular / stiff components in the solution and disregards them when computing the size of the bulk ( macro ) time step .
the result is that the bulk timestep can be much larger than in a single rate method .
the trade - off is a re - integration of the stiff components which usually consists of a small fraction of the total number of equations in the ode system .
our method is globally fourth order when applied to odes which have sufficiently smooth solutions  for example , the step equations studied in  @xcite and the wave equation discretized through the method of lines in section [ subsec : error - spread ] .
however , the time singularities present in the axisymmetric step - flow equations mean that near times of collapse , the integration of steps near the facet suffers a loss in accuracy . to specifically deal with the singular inner trajectories , our method couples a simple euler routine to the bulk solver . given that the truncation error reduces to @xmath228 near the collapse time , independent of the method order , simple euler is the preferred method because it is computationally cheaper .
furthermore , the use of linear interpolation to extract collapse times is consistent with the method s order .
the high order accuracy of our algorithm ( when applied to bulk steps ) relies on the ability to generate high order interpolants during the run - time of a one - step integration method .
our algorithm generates these interpolants by using the intermediate stage function evaluations of an embedded runge - kutta ( rk ) formula .
specifically , our method computes @xmath229 order interpolants that are consistent with the @xmath230 order accuracy of the integrator .
however , for general @xmath0 order rk formulae , we do not know if it is always possible to construct interpolants that have order @xmath231 .    we see four main possible extensions to this work . the first is to generalize our multirate paradigm so that it can be used for ( i ) higher order runge - kutta formulae and ( ii ) multistep methods ( e.g. bdf , adams etc . ) we believe that it should be possible to make _ any _ method multirate  the main obstacle in doing this is to derive interpolants of a suitably high order .    the second is to explore in more detail the types of pdes that our multirate method can apply to
. typically , large systems of odes result from discretizations of pdes and it is for large ode systems that our method becomes competitive with single rate methods .
we think that a basic requirement of the discretization is that it should be strongly local
. however , we have not fully explored which discretizations are strongly local and which are not .
for example , a one - sided , upwind discretization @xmath232 of the advection equation @xmath233 is strongly local only when @xmath234 . for @xmath235 ,
a kronecker delta initial condition is unstable and does _ not _ remain localized . a discretization using centered differences @xmath236 yields a system of odes that is never strongly local for any @xmath237 . for nonlinear equations , our method seems to be efficient for step - flow like odes with repulsive dipolar step - step interactions .
we were able to show that the linearized step flow odes are strongly local ; however , we do not know if linearizing an ode system is always sufficient to show strong locality .
the third is to explore how the choice of parameters @xmath238 and @xmath239 in algorithm [ algorithm2 ] affect the efficiency of the integration and if there are optimal values of @xmath238 and @xmath239 . a `` good '' choice for @xmath238 and @xmath239 will result in small number of re - integrated components and a large macro - time step .
if @xmath238 is too large and @xmath239 too small , the algorithm behaves like a single rate method . on the other hand ,
if @xmath238 is too small and @xmath239 is too large , many non - stiff components will be re - integrated along with the stiff ones , rendering the method inefficient .
furthermore , our choice of @xmath147 as the @xmath143 percentile of the ltes is somewhat arbitrary ( but seems to generate reasonable results ) .
another possibility is to take the mean  this amounts to increasing the sensitivity of the bulk step size to the presence of one or two extremely stiff components .
clearly , the performance of our multirate method is tied to the distribution of ltes , its moments , and identification of the `` largest errors '' .
quantification of the `` largest errors '' and deciding which moments to use is work in progress . in summary
, this work contributes to the currently growing body of research in multirate methods .
we hope that the strategies adopted in this paper can be carried over to other physical problems and used to improve the efficiency and accuracy of future multirate algorithms .
* acknowledgements * + we thank dionisios margetis for many helpful discussions and meetings .
rrr was partially supported by nsf grant dms-0813648 .
here we give the details of a matlab multirate code to solve a wave equation .
% parameters for integrator desired_error = 1e-6 ; % desired error per step mr = 1 ; % set mr=1 for multirate mode , mr=0 for single rate t= 20 ; t = 0 ; dt = 0.1 ; dt_max = 1.0 ; k = -3 ; p = 30 ; % approx percentage of components to reintegrate safety = 0.95 ;          while t < t      [ unew , error , k ] = rk_onestep(t , u , dt,[1 n ] ) ;           % % % % % start of multirate modification % % %      if mr = = 1               % flag large errors          flags = error > 10^k*percentile(error , p ) ;                  for i=1:length(flags )              if flags(i ) = = 1                  r = i ;                  break ;              end          end          for j = length(flags):-1:1              if flags(j ) = = 1                  s = j ;                  break ;              end          end          % just to be safe          r = r - w ;          s = s+w ;          [ unew , num_micro_steps ] = micro_integrate(t , t+dt , u , unew , ...
[ r s],k , desired_error*1e-3 ) ;      end      % % % end of multirate modification % % %            max_error = max ( max(error(1:r-1 ) ) , max(error(s+1:end ) ) ) ;      r = ( desired_error / max_error ) ^(1/5 ) ;           if r<1 % step failed          dt = dt*safety*max(0.1,r ) ;           trynum = trynum+1 ;          if trynum>10              sprintf('10 failed attempts ! ' )              return          end      elseif r>1 % step succeeded          [ r s ( s - r ) ( s - r)/n ]          t = t+dt ;          u = unew ;          trynum = 0 ;          numsteps = numsteps+1 ;               dt = dt*safety*min(5,r ) ;                           if t+dt > t              dt = ( t - t ) ;          end                   if dt > dt_max              dt = dt_max ;          end             end             if t > t1 & & plot_number = = 1                  subplot(4,2,1 )          plot(x , unew,'linewidth',2 ) ;          xlabel('x ' ) ; ylabel('u(x , t ) ' ) ;          tit = sprintf('t=%f',t1 ) ;           title(tit ) ;          axis([-l/2 l/2 0 1 ] ) ;          subplot(4,2,3 )          spy(flags,20 )          title('flagged components ' ) ;          plot_number = 2 ;      elseif t > t2 & & plot_number = = 2          subplot(4,2,2 )          plot(x , unew,'linewidth',2 ) ;          xlabel('x ' ) ; ylabel('u(x , t ) ' ) ;          tit = sprintf('t=%f',t2 ) ;           title(tit ) ;          axis([-l/2 l/2 0 1 ] ) ;          subplot(4,2,4 )          spy(flags,20 )          title('flagged components ' ) ;          plot_number=3 ;      elseif t > t3 & & plot_number = = 3          subplot(4,2,5 )          plot(x , unew,'linewidth',2 ) ;          xlabel('x ' ) ; ylabel('u(x , t ) ' ) ;          tit = sprintf('t=%f',t3 ) ;           title(tit ) ;          axis([-l/2 l/2 0 1 ] ) ;          subplot(4,2,7 )          spy(flags,20 )          title('flagged components ' ) ;          plot_number=4 ;      elseif t > t4 & & plot_number = = 4          subplot(4,2,6 )          plot(x , unew,'linewidth',2 ) ;          xlabel('x ' ) ; ylabel('u(x , t ) ' ) ;          tit = sprintf('t=%f',t4 ) ;           title(tit ) ;          axis([-l/2 l/2 0 1 ] ) ;          subplot(4,2,8 )          spy(flags,20 )          title('flagged components ' )      end       end            y_current = y1 ; t = t1 ; trynum = 0 ; numsteps = 0 ; while t < t2           [ y_new , error ] = rk_onestep(t , y_current , dt,[r-2,s+2 ] ) ;           r = ( desired_error / max(error(r : s ) ) ) ^(1/5 ) ;      if r<1 % step failed          dt = dt*max(0.1,r ) ; trynum = trynum+1 ;          if trynum>10              sprintf('10 failed attempts ! ' )              return          end      elseif r>1 % step succeeded          t = t+dt ; numsteps = numsteps+1 ;          trynum = 0 ;                   y_new(r-2 ) = interpolate(t , y1(r-2),y2(r-2),t1,t2,k(r-2 , : ) ) ;          y_new(r-1 ) = interpolate(t , y1(r-1),y2(r-1),t1,t2,k(r-1 , : ) ) ;          y_new(s+1 ) = interpolate(t , y1(s+1),y2(s+1),t1,t2,k(s+1 , : ) ) ;          y_new(s+2 ) = interpolate(t , y1(s+2),y2(s+2),t1,t2,k(s+2 , : ) ) ;                           y_current = y_new ;          dt = dt*min(5,r ) ;                    if t+dt > t2              dt = ( t2-t ) ;          end               end end y2 = y_current ;              a2 = 1/5 ; a3 = 3/10 ; a4 = 3/5 ; a5 = 1 ; a6 = 7/8 ; b21 = 1/5 ; b31 = 3/40 ; b32 = 9/40 ; b41 = 3/10 ; b42 = -9/10 ; b43 = 6/5 ; b51 = -11/54 ; b52 = 5/2 ; b53 = -70/27 ; b54 = 35/27 ; b61 = 1631/55296 ; b62 = 175/512 ; b63 = 575/13824 ;   b64 = 44275/110592 ; b65 = 253/4096 ;         k1 = dt*f(t , y , cpt ) ; k2 = dt*f(t+a2*dt , y+b21*k1,cpt ) ; k3 = dt*f(t+a3*dt , y+b31*k1+b32*k2,cpt ) ; k4 = dt*f(t+a4*dt , y+b41*k1+b42*k2+b43*k3,cpt ) ; k5 = dt*f(t+a5*dt , y+b51*k1+b52*k2+b53*k3+b54*k4,cpt ) ; k6 = dt*f(t+a6*dt , y+b61*k1+b62*k2+b63*k3+b64*k4+b65*k5,cpt ) ; k = [ k1 ' k2 ' k3 ' k4 ' k5 ' k6 ' ] ;                                                    m.  kitamura , m.  nishioka , j.  oshinowo , y.  arakawa , in - situ fabrication of self - aligned ingaas quantum dots on gaas multiatomic steps by metalorganic chemical vapor deposition , appl .
66  ( 26 ) ( 1995 ) 36633665 .
j.  g. mclean , b.  krishnamachari , d.  r. peale , e.  chason , j.  p. sethna , b.  h. cooper , decay of isolated features driven by the gibbs - thomson effect in an analytic model and a simulation , phys . rev .
b 55  ( 3 ) ( 1997 ) 1811  1823 .        a.  ichimiya , y.  tanaka , k.  ishiyama , quantitative measurements of thermal relaxation of isolated silicon hillocks and craters on the si(111)-(7x7 ) surface by scanning tunneling microscopy , phys .
76  ( 25 ) ( 1996 ) 4721  4724 .


in the modern mathematical literature , catalan numbers are wonderfully ubiquitous .
although they appear in a variety of disguises , we are so used to having them around , it is perhaps hard to imagine a time when they were either unknown or known but obscure and underappreciated
. it may then come as a surprise that catalan numbers have a rich history of multiple rediscoveries until relatively recently .
below we review over 200 years of history , from their first discovery to modern times .
we break the history into short intervals of mathematical activity , each covered in a different section .
we spend most of our effort on the early history , but do bring it to relatively recent developments .
we should warn the reader that although this work is in the history of mathematics , we are not a mathematical historian . rather , this work is more of a historical survey with some added speculations based on our extensive reading of the even more extensive literature . due to the space limitations ,
this survey is very much incomplete , as we tend to emphasize first discoveries and papers of influence rather than describe subsequent developments .
this paper in part is based on our earlier investigation reported in  @xcite .
many primary sources are assembled on the _ catalan numbers website _
@xcite , including scans of the original works and their english translations .
ming antu , sometimes written mingantu ( c.1692c.1763 ) was a chinese scientist and mathematician , native of inner mongolia . in 1730s , he wrote a book _ quick methods for accurate values of circle segments _ which included a number of trigonometric identities and power series , some involving catalan numbers : @xmath0 the integrality of catalan numbers played no role in this work .
ming antu s book was published only in 1839 , and the connection to catalan numbers was observed by luo jianjin in 1988 .
we refer to  @xcite for more on this work and further references .
in 1751 , leonhard euler ( 17071783 ) introduced and found a closed formula for what we now call the _
catalan numbers_. the proof of this result had eluded him , until he was assisted by christian goldbach ( 16901764 ) , and more substantially by johann segner . by  1759 , a complete proof was obtained .
this and the next section tell the story of how this happened .    on september  4 , 1751 , euler wrote a letter to goldbach which among other things included his discovery of catalan numbers .
euler was in berlin ( prussia ) at that time , while his friend and former mentor goldbach was in st .
petersburg ( imperial russia ) .
they first met when euler arrived to st .
petersburg back in 1727 as a young man , and started a lifelong friendship , with 196 letters between them  @xcite .
euler defines catalan numbers @xmath1 as the number of triangulations of @xmath2-gon , and gives the values of @xmath1 for @xmath3 ( evidently , computed by hand ) .
all these values , including @xmath4 are correct .
euler then observes that successive ratios have a pattern and guesses the following formula for catalan numbers : @xmath5 for example , @xmath6 .
he concludes with the formula for the catalan numbers g.f .  :
@xmath7    in his reply to euler dated october 16 , 1751 , goldbach notes that the g.f .
@xmath8 satisfies quadratic equation @xmath9 he then suggests that this equation can be used to derive catalan numbers via an infinite family of equations on its coefficients .
euler writes back to goldbach on december 4 , 1751 .
there , he explains how one can obtain the product formula   from the binomial formula : @xmath10 from the context of the letter , it seems that euler knew the exact form of   before his investigation of the catalan numbers .
thus , once he found the product formula  , he was able to derive   rather than simply guess it .
we believe that euler did not include his derivation in the first letter as the g.f .
formula appears at the very end of it , but once goldbach became interested he patiently explained all the steps , as well as other similar formulas .
johann andreas von segner ( 17041777 ) was another frequent correspondent of euler .
although segner was older , euler rose to prominence faster , and in 1755 crucially helped him to obtain a position at university of halle , see  @xcite .
it seems , there was a bit of competitive tension between them , which adversely affected the story .    in the late 1750s , euler suggested to segner the problem of counting the number of triangulations of an @xmath11-gon .
we speculate based on segner s later work , that euler told him only values up to  @xmath12 , and neither the product formula   nor the g.f .  .
segner accepted the challenge and in 1758 wrote a paper  @xcite , whose main result is a recurrence relation which he finds and proves combinatorially : @xmath13 he then uses the formula to compute the values of  @xmath1 , @xmath14 , but makes an arithmetic mistake in computing @xmath15 , which then invalidates all larger values .
euler must have realized that equation   is the last missing piece necessary to prove  .
he arranged for segner s paper to be published in the journal of st .
petersburg academy of sciences , but with his own _ summary _  @xcite . in it , he states  , gives segner a lavish compliment , then points out his numerical mistake , and correctly computes all @xmath1 for @xmath16 .
it seems unlikely that given the simple product formula , segner would have computed @xmath17 incorrectly , so we assume that euler shared it only with his close friend goldbach , and kept segner in the dark until after the publication .    in summary ,
a combination of results of euler and segner , combined with goldbach s observation gives a complete proof of the product formula  .
unfortunately , it took about 80  years until the first complete proof was published .
semn kirillovich kotelnikow ( 17231806 ) was a russian mathematician of humble origin who lived in st .
petersburg all his life . in 1766 , soon after the raid on berlin , euler returned to st .
same year , kotelnikow writes a paper  @xcite elaborating on catalan numbers . although he claimed to have another way to verify  , larcombe notes that he `` does little more than play around with the formula ''  @xcite .
nicolas fuss ( 17551826 ) was a swiss born mathematician who moved to st .
petersburg to become euler s assistant in  1773 .
he married euler s granddaughter , became a well known mathematician in his own right , and remained in russia until death . in his 1795 paper  @xcite , in response to pfaff s question on the number of subdivisions of an @xmath11-gon into @xmath18-gons , fuss introduced what is now know as the _ fuss  catalan numbers _ ( see exercise  a14 ) , and gave a generalization of segner s formula  , but not the product formula .
in 1836 , a young french mathematician joseph liouville ( 18091882 ) founded the _ journal de mathmatiques pures et appliques_. he was in the center of mathematical life in paris and maintained a large mailing list , which proved critical in this story .    in 1838 , a jewish french mathematician and mathematical historian olry terquem ( 17821862 ) asked liouville if he knows a simple way to derive euler s formula   from segner s recurrence  .
liouville in turn communicated this problem to `` various geometers '' .
what followed is a remarkable sequence of papers giving foundation to `` catalan studies '' .
first , gabriel lam ( 17951870 ) wrote a letter to liouville outlining the solution , a letter liouville promptly published in the _ journal _ and further popularized  @xcite .
lam s solution was to use an elegant double counting argument .
let s count the number @xmath19 of triangulations of an @xmath2-gon with one of its @xmath20 diagonals oriented .
on the one hand , @xmath21 . on the other hand , by summing over all possible directed diagonals we have @xmath22 combining these two formulas with   easily implies  .    in 1738 ,
belgium born mathematician eugne charles catalan ( 18141894 ) was a student of liouville at cole polytechnique .
inspired by the work of lam , he became interested in the problem .
he was the first to obtain what are now standard formulas @xmath23 he then studied the problem of computing the number of different ( non - associative ) products of @xmath11 variables , equivalent to counting the number of bracket sequences  @xcite .
olinde rodrigues ( 17951851 ) was a descendant of a large sephardic jewish family from bordeaux .
he received his doctorate in mathematics and had a career as a banker in paris , but continued his mathematical interests .
in the same volume of the _ journal _ , he published two back - to - back short notes giving a more direct double counting proof of  . the first note  @xcite gives a variation on lam s argument , a beautiful idea often regarded a folklore .
roughly , he counts in two ways the number @xmath24 of triangulations of @xmath2-gon where either an edge or a diagonal is oriented . on the one hand , @xmath25 . on the other hand , @xmath26
, since triangulations with an oriented diagonal are in bijection with triangulations of @xmath27-gon obtained by inserting a triangle in place of a diagonal , and such edge can be any edge except the first one .
we omit the details .    in  @xcite , rodrigues gives a related , but even simpler argument for counting the bracket sequences .
denote by @xmath28 the number of bracket sequences of labeled terms @xmath29 , e.g. @xmath30 .
then , on the one hand @xmath31 . on the other hand , @xmath32 since
variable @xmath33 can be inserted into every bracket sequence in exactly @xmath34 ways . to see this , place a bracket around every variable and the whole product , e.g. @xmath35 .
now observe that a new variable is inserted immediately to the left of any of the @xmath36 left brackets , or immediately to the right of any of the @xmath36 right brackets , e.g. @xmath37    in 1839 , clearly unaware of euler s letters , a senior french mathematician jacques binet ( 17861856 ) wrote a paper  @xcite with a complete g.f .
proof of  . across the border in germany , johann august grunert ( 17971872 ) became interested in the work of the frenchmen on the one hand , and of fuss on the other .
a former student of pfaff , in a 1841 paper  @xcite he found a product formula for the fuss  catalan numbers .
he employed g.f.s to reduce the problem to @xmath38 but seemed unable to finish the proof .
the complete proof was given in 1843 by liouville  @xcite using the _ lagrange inversion _
( see  @xcite ) .
after a few more mostly analytic papers inspired by the problem , the attention of the french school turned elsewhere .
catalan however returned to the problem on several occasions throughout his career .
even fifty years later , in 1878 , he published _
sur les nombres de segner _
@xcite on divisibility of the catalan numbers .
thomas kirkman ( 18061895 ) was a british ordained minister who had a strong interest in mathematics . in 1857 , unaware of the previous work but with cayley s support , he published a lengthy treatise  @xcite .
there , he introduced the _ kirkman  cayley numbers _ , defined as the number of ways to divide an @xmath11-gon with @xmath18 non - intersecting diagonals ( see  a41 ) , and states a general product formula , which he proves in a few special cases .
in 1857 , arthur cayley ( 18211895 ) was a lawyer in london and extremely prolific mathematically .
he was interested in a related counting of _ plane trees _ , and in 1859 published a short note  @xcite , where ( among other things ) he gave a conventional g.f .
proof of that the number of plane trees is the catalan number . like kirkman , he was evidently unaware of the previous work .
his final formula is @xmath39 which he called `` a remarkably simple form '' .
curiously , in the same paper he also discovered and computed the g.f .
for the _ ordered bell numbers_.    in 1860 , cayley won a professorship in cambridge and soon became a central figure in british mathematics .
few years later , henry martyn taylor ( 18421927 ) became a student in cambridge , where he remained much of his life , working in geometry , mathematical education and politics . in 1882 , he and r.  c.  rowe published a paper  @xcite where they carefully examined the literature of the french school , but gave an erroneous description of the euler  segner story .
they evidently missed later papers by grunert and liouville , and computed the fuss
catalan numbers along similar lines , using the lagrange inversion , see  @xcite .
cayley continued exploring g.f .
methods for a variety of enumerative problems , among over 900 papers he wrote . in 1891 , cayley used g.f .  tour de force to completely resolve kirkman s problem  @xcite .
the _ ballot numbers _ were first defined by catalan in  1839 , disguised as the number of certain triangulations  @xcite .
we believe this contribution was largely forgotten since catalan gave a formula for the ballot numbers in terms of the catalan numbers , but neither gave a closed formula nor even a table of the first few values .
the ballot sequences were first introduced in 1878 by william allen whitworth ( 18401905 ) , a british mathematician , a priest and a fellow at cambridge .
he resolved the problem completely by an elegant counting argument and found interesting combinatorial applications  @xcite . despite both geographical and mathematical proximity to cayley
, he did not notice that the numbers @xmath40 he computed are the catalan numbers .    in modern terminology , the _ ballot problem _ was introduced in 1887 by joseph bertrand ( 18221900 ) .
in a half a page note  @xcite , he defined the probability @xmath41 that in an election with @xmath42 voters , a candidate who gathered @xmath43 votes is always leading the candidate with @xmath11 votes .
bertrand announced that one can use induction to show that @xmath44 he famously concludes by saying :    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ il semble vraisemblable quun rsultat aussi simple pourrait se dmontrer dune manire plus directe .
( it seems probable that such a simple result could be shown in a more direct way . ) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _    within months , bertrand s protg joseph - mile barbier ( 18391889 ) announced a generalization of @xmath41 to larger proportions of leading votes  @xcite , a probabilistic version of the formula for the fuss  catalan numbers
.    dsir andr ( 18401918 ) was a well known french combinatorialist , a former student of bertrand .
he published an elegant proof of bertrand s theorem  @xcite in the same 1887 volume of _ comptes rendu _ as bertrand and barbier . although he is often credited with the _ reflection method _ , this attribution is incorrect , as andre s proof was essentially equivalent to that by whitworth ( cf .
the reflection principle is in fact due to dmitry semionovitch mirimanoff ( 18611945 ) , a russian - swiss mathematician who discovered it in 1923 , in a short note  @xcite .
andre s original proof was clarified and extended to barbier s proposed generalization in  @xcite .
we should mention here takcs s thorough treatment of the history of the ballot problem in probabilistic context  @xcite , humphreys s historical survey on general lattice paths and the reflection principle  @xcite , and bru s historical explanation on how bertrand learned it from ampre  @xcite .
despite a large literature , for decades the catalan numbers remained largely unknown and unnamed in contrast with other celebrated sequences , such as the fibonacci and bernoulli numbers .
yet the number of publications on catalan numbers was growing rapidly , so much that we can not attempt to cover even a fraction of them . here
are few major appearances .
the first monograph citing the catalan numbers is the _ thorie des nombres _ by douard lucas ( 18421891 ) , published in paris in 1891 . despite the title , the book had a large combinatorial content , including rodrigues s proof of catalan s combinatorial interpretation in terms of brackets and products  @xcite .
the next notable monograph is the _ lehrbuch der combinatorik _ by eugen netto ( 18481919 ) , published in leipzig in  1901 .
this is one of the first combinatorics monographs ; it includes a lot of material on permutations and combinations , and it devotes several sections to the papers by catalan , rodrigues and some related work by schrder  @xcite .    we should mention that these monographs were more the exception than the rule .
many classical combinatorial books do not mention catalan numbers at all , most notably percy macmahon , _ combinatorial analysis _ ( 1915/6 ) , john riordan , _ an introduction to combinatorial analysis _ ( 1958 ) , and h.  j.  ryser , _ combinatorial mathematics _ ( 1963 ) .
a crucial contribution was made by william g.  brown in  1965 , when he recognized and collected a large number of references on the `` euler  segner problem '' and the `` pfaff  fuss problem '' , as he called them  @xcite . to denote the catalan numbers . ] from this point on , hundreds of papers involving catalan numbers have been published and all standard textbooks started to include it ( see e.g.  ( * ? ? ?
* @xmath453.2 ) and  ( * ? ? ?
* @xmath453 ) for an early adoption ) .
some 465 references were assembled by henry  w.  gould in a remarkable bibliography  @xcite , which first appeared in  1971 and revised in  2007 . at about that time , various lists of combinatorial interpretations of catalan numbers started to appear , see e.g.  @xcite , appendix  1 and a very different kind of list in  @xcite .
because of their chaotic history , the catalan numbers have received this name relatively recently . in the old literature
, they were sometimes called the _ segner numbers _ or the _ euler  segner numbers _ , which is historically accurate as their articles were the first published work on the subject . perhaps surprisingly , we are able to tell exactly who named them _ catalan numbers _ and when .
our investigation of this _ eponymy _ is informal , but we hope convincing ( cf .
@xcite for an example of a proper historical investigation ) .
first , let us discard two popular theories : that the name was introduced by netto in  @xcite or by bell in  @xcite .
upon careful study of the text , it is clear that netto did single out catalan s work and in general was not particularly careful with the references , but never specifically mentioned `` catalan zahlen '' .
similarly , eric temple bell ( 18831960 ) was a well known mathematical historian , and referred to `` catalan s numbers '' only in the context of catalan s work . in a footnote , he in fact referred to them as the `` euler  segner sequence '' and clarifies the history of the problem .
our investigation shows that the credit for naming catalan numbers is due to an american combinatorialist john riordan ( 19031988 ) .
he tried this three times . the first two : _ math reviews _
mr0024411 ( 1948 ) and mr0164902 ( 1964 ) went unnoticed . even marshall hall s influential  1967 monograph  @xcite
does not have the name .
but in 1968 , when riordan used `` catalan numbers '' in the monograph  @xcite , he clearly struck a chord .    although riordan s book is now viewed as somewhat disorganized and unnecessarily simplistic , back in the day it was quite popular .
it was lauded as `` excellent and stimulating '' in p.r .
stein s review , which continued to say `` combinatorial identities is , in fact , a book that must be read , from cover to cover , and several times . ''
we are guessing it had a great influence on the field and cemented the terminology and some notation .
we have further evidence of riordan s authorship of a different nature : the _ ngram chart _ for the words `` catalan numbers '' , which searches google books content for this sentence over the years .
the search clearly shows that the name spread after  1968 and that riordan s monograph was the first book which contained it .
there were three more events on the way to the wide adoption of the name `` catalan numbers '' . in 1971 ,
henry gould used it in the early version of  @xcite , a bibliography of catalan numbers with 243 entries .
then , in 1973 , neil  sloane gave this name to the sequence entry in  @xcite , with riordan s monograph and gould s bibliography being two of the only five references .
but the real popularity ( as supported by the ngram chart ) , was achieved after the martin gardner s _ scientific american _ column in june  1976 , popularizing the subject :    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ catalan numbers ] have [ .. ] delightful propensity for popping up unexpectedly , particularly in combinatorial problems .
indeed , the catalan sequence is probably the most frequently encountered sequence that is still obscure enough to cause mathematicians lacking access to n.j.a .
sloane s _ handbook of integer sequences _ to expend inordinate amounts of energy re - discovering formulas that were worked out long ago .
@xcite _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
now that we have covered over 200 years of the history of catalan numbers , it is worth pondering if the subject matter is worth the effort . here
we defer to others , and include the following helpful quotes , in no particular order .      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ it is not exaggerated to say that the catalan numbers are the most prominent sequence in combinatorics .
@xcite _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ the catalan numbers are one of the most important sequences of combinatorial numbers , with a large range of occurrences in apparently different counting problems .
@xcite _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ the catalan numbers are , next to the binomial coefficients , the best studied of all combinatorial counting numbers .
@xcite _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ catalan numbers are probably the most frequently occurring combinatorial numbers after the binomial coefficients .
@xcite _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ mathematicians are often amazed that certain mathematical objects ( numbers , sequences , etc . )
show up so often .
for example , in enumerative combinatorics we encounter the fibonacci and catalan sequences in many problems that seem to have nothing to do with each other . [ .. ] the answer , once again , is our human predilection for triviality .
[ .. ] the catalan sequence is the simplest sequence whose generating function is a ( genuine ) algebraic formal power series .
@xcite _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ the catalan numbers are a favorite pastime of many amateur ( and professional ) mathematicians .
@xcite _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ catalan numbers are the subject of [ much ] interest ( sometimes known as _ catalan disease _ ) .
@xcite _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ catalan numbers are even more fascinating [ than the _ fibonacci numbers _ ] . like the north star in the evening sky
, they are a beautiful and bright light in the mathematical heavens .
they continue to provide a fertile ground for number theorists , especially , catalan enthusiasts and computer scientists .
@xcite _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ i d have to say my favorite number sequence is the catalan numbers .
[ .. ] catalan numbers just come up so many times .
it was well - known before me that they had many different combinatorial interpretations .
[ .. ] when i started teaching enumerative combinatorics , of course i did the catalan numbers . when i started doing these very basic interpretations
any enumerative course would have some of this  i just liked collecting more and more of them and i decided to be systematic .
before , it was just a typed up list . when i wrote the book , i threw everything i knew in the book
. then i continued from there with a website , adding more and more problems .
@xcite _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _      * acknowledgments : * .
we are very grateful to richard stanley for the suggestion to write this note .
we would also like to thank maria rybakova for her help with translation of  @xcite , to xavier viennot for showing us the scans of euler s original letter to goldbach , and to peter larcombe for sending me his paper and help with other references .
the author was partially supported by the  nsf .