in this article , we describe a set of algorithms on multiple copies of @xmath0 ( with possibly nonlinear interactions ) , with applications in material science .
the physical processes we are interested in are modeled by pdes of the form @xmath1 here @xmath2 is the field describing the physical process of interest , with @xmath3 denoting the spatial variable on some closed , compact subset of @xmath4 , and @xmath5 is a ( typically nonlinear ) function of @xmath6 .
one immediately notices that @xmath7 is constant for all time ; this constraint should be respected by the numerical methods used to study such systems .
classical numerical integrators fail to preserve this norm , and this motivates our use of geometric integration .
the paper is organized as follows : we begin by introducing a problem in micromagnetics .
we then describe the lie group framework suitable for the general problem ( [ generalsystem1 ] ) .
the new , and fairly geometric , mathematical constructs of partial moving frames and partial connections , which can be used to select generators for use in numerical methods , are introduced in section 3 .
readers who are unfamiliar with modern differential geometry , particularly principal bundles , are advised to skip this section at a first reading . in section [ sectionalgo ]
, we present some one - step algorithms of different orders .
an arbitrary function appears in these algorithms ; different choices of this function yield distinct discrete trajectories .
we describe a possible choice that is related both to moving frames ( @xcite ) and , in the case of a geometric version of the forward euler method , to discretization error minimization .
work is in progress to identify analogous function choices for higher order methods ( @xcite ) .
we present the results of numerical experiments carried out using some of these functions for the symplectically reduced free rigid body , a hamiltonian system on the two - sphere .
the conservative nature of the rigid body system facilitates both the derivation of appropriate functions and the assessment of the relative performance of the algorithms . finally , we present some representative numerical results for micromagnetics that indicate that these geometric integration schemes are competitive with conventional numerical algorithms .
our numerical experiments were carried out using first , second , and fourth order methods .
one of the intrinsic features of the system ( [ generalsystem1 ] ) is that the vector field @xmath8 evolves on a sphere .
however , a classical integrator will update @xmath9 at time @xmath10 using the approximation @xmath11 the particular form of @xmath12 depends on the algorithm chosen ; however , it is clear that such updates correspond to _ translations _ of @xmath9 , not _
rotations_. thus , a classical integrator does not account for the fact that @xmath6 evolves on a sphere .
this constraint is difficult to efficiently impose in practice .
a naive approach is to keep track of changes in the norm @xmath13 during a numerical experiment , and renormalize the iterates after a prescribed tolerance has been exceeded .
however , this renormalization is equivalent to the aphysical addition ( or subtraction ) of energy to the system and is therefore an undesirable solution .
in addition , this renormalization would also affect @xmath14 .
we shall see that in the context of micromagnetics , this change is nontrivial and nonlinear .
another observation is that the component of @xmath15 parallel to @xmath6 does not influence the solution curve @xmath16 however , this component does alter the discrete trajectories generated by numerical algorithms .
an appropriate selection of the normal component can improve the performance of the scheme .
preliminary numerical investigations suggest that such corrections may allow increased accuracy in the capture of key features , e.g. orbits and/or conserved quantities , at a moderate computational cost , without the introduction of significant numerical artifacts , e.g. numerical accelerations .
the philosophy that numerical algorithms should respect properties intrinsic to the system  momentum conservation , evolution on a manifold , hamiltonian structure  is not a novel idea .
( see , e.g. , @xcite , @xcite , @xcite ) .
many classes of algorithms have been developed with this guiding principle , especially for energy - conserving or symplectic systems .
as far as we know , the application of such methods in the context of numerical micromagnetics is relatively new . encouraged by the success of these algorithms in an industrial context ( @xcite ) , we believe that these techniques will find wider use in the material science community .
modern magnetic materials are used in an increasingly large number of applications , including thin film read heads and recording media @xcite , nanocrystalline permanent magnets , and magnetohydrodynamic fluids .
in addition , there has been much interest in the use of `` smart materials '' , including magnetostrictive actuators and organic ferromagnets @xcite .
these magnetic materials exhibit different responses corresponding to varying magnetic fields .
for example , the resistance of a read - head ferromagnetic sensor changes as the device rotates over a recording medium .
the magnetization of the material directly interacts with the other physical and chemical characteristics of the material ; micromagnetics theory describes this interaction at a microscopic level .
of particularly great interest is the correlation of physical microstructure and magnetization ; the ability to predict the response of one to variations in the other is crucial to the further development of these materials and devices .
another physical system whose mathematical model strongly resembles that of micromagnetics arises in the study of liquid crystals .
nematic and smectic liquid crystals form the basis of the operation of many every - day devices , such as lcd s , telecommunication devices , thermometers , projection systems  even mood rings .
the devices operate on the principle that a suitable applied field will change the orientation of the liquid crystals , while conserving the pointwise - norm . therefore
, the resulting mathematical model has the same constraints as those in the micromagnetics situation .
this system has been studied extensively , yet a norm - conserving algorithm has only been presented for an extremely simple situation ( @xcite ) .    the study of long - chain molecules such as those occurring in bio - molecular systems yield another possible application area for the methods we develop .
these chemical systems have more complicated constraints on the geometry of possible configurations ; the configuration sought is one that minimizes a free - energy functional .
statistical thermodynamics considerations permit the reformulation of these optimization problems as evolutions in time on given manifolds to a steady state ( @xcite,@xcite ) .
such studies are used in the development of new drugs .      at any point in time , the magnetization @xmath6 is constant in small regions in the material ( termed a domain ) , and the switching of these domains from one state to another is the basis of the functioning of devices built with these magnetic substances @xcite .
ideally the entire device would be one large domain , which would switch instantaneously when an applied field was imposed . in practice , there are several domains , and the net magnetization in a desired direction is not optimal .
we are interested in tracking the evolution of these domains , which entails following the local behavior of @xmath6 . in industrial applications ,
a ferromagnetic device is subjected to changing magnetic fields ( corresponding to the various applications  a disk moving underneath a read - head , changes in applied voltages for magnetorheological fluids , etc ) .
one is interested in the response of the device to the gradual changing of these external fields .
a model that is widely used in the industry is the _ landau - lifshitz - gilbert ( llg ) _ model of micromagnetics , which describes the evolution of the state of magnetization @xmath6 in a ferromagnetic sensor , occupying a region @xmath17 in space .
the llg equation for the magnetization @xmath18 is given by @xmath19 here @xmath20 is a damping parameter and @xmath21 is an effective magnetic field , described in detail below .
the first term on the right hand side of ( [ llg ] ) describes the ( undamped ) _ larmor precession _ of @xmath6 about @xmath21 and is derived from first principles @xcite .
it is observed in physical experiments , however , that changes in magnetization decay in finite time .
the second term in ( [ llg ] ) is a phenomenological term ( called the _
gilbert damping term _ , see @xcite ) , added to describe this damping behavior ; it can not be derived from first principles
. there are situations under which this system is stiff ( see , for example , @xcite ) , and issues of numerical stability of the integration scheme are therefore important .
we also thank one of the referees for pointing out @xcite , where it is suggested that poor representations of the exchange energy may lead to the observed stiff behavior .    the effective field , which causes the magnetization to change , is derived from energy considerations @xcite and varies nonlinearly with @xmath6 .
more precisely , @xmath22 the parameters @xmath23 and @xmath24 are material constants of the permalloy being studied , and @xmath25 is the permeability of free - space .
the field @xmath26 is called the _ exchange _
field , preventing rapid spatial variations of @xmath6 and the formation of arbitrarily fine domains ( see @xcite for examples on how this term is computed in general ) .
the final contribution in ( [ heff ] ) is due to the nature of ferromagnetic crystals , which causes the magnetic moments to align in preferred directions .
this effect is incorporated in the llg model through the _ uniaxial anisotropy _
field @xmath27 .
the external _ applied field _ is denoted by @xmath28 .
the nonlinear , nonlocal contributions of @xmath6 arise through the _ demagnetizing field _
, @xmath29 , where @xmath30 solves the poisson problem with suitable boundary @xmath31=0,\quad   \left [ \frac{\partial \phi}{\partial n}\right ]    = { \boldsymbol{\mu}}\cdot { \mathbf n }   \,\ ,    \mbox{on } \,\ , \partial{\mathcal{b}},\ ] ] and radiation conditions@xmath32 here @xmath33 $ ] denotes the jump of the function @xmath34 across @xmath35 .
many different methods exist for the calculation of this field , including the use of the full maxwell system , fft techniques , finite element methods , multigrid approaches , finite differences , and recently , fast multipole methods , @xcite , among others .
while there are still several unsettled issues in the area of demagnetizing field calculations ( see @xcite for a sharp critique on existing methods ) , it is not our intention in this project to duplicate this work .
instead , we shall focus on developing a time - stepping method that is robust , accurate , and requires relatively few field evaluations .
theoretical developments in micromagnetics are driven by industrial demands , and the need for accurate algorithms is now imperative .
conventional algorithms are still being employed for highly sensitive calculations on large sensors , and are becoming increasingly inadequate . moreover , the time - scales inherent in these problems vary from nano - seconds ( in disk drives ) to tens of seconds ; hence integration techniques that remain effective over long times are required .
an ideal integrator would resolve solutions accurately over very small time steps , while allowing large time steps to be taken when the system evolves over a long period .
we have already described some of the issues with classical integrators with respect to norm conservation . here
we show that renormalizing @xmath6 to conserve the norm while using conventional integrators changes the potential @xmath30 in a nonlinear fashion ; it is easy to construct a simple example in which the renormalization introduces a significant change in the demagnetizing field .
assume that the magnetization @xmath6 satisfies @xmath36 for some constant @xmath37 and scalar function @xmath38 ; here @xmath39 denote the usual unit vectors in the @xmath40 and @xmath41 directions .
before renormalization , the field @xmath42 is divergence  free : @xmath43 .
however , the renormalized field is _ not _ divergence  free : @xmath44 the potentials obtained by solving ( [ poisson ] ) are clearly not the same for the original and renormalized fields .
the effect of renormalization on the demagnetization field is particularly significant near domain boundaries .
for example , if the function @xmath38 appearing in ( [ renorm_exam ] ) is a step function , then the divergence of the renormalized magnetic field is a delta function .
we thank f.  reitich , @xcite , for this illustration of the dangers of normalizing vector fields .
we recall that the general system under consideration is @xmath46 the initial condition @xmath25 satisfies @xmath47 for all @xmath3 , i.e. @xmath48 , the unit sphere in @xmath4 .
since @xmath49 for all @xmath50 and @xmath10 , @xmath51 for all @xmath10 , the rotation group @xmath52 acts transitively on @xmath0 , i.e. any point on the sphere can be rotated onto any other point on the sphere ; hence there are time dependent curves @xmath53 satisfying @xmath54 we emphasize that these curves are not uniquely determined by ( [ rotategen ] ) .    in the spatially discretized version of the system , we choose @xmath55 grid points @xmath56 in @xmath17 and consider only the values of the magnetic field at those grid points . given a curve @xmath57 , we define @xmath58 where there is no confusion , we suppress the argument @xmath10 . the fully discretized version of the system ( [ generalsystem ] )
is @xmath59 here and throughout the paper , vector operations such as cross or inner products on @xmath60 or @xmath61 should be understood as the usual operations in @xmath4 performed on each of the @xmath55 component vectors .
the lie group @xmath62 acts transitively , but not freely , on @xmath63 .
that is , any point in @xmath64 can be mapped onto any other point in @xmath63 by the action ( by component - wise rotations ) of @xmath65 on @xmath63 , but the group element accomplishing any such transformation is not unique .
the isotropy subgroup of a point @xmath42 in @xmath63 ( where @xmath64 is the group of transformations fixing @xmath42 ) is an @xmath55dimensional torus . as in ( [ rotategen ] ) , there are smooth time - dependent curves @xmath66 in the group @xmath65 satisfying @xmath67    we can use the lie algebra @xmath68 of @xmath65 , which is the tangent space to @xmath65 at the identity , to put ( [ rotatedisc ] ) into a more familiar and convenient form .
the identification of @xmath69 with @xmath4 is implemented using the map @xmath70 given by @xmath71 } : = \left(\begin{array}{cccc }    0 & -\xi_3 & \xi_2\\    \xi_3&0&-\xi_1\\    -\xi_2&\xi_1&0\end{array}\right),\ ] ] i.e. @xmath72 } { { \mathbf{x}}}= { \boldsymbol{\xi}}\times { { \mathbf{x}}}$ ] for all @xmath73 .
the matrix commutator bracket on @xmath69 corresponds to the cross product on @xmath4 under this identification .
given any differentiable curve @xmath74 in @xmath65 , there exists a curve @xmath75 satisfying @xmath76 } q(t),\ ] ] where the product of @xmath72}$ ] and @xmath66 is the usual matrix product . thus the system ( [ discretesystem ] ) is equivalent to @xmath77}q(t ) { \mathbf{m}}_0={\boldsymbol{\xi}}(t)\times { \mathbf{m}}(t).\ ] ] comparing ( [ geom_eqs1 ] ) to ( [ discretesystem ] ) , we see that @xmath78 for an arbitrary scalar function @xmath79 .
the flexibility in the choice of map @xmath80 arises from the non  freeness of the action of @xmath52 on @xmath0 , and thus the action of @xmath65 on @xmath63 ; distinct odes @xmath81 } q \qquad \mbox{and } \qquad \dot q = { \mathrm{skew } \left [ \widetilde { { \boldsymbol{\omega}}}(q \ , m)\right ] } q,\ ] ] where @xmath82 $ ] for all @xmath83 , will typically have distinct solution curves in @xmath52 , but the images in @xmath0 of those solution curves under the map @xmath84 will coincide .
when numerically simulating ( [ discretesystem ] ) , we want a time - stepping method that ensures that @xmath85 , i.e. that the norms of the component vectors are identically equal to one . we can regard ( [ geom_eqs1 ] ) and ( [ geom_eqs ] ) as defining a family of odes @xmath86 } q,\ ] ] parametrized by @xmath87 and @xmath79 , on the group @xmath65 and use the techniques developed for geometric integration on lie groups to determine approximate discrete solution curves of these ode ( see @xcite and the references therein ) . when combined with the action of @xmath65 on @xmath63 , these techniques yield geometric integration schemes for ( [ generalsystem ] ) that exactly preserve the constraint @xmath85 , regardless of the step size or the order of the integrator .
the key idea is the following .
suppose we are given a ( right ) trivialized form @xmath88 of an ode on a lie group @xmath89 and an _ algorithmic exponential _
@xmath90 mapping the lie algebra @xmath91 of @xmath89 into @xmath89 . then an integrator of order @xmath92 corresponds to an update of the form @xmath93 for some map @xmath94 determined by the algorithm and the generator @xmath95 . here
we consider only one step methods , with @xmath96 .
we emphasize that the algorithmic exponential need not be the true exponential of the lie group , or even a good approximation to the true exponential ; all that we require is that it map algebra elements exactly into the group @xmath89 and that the algorithmic exponential of the zero vector in @xmath91 equal the identity element of @xmath89 .
for example , the cayley transform , given by @xmath97})(i - { \mathrm{skew } \left [ { \boldsymbol{\xi}}/2\right]})^{-1},\ ] ] is an algorithmic exponential for the rotation group that has long been used in computational mechanics .
the cayley transform has long been used to implement exact rotations in elasticity and plasticity simulations ; see , for example , @xcite ) .
more recently , it has been utilized in the geometric integration of a wide variety of mechanical systems , including the llg equations ; see @xcite , and references therein .
algorithms of arbitrarily high order can be constructed using the cayley transform , despite the fact that is only a second order approximation of the matrix exponential of @xmath52 .
( note that the cayley transform is , in fact , an algorithmic exponential for any matrix group determined by a quadratic constraint .
see , e.g. @xcite . ) for the rotation group @xmath52 on @xmath4 , both the true matrix exponential and the cayley transform can be efficiently evaluated and have frequently been used as algorithmic exponentials .
the true exponential takes the form @xmath98 }       + \frac{1 - \cos \|{\boldsymbol{\xi}}\|}{\|{\boldsymbol{\xi}}\|^2 } \ , { \mathrm{skew } \left [ { \boldsymbol{\xi}}\right]}^2.\ ] ] the image of a vector @xmath73 under the action of @xmath99 takes the simple , readily evaluated form @xmath100.\ ] ] hence we shall use the cayley transform ( actually , @xmath55 copies of the cayley transform ) as our algorithmic exponential @xmath101 .
we observe that the cayley transform has the advantage that the entries of @xmath99 are rational functions of the components of @xmath102 ; in particular , no trigonometric functions need be evaluated .    to summarize this section ,
we have rewritten the discrete system @xmath103 as an ode @xmath104}q(t).\ ] ] on the lie group @xmath105 .
we now need to describe choices of infinitesimal update maps @xmath106 and generators @xmath107 that determine one step numerical updates @xmath108 and associated updates @xmath109 with specified properties , e.g. a specified order of overall accuracy .
the construction of suitable updates is the subject of the next section .
a natural and obvious goal in selection of a numerical scheme is the achievement of the highest possible accuracy working within the given constraints .
however , the prioritization of the constraints ( efficiency , stability , developer effort , preservation of key features of the modeled system , etc . ) can lead to significantly different approaches to the achievement of this goal and correspondingly different schemes .
for the purposes of this discussion , we shall assume that we are given a family of one step methods of the form @xmath110 for some map @xmath111 .
( recall that @xmath112 . )
we can optimize accuracy within this family of methods by selecting an appropriate isotropy algebra correction ; specifically , we shall first compute the update generator given some ` default ' choice of generator , and then use that generator to determine an element of the isotropy algebra of the current state that minimizes the discretization error for that update .
we will derive conditions specifying this choice of isotropy element for algorithms on @xmath64 utilizing the action of @xmath113 using a traditional series expansion approach to the computation of the discretization error .
( see @xcite for the application of this approach and those discussed below to general homogeneous manifolds . )
subsequently , we will discuss some more geometric and , in some cases , less computationally intensive , approaches to this task .
the geometric approach most closely related to the naive series expansion treatment is the use of geodesic curvature to characterize the essential information about curves on manifolds , e.g. ; solution curves of differential equations . a less directly related approach , but one that coincides with the direct error minimization approach for the forward euler method on @xmath64 is the use of a partial moving frame and the associated partial connection form to determine a choice of generator .
we shall define these constructions in section [ partial_conn ] .      to demonstrate the influence of the isotropy algebra on discrete trajectories , we first study the action of the rotation group @xmath52 on a single sphere @xmath0 .
the techniques we use in analysing the case of a single sphere immediately generalize to @xmath64 an autonomous vector field @xmath114 on @xmath0 satisfies @xmath115 for all @xmath83 ; hence there exists a ( nonunique ) map @xmath116 , called a _ generator _ of @xmath114 , satisfying @xmath117 on @xmath0 .
recall from our earlier discussion that distinct choices of generator @xmath23 typically yield distinct discrete trajectories when used in a numerical algorithm of the form ( [ our_kind ] ) .
we will compare the performance of various schemes with two different choices of generator .
the first choice is the ` default ' or ` natural ' one , which is not assumed to have any particular geometric properties . for the rigid body system
, we will take the body angular velocity as our default generator . for arbitrary vector fields
@xmath114 , there need not be a natural choice of generator ; our intent here is to make a plausible choice of generator that one might make if the issue of isotropy were not taken into account .
the second choice is the orthogonal generator , i.e. the unique map @xmath118 satisfying @xmath119 for all @xmath83 .    a general and direct , but potentially computationally intensive , approach to the choice of a generator that reduces the discretization error is to compute the lowest order nonzero term in the series expansion for the discretization error for the family of algorithms under consideration , leaving the isotropy algebra component of the generator as an undetermined parameter , and thus determine conditions on the isotropy component that minimize the error .
see @xcite for a general treatment of this approach and section [ opt ] for the derivation of the optimal generator choice for our forward euler algorithm for the llg system . here
we briefly explore some alternatives to this approach that have natural geometric interpretations .
we consider an euler update of the form @xmath120 where @xmath80 determines the isotropy ( normal component ) contribution . in the special case that the algorithmic exponential is given by a rescaling of the usual matrix exponential , e.g. by the cayley transform , ( [ simple_up ] )
satisfies @xmath121 for some rescaling @xmath122 of time .
hence , in this case , @xmath123 is given by a rigid rotation of @xmath124 about an axis depending only on @xmath124 .
hence the curve @xmath125 is a segment of a circle in @xmath0 .
our goal is to choose @xmath80 so as to obtain the best circular approximation at @xmath124 to the true orbit segment @xmath126 if @xmath127 , then the optimal circular approximation to @xmath128 at @xmath124 can be characterized using the geodesic curvature @xmath129 of @xmath128 at @xmath124 .
the best circular approximation to @xmath128 at @xmath124 is tangent to @xmath130 at @xmath124 and has geodesic curvature equal to that of @xmath128 at @xmath124 .
the first condition is clearly satisfied for any consistent update .
the geodesic curvature @xmath131 of @xmath132 is easily seen to satisfy @xmath133 , where @xmath30 is the angle between @xmath124 and @xmath134 ( see , e.g. @xcite , p. 249 ) ; thus @xmath135 .
hence optimal orbit capture within the class of updates ( [ simple_up ] ) is obtained using @xmath136    if @xmath128 is itself a segment of a circle , then @xmath137 yields @xmath138 .
hence any torsion
free orbits , e.g. the separatricies of the reduced rigid body equations , are captured exactly by this version of the euler method .
note that the choice @xmath139 is suboptimal for the euler method unless @xmath140 along the tractory of interest , i.e. unless the desired trajectory is a great circle .
for higher order methods , the axis of rotation used in the update map @xmath141 is typically time dependent and hence the corresponding algorithmic trajectory segment typically is not circular ( i.e. it has nonzero torsion ) . hence the simple argument used in the preceding paragraph can not be applied .
however , the strategy of curvature  matching can still be followed .
since a smooth curve on a two dimensional manifold in @xmath4 is determined up to a time reparametrization by its geodesic curvature , we can determine the conditions on the generator imposed by the restriction that the geodesic curvature of @xmath123 match that of @xmath142 to some order .
the higher order derivatives of the curvature can either be determined analytically for a given vector field @xmath114 or numerically approximated using standard difference schemes .
more generally , the choice a generator of a vector field on a homogeneous manifold can be viewed as a special case of the choice of a partial connection form , which generalizes to nonfree actions the classical connection form on a principal bundle .
a partial connection form is a lie algebra  valued one  form with appropriate equivariance properties . in section [ partial_conn ] we state the relevant definitions and present a family of partial connection forms on open subsets of @xmath0 that yield a discretization error  minimizing algorithm and
determine an algorithm that captures orbits to second order for any dynamical system on a single copy of @xmath0 .
the interested reader is referred to @xcite for a more detailed treatment of partial connection forms and related constructions .
we now briefly discuss a general geometric approach to the selection of generators , using a generalization of the connection form on a principal bundle . for a more detailed treatment of this generalization and proofs of the assertions given below ,
see lewis et al . [
let @xmath143 be a principle bundle , that is , a manifold @xmath143 acted on by a lie group @xmath89 .
let the action of @xmath144 in @xmath143 be denoted by @xmath145 let @xmath146 denote the algebra of @xmath89 and let @xmath147 . recall that a _ connection _ on a principal bundle @xmath148 is a distribution @xmath149 satisfying @xmath150 for all @xmath151 and @xmath152 .
specification of a connection @xmath149 is equivalent to specification of an equivariant @xmath91valued one
form @xmath153 , called the _ connection form _ , satisfying @xmath154 for all @xmath151 . by equivariance
we mean that @xmath155 for all @xmath152 . the connection @xmath149 and connection form @xmath153 are related by the condition
@xmath156 = \gamma_p$ ] for all @xmath151 .
( see , e.g. , @xcite for a detailed presentation of the properties of connections and connection forms . )
the equivariance properties of connections and connection forms typically can not be preserved in the context of nonfree actions , hence we relax these conditions , requiring only equivariance with respect to specified representatives of the isotropy equivalence classes .
a map @xmath157 is a _ slip map _ if @xmath158 for all @xmath152 and @xmath159 . a ( singular ) distribution @xmath160 assigning a complement @xmath161 to @xmath162 in @xmath163 to each point @xmath159 is a _ partial connection _ if there is a slip map @xmath164 satisfying @xmath165 for all @xmath152 and @xmath159 .
a _ partial connection form _ with slip map @xmath164 is a @xmath91valued one  form @xmath153 on @xmath63 satisfying @xmath166 and @xmath167 for all @xmath152 and @xmath159 .
one natural source of partial connections is a generalization of a _ moving frame _ , in the modern sense introduced by fels and olver ( @xcite , @xcite ) , i.e. a smooth equivariant map @xmath168 on a manifold @xmath148 with a free group action .
recall that a principal bundle @xmath148 is trivial if there exists a global section , i.e. a smooth map @xmath169 from the base manifold @xmath63 into@xmath148 such that each group orbit @xmath170 in @xmath148 intersects @xmath171 exactly once and the projection @xmath172 satisfies @xmath173 .
this condition corresponds to the existence of a moving frame .
specifically , a global section @xmath174 and associated moving frame @xmath175 are related by the equality @xmath176 for all @xmath151 .
a global section determines a flat connection , namely the connection that assigns to any point @xmath177 the subspace @xmath178 . if we introduce the notation @xmath179 to denote the right trivialization of the linearization of a map @xmath180 , i.e. @xmath181 for any @xmath151 and @xmath182 , then @xmath183 is the connection form of the connection determined by @xmath174 .
the rotation group @xmath52 acts transitively on @xmath0 and freely and transitively on the unit tangent bundle @xmath184 .
the map @xmath185 taking @xmath186 to the orthogonal matrix with columns @xmath187 is a ( left ) moving frame with associated connection form @xmath188 where @xmath189 , with @xmath190 and @xmath191 .
( here @xmath192 denotes the canonical projection . ) note that we will regard @xmath34 both as a tangent vector to the sphere at @xmath124 and as a unit vector in @xmath4 .
moving frames can be extended to manifolds with nonfree actions as follows : a ( smooth ) map @xmath193 is a ( left ) _ partial moving frame _ if @xmath194 satisfies @xmath195 for all @xmath152 and @xmath159 .
a _ partial moving frame _ on a submanifold @xmath196 of a manifold @xmath63 with a @xmath89 action is a map @xmath197 satisfying ( [ partial moving ] ) for any @xmath198 and any @xmath152 such that @xmath199 . the trivialized linearization @xmath200 of a partial moving frame @xmath193 is a partial connection form , with associated slip map @xmath201 .
we refer to the trivialized linearization @xmath200 as the partial connection form associated to the partial moving frame @xmath30 .    if a group @xmath89 acts transitively on a manifold @xmath63 , then every group orbit is equal to the entire manifold . in this situation , a ( partial ) connection form @xmath153 assigns to each tangent vector a generator of that vector , so that @xmath202 for all @xmath203 and all @xmath159 .
in particular , given a vector field @xmath114 on @xmath63 , the map @xmath204 , i.e. @xmath205 , satisfies @xmath206 for all @xmath159 .
hence ( partial ) connection forms can be used to construct geometric integration schemes on manifolds with transitive actions .
we are currently investigating the role of geometrically motivated choices of partial connection forms in the design of efficient geometric integration algorithms .
as can be seen in the example discussed below , simple , natural choices of partial connection forms can lead to significant improvement in numerical performance .    to illustrate the somewhat abstract geometric constructions described above , we now present a moving frame associated to the action of the rotation group @xmath52 on the unit tangent bundle @xmath207 of the sphere @xmath0 and an associated family of partial moving frames on @xmath0 .
the partial connection form ( which , in this case , is simply a map from the sphere to @xmath4 ) of one of these partial moving frames yields the discretization error  minimizing generators used in the versions of the forward euler method described in sections [ opt ] and [ rig_body ] .
as we shall see , this partial connection form and the associated generators can be derived without the use of the expansion of the discretization error .
any unit vector field @xmath208 on a submanifold @xmath63 of @xmath0 determines a partial moving frame  @xmath209 on @xmath63 , with partial connection form @xmath210 the map @xmath211 associated to @xmath212 is @xmath213 , where @xmath214 denotes the angle between @xmath215 and @xmath216 .
given an ode @xmath217 , we can set @xmath218 on some set @xmath219 containing no equilibria ( i.e. zeroes of @xmath114 ) ; in this case , ( [ fuzzconn_sphere ] ) takes the form @xmath220 in particular , @xmath221 where @xmath222 denotes the geodesic curvature of the curve @xmath223 in @xmath0 .    the partial connection form ( [ fuzzconn_sphere ] )
can be used to select the isotropy correction map @xmath80 used in ( [ simple_up ] ) .
following ( [ fuzzconn_sphere3 ] ) , we set @xmath224 in our numerical implementation ( [ sig_choice ] ) , we approximate @xmath222 using the identity @xmath225 for a curve @xmath223 in @xmath0 with nonzero velocity @xmath226 , where @xmath227 is orthogonal to @xmath124 , and replacing @xmath228 and @xmath229 with finite difference approximations .
recall that an update of the form @xmath230 where @xmath231 satisfies @xmath232 , determines a one step method on the lie group @xmath65 , where @xmath233 is determined by the generator and the selected scheme , and @xmath234 denotes the time step .
given an ode @xmath235 on @xmath63 , we will construct updates of the form @xmath236 it is our objective to identify several classes of infinitesimal update maps @xmath106 , leading to algorithms of first , second , and fourth order .
as was previously discussed , the normal component of the generator @xmath107 does not influence the solution curves of the original ode .
thus , if we have a numerical algorithm of order @xmath237 , this component does not affect the solution up to order @xmath237 .
however , it typically does appear in the higher order terms of the approximation , and theoretically a suitable choice of this component will reduce the discretization error .
for the forward euler scheme an optimal choice of @xmath80 , in the sense that this choice minimizes the discretization error , also has a natural geometric interpretation .
here we derive this map @xmath80 using a direct discretization error calculation ; in the following section we shall discuss various geometric considerations that can be used in the selection of the generator to be used in a lie group integration scheme .
we consider consistent algorithms using standard methods on the tangential component of @xmath238 .
the normal component is treated as a function of the tangential one ; we shall see that a component of the local discretization error at second order can be eliminated by a suitable choice of the normal component of the lowest order term in @xmath238 . for the sake of simplicity , we consider here only the lowest order case , in which the discretization error of a first order method is reduced by an appropriate selection of @xmath80 .
this is a particular example of a more general result covering a large class of manifolds and higher order algorithms .
( see @xcite . )
work is in progress ( lewis , nigam , olver ) to possibly extend these or related results to an even larger class of systems , including the full discretized llg system .
we begin by examining the flow @xmath239 of the ode @xmath240 on @xmath63 .
this flow satisfies @xmath241    if the algorithmic update @xmath242 is given by @xmath243 for some map @xmath244 and @xmath245 agrees with the exponential map to second order ( e.g. @xmath246 is the cayley transform ) , then @xmath247 } + { \frac{1}{2}}\delta t^2 { \mathrm{skew } \left [ { \bf a}\right]}^2   + { \mathcal o}(\delta t^3)\right){\mathbf{m}}\\ & = & \left(i+\delta t \ , { \mathrm{skew } \left [ { \boldsymbol{\xi}}_1\right ] }   + { \frac{1}{2}}\delta t^2 \left ( { \mathrm{skew } \left [ { \boldsymbol{\xi}}_2\right ] } + { \mathrm{skew } \left [ { \boldsymbol{\xi}}_1\right]}^2 \right )       + { \mathcal o}(\delta t^3 ) \right){\mathbf{m}}\\\ & = & { \mathbf{m}}+\delta t \ , { \boldsymbol{\xi}}_1 \times { \mathbf{m}}+\frac{\delta t^2}{2}\left({\boldsymbol{\xi}}_1\times({\boldsymbol{\xi}}_1\times { \mathbf{m}})+\mathbf{{\boldsymbol{\xi}}}_2\times { \mathbf{m}}\right )      + { \mathcal o}(\delta t^3 ) . \end{aligned}\ ] ]    we now derive conditions on the terms @xmath248 , @xmath249,  in the series expansion of @xmath106 yielding algorithms of increasingly high order .
the consistency condition for @xmath250 is @xmath251 , where @xmath252 denotes component - wise projection onto the orthogonal complements of the component vectors of @xmath42 , i.e. @xmath253 , @xmath254 . if @xmath250 is consistent , then , setting @xmath255 , the local discretization error is @xmath256 the algorithm is thus second  order accurate iff @xmath257 in our geometric version of the forward euler method with @xmath258 , @xmath259 for @xmath260 ; thus this method will not be second order .
however , we are free to choose @xmath261 so as to satisfy the second equality in ( [ second_order ] ) , e.g. @xmath262 where @xmath263 is some first order approximation to @xmath264 ( e.g. , a discrete difference approximation ) , yielding a discretization error  minimizing member of the family of algorithms with @xmath265    analogous expansions can be used to minimize the discretization error of higher order methods .
however , the symbolic calculation of such expansions for high order schemes is , at present , relatively laborious and does not seem tractable for systems such as the llg equations , in which the generator @xmath266 is determined in part ( the demagnetization field ) by a nonlinear pde .      using ( [ gen_update ] ) , we now define geometric one - step methods that are natural analogs of the standard explicit and implicit euler methods : @xmath267 where @xmath268 denotes the solution of the implicit equation @xmath269 and the scalar functions @xmath80 and @xmath270 are as yet unspecified .
the numerical results presented in sections [ gen_crap ] and [ num_results ] illustrate the effect of the parameter @xmath80 on the discrete trajectories determined by the forward euler algorithm when applied to rigid body dynamics and the llg micromagnetism model .
we shall see that in the rigid body system , @xmath80 satisfying ( [ movingsigma ] ) yields second order accuracy in energy tracking , and thus second order orbit capture for this conservative system . in the micromagnetics simulations , where damping plays a crucial role in the long term dynamics , large values of @xmath80 cause the trajectories to sharply diverge from those of the ordinary forward euler ; however , the final state is the same
. a closer look at the llg equation shows that a larger value of @xmath80 corresponds to the inclusion of more precession in the trajectory .
these numerical results clearly show that different choices of the parameter @xmath80 lead to significantly different numerical trajectories and thus motivate the search for an `` optimal '' value of @xmath80 . in section [ gen_crap ]
we describe a general geometric approach to selecting values for @xmath80 ; in section [ opt ] we show that when used with the forward euler method , this choice of @xmath80 minimizes the discretization error .
( see @xcite for a description of this approach for more general manifolds . )
we consider four second order methods modeled on the classic heun ( rk2 ) algorithm .    in the first
, we use the ` default ' generator @xmath266 in the heun method , i.e. @xmath271 the second method , @xmath272 , is entirely analogous , but with @xmath266 replaced with the orthogonal generator @xmath273 , where @xmath274 and hence @xmath275 , @xmath254 .    in the third method , the infinitesimal rotation determined by applying the heun method to the default generator @xmath266
is modified by addition of an appropriate isotropy element to yield a higher order of orbit capture ; specifically , @xmath276 the fourth algorithm is analogous , but with @xmath277 replaced by @xmath272 and @xmath278 replaced by an appropriate function @xmath279 .
( the function @xmath279 is a rational function in @xmath124 and the components of @xmath266 , but is significantly more complicated than @xmath278 . )
note that isotropy plays a role both in the choice of the generator and in the selection of a correction term .      in this subsection , we describe two families of fourth order lie group integrators on @xmath64 . we emphasize that these algorithms map a point @xmath280 _ exactly _ into @xmath64 ; they are fourth order accurate in the sense that they approximate the true trajectories within @xmath64 to fourth order . a direct implementation of the classic fourth
 order runge
kutta method to a vector field on @xmath64 fails to maps exactly into the manifold @xmath64 , while application of the classical rk4 method to the generator of the flow , followed by application of the exponential map and the group action necessarily yields an update in @xmath64 , but typically does not give a fourth order approximation of the true flow .
the generator must be modified to account for the trivialization of the tangent bundle of the group ; this modification can be implemented either before or after the stages of the runge  kutta method are computed and averaged .
the first method we use is the rkmk4 method , a runge  kutta style method due to munthe
kaas ( @xcite , @xcite ) in which each stage of a traditional rk4 method is modified so that the resulting generator , followed by ( algorithmic ) exponentiation and application of the group action to the manifold , yields a fourth order method .
the second method utilizes a series expansion of the generator along the true flow , followed by a single modification to account for the trivialization of the tangent bundle of the group @xmath65 , again followed by ( algorithmic ) exponentiation and application of the group action .
we implemented the rkmk4 method @xcite , using the cayley transform rather than the true matrix exponential . to implement a lie group integrator for ( [ discretesystem ] ) using the cayley transform ,
we make use of the fact that , for sufficiently small @xmath10 , there is a function @xmath281 satisfying @xmath282 differentiating ( [ use_cay ] ) with respect to @xmath10 , we obtain @xmath283 where the map @xmath284 is the right trivialization of the tangent map of the cayley transform .
hence @xmath285 and @xmath286 are related by @xmath287 which is equivalent to @xmath288 for some function @xmath80 .
the initial condition for ( [ use_cay ] ) is @xmath289 .
the map @xmath290 satisfies @xmath291})\ ] ] and @xmath292 } + \frac{1}{4}{\mathbf{f}}\ , { \mathbf{f}}^t.\ ] ] the cayley version of the rkmk4 method is essentially the conventional rk4 applied to ( [ big ] ) : having found @xmath293 at time @xmath294 , we construct the update @xmath295 where @xmath296 and @xmath297 for more details on this method , see @xcite .
the second method involves a series expansion with respect to time of the generator @xmath298 , where @xmath239 denotes the exact flow at time @xmath10 .
given the generator @xmath286 , this expansion is computed by iteratively symbolically differentiating @xmath298 and then substituting @xmath299 for @xmath300 .
the third order approximation to @xmath298 is then modified to take into account the trivialization of the tangent bundle of @xmath52 and the action of @xmath52 on @xmath0 .
the specific expressions for this modification for the rigid body equations on the sphere are given in
[ rig_body ] . given the implicit and highly nonlinear nature of the llg equations , symbolic calculation of the derivatives of @xmath286 for this system seemed excessively complicated ; hence we did not implement this algorithm for the llg system .
we now apply the results outlined above to a simple and familiar system , the reduced rigid body equations on the sphere .
given a positive definite symmetric three by three matrix @xmath301 , define the vector field @xmath302 on @xmath0 .
this is a hamiltonian system with respect to the kostant  kirillov - souraiu symplectic structure @xmath303 and hamiltonian @xmath304 the system ( [ rigid_body ] ) is the symplectic reduction of the free rigid body equations on @xmath305 ; more concretely , it is the restriction of euler s equation for the body angular momentum to the unit sphere .
( since the norm of the body momentum is preserved by the dynamics of euler s equation , all spheres centered at the origin are invariant submanifolds . )
the conservative nature of this system makes it particularly easy to measure the error in orbit capture ; if the body is triaxial , i.e. the eigenvalues @xmath306 , @xmath307 , @xmath308 of the inertia tensor @xmath301 are distinct , the level sets of the hamiltonian ( [ rb_ham ] ) exactly determine the orbits of the system . thus in this situation
the error in the orbit is a function of the fluctuation in the energy .
as the numerical results given in tables 14 demonstrate , geometric integration techniques yield efficient , accurate orbit capture for the reduced free rigid body , with good performance even for very large time steps .
note that the same randomly generated initial conditions and inertia tensors are used in all of the numerical simulations .
if the rigid body is axisymmetric , then all true trajectories consist either of equilibria ( the ` poles ' and the ` equator ' ) or of steady rotations in the plane of symmetry . note that in this situation , even an exactly energy  preserving scheme may allow drift across the family of one  point orbits along the equator .
however , all of the methods considered here detect equilibria as such . thus even in the axisymmetric case , we can use the energy to monitor orbit capture .
we shall see that for some of the algorithms considered here , there are significant differences in performance on triaxial and axisymmetric bodies .
symmetries play a crucial role in algorithm design and analysis ; see , e.g. @xcite .
however , we shall not explore those issues in any detail here .
we now consider implementations of the families of algorithms described in  [ sectionalgo ] for the rigid body equations .
we take as our default generator the body angular velocity @xmath309 .
we first consider three first order methods , with infinitesimal updates    * @xmath310 * @xmath311 * @xmath312 ,    where @xmath313 and @xmath314 are given with respect to an eigenbasis of @xmath301 by @xmath315 for any cyclic permutation @xmath316 of @xmath317 .
[ plot_errors ]    .maximum energy error over the trajectories given in figure [ traj_plots ] . [ cols="<,^,^,^",options="header " , ]     we implemented the four different versions of the heun method given in section [ second_ordersection ] for the rigid body system . although the heun methods @xmath318 and @xmath319 described here are only second order accurate , the ( local ) discretization error in the energy is fourth order in the time step .
the isotropy corrected versions used here take the form @xmath320 where @xmath321 for any cyclic permutation @xmath322 of @xmath317 and @xmath323 where @xmath279 is another , significantly more complicated , rational function in @xmath124 and the components of the inertia tensor .
the isotropy corrections @xmath278 and @xmath279 given above determine algorithms yielding fourth order energy capture .
if the body is axisymmetric , @xmath324 preserves the energy to fifth order .
as table [ random_errors2 ] shows , some of these algorithms appear to have better _ global _ energy capture than the single step discretization energy error analysis ( which we carried out symbolically using _ mathematica _ ) would suggest . plots of the energy errors in the sample integrations , with randomly generated initial conditions and inertia tensors , show that the energy oscillates about a very slow drift away from the correct value .
note that the energy correction term for the fourth order symbolic expansion method using the orthogonal generator is identically zero if the body is axisymmetric ; hence the results generated by @xmath325 and @xmath326 coincide in this case .    we consider six fourth order geometric methods .
four utilize a series expansion for the generator along a solution curve , while the other two use the rkmk4 algorithm ( with the cayley transform as the algorithmic exponential ) . using the cayley transform , the map @xmath327 determined by the default generator for the rigid body system on @xmath0
is given by @xmath328 where @xmath329 .
the corresponding algorithm for the rigid body using the orthogonal generator is @xmath330 the infinitesimal updates @xmath327 and @xmath325 can be modified by the addition of an appropriate multiple of the argument @xmath124 to yield an additional order of energy , and hence orbit , capture .
the scalar correction functions , which are rational functions of the components of @xmath124 and the inertia tensor , were determined by symbolic calculation .
in this section , the geometric integrators developed in section [ sectionalgo ] are applied to the landau - lifshitz - gilbert equations of micromagnetics .
the exact solution of this system is typically not available to us ; indeed , it is the lack of precise analytical results for comparison which makes numerical micromagnetics a challenging field . in our examples , we chose the largest possible time steps for a given method that would lead the system to the solution computed by a higher order method ( within prescribed tolerance ) .    as mentioned earlier ,
numerical micromagnetics has attracted much attention in the mathematical community , for several reasons . in this paper
we are focussing on the time - stepping aspect of the problem .
the application of geometric integration techniques in this context is relatively new , see for example , @xcite .
recently , another technique which modifies existing integrators was developed for numerical micromagnetics , @xcite .
this new integrator is of the `` step - and - project '' class , but is stable .     and with the geometric forward euler ( @xmath331 ) with optimal @xmath80 are almost identical ; if we assume @xmath332 ( an arbitrary choice ) , the trajectory precesses more before reaching the final point .
the figure on the right shows the evolution of the optimal @xmath80 . the applied field is uniform and weak , specifically , @xmath333.__,title="fig:",width=192,height=240 ]   and with the geometric forward euler ( @xmath331 ) with optimal @xmath80 are almost identical ; if we assume @xmath332 ( an arbitrary choice ) , the trajectory precesses more before reaching the final point .
the figure on the right shows the evolution of the optimal @xmath80 .
the applied field is uniform and weak , specifically , @xmath333.__,title="fig:",width=192,height=240 ]     and by the geometric forward euler method with optimal @xmath80 and time step @xmath331 are almost identical ; if we set @xmath334 ( an arbitrary choice ) in the geometric forward euler method , the trajectory precesses more before reaching the final point .
the figure on the right shows the evolution of the optimal @xmath80 .
the applied field is uniform , @xmath335.__,title="fig:",width=192,height=240 ]   and by the geometric forward euler method with optimal @xmath80 and time step @xmath331 are almost identical ; if we set @xmath334 ( an arbitrary choice ) in the geometric forward euler method , the trajectory precesses more before reaching the final point .
the figure on the right shows the evolution of the optimal @xmath80 .
the applied field is uniform , @xmath335.__,title="fig:",width=192,height=240 ]    we were particularly interested in the behavior of the free parameter @xmath80 which appears in the geometric time - stepping algorithm ( [ geom_eqs ] ) . in the rigid body case
the parameter can be chosen to improve energy conservation . here
the system is dissipative and a criterion for the selection of @xmath80 is not immediately obvious . for the forward euler implementation
, we can derive a relatively simple expression for a function @xmath80 that minimizes the discretization error . for higher order methods ,
analogous functions can be described in terms of the series expansions of the true and algorithmic flows , but the cost of computing these expansions , particularly for systems such as the llg equations , rapidly becomes prohibitive .
work is in progress to determine computationally tractable criteria for the selection of the isotropy component for higher order methods .
we describe a model problem for the llg , for which the analytical solution was particularly simple .
recall that the llg for the magnetization @xmath18 is given by ( [ llg ] ) , which we recall here for convenience : @xmath336 @xmath337    in the experiments that follow , we set @xmath338 and vary the applied field . these parameter values are not taken from actual physical data , and were selected solely for purposes of illustration . the saturation magnetization was @xmath339 .
we wish to construct a one - dimensional example where the computation of the demagnetizing energy would be simple . to this end
, we assume the sample is contained in the infinite slab @xmath340 .
we assume the magnetization @xmath341 , ie . , the only variation in the magnetization is along the x - direction .
therefore , @xmath342 we assume that there are 100 individual spins uniformly distributed along @xmath343 $ ] .
these spins interact with each other through the exchange and demagnetizing fields .
this example is admittedly a simplistic one ; the true equilibrium solution for it can easily be found using analytical techniques .
therefore , the stopping criterion used was a comparison with the exact final equilibrium point .
we see that the geometric integrators take trajectories which respect the point - wise constraints on the magnetization ; conventional integrators do not .
thus , the paths traversed by these integrators will be different , as is seen in figures [ fig:1 ] and [ fig:2 ] .
as the step - size is shrunk more and more , the trajectories will converge .      in the first set of numerical experiments
, we implemented the geometrical analog of the forward euler algorithm for the llg equation .
we then tracked the evolution of the parameter @xmath80 given by ( [ movingsigma ] ) , an expression derived through arguments of discretization error minimization .
we approximated the acceleration @xmath344 of trajectories @xmath345 of ( [ discretesystem ] ) using a one - sided discrete approximation of the derivative of @xmath346 .
figures [ fig:1 ] and [ fig:2 ] describe the trajectories followed by the over - damped llg system ( without the larmor precession term ) for two different applied fields.to address the issue of overall computational expense , we ran both a geometric forward euler algorithm and the conventional forward euler algorithm on the example introduced above .
for each algorithm , we decreased the time step @xmath234 until the trajectories converged to within @xmath347 .
we also required that the final equilibrium point corresponded to that computed by a fourth - order runge - kutta method with time step @xmath348 , to within a relative error of @xmath349 . the geometric forward euler method yielded trajectories which converged , for this example , with time steps of @xmath331 and a cpu time of 1.77 seconds .
the usual forward euler required a time step @xmath348 , with a cpu time of 3.88 seconds , to get similar behaviour .
in addition , while the pointwise norm of @xmath42 was conserved to machine accuracy by the geometric integrator , the standard forward euler algorithm caused @xmath350 to increase to 1.001183806 times its usual value by the end of the run . as a consequence , the trajectories traversed by the geometric and the usual algorithms differed , though they ended at the nearly same place . as we are only interested in the final equilibrium state of the system , we see the obvious merit of using the geometric integrator  we can obtain accurate final states while using much larger time steps .
we see the effect of varying the scalar functions @xmath80 on the trajectories is that of changing the amount of precession in the trajectory .
we notice certain trends in the optimally chosen function @xmath351 in figures [ fig:1 ] and [ fig:2 ] , and we shall investigate the relationship of these trends to the physical processes occurring at the same times in future work .     and damping parameter @xmath352 .
the trajectories were computed using the usual forward euler method with time step @xmath348 and the geometric forward euler method with time step @xmath331 . here
the trajectory taken by the geometric method differs appreciably from those of the usual method , though the final states appear to be similar .
the lefthand plot shows the evolution of one point in the ferromagnetic sample ; the righthand plot shows the evolution of the optimal sigma at that point.__,title="fig:",width=192,height=240 ]   and damping parameter @xmath352 .
the trajectories were computed using the usual forward euler method with time step @xmath348 and the geometric forward euler method with time step @xmath331 . here
the trajectory taken by the geometric method differs appreciably from those of the usual method , though the final states appear to be similar .
the lefthand plot shows the evolution of one point in the ferromagnetic sample ; the righthand plot shows the evolution of the optimal sigma at that point.__,title="fig:",width=192,height=240 ]    in figure [ fig:4 ] , we implemented the code for the full llg system , including the larmor precession .
the applied field is uniform , @xmath353 .
the damping parameter @xmath20 was set to a low value , specifically @xmath352 .
the trajectories followed by the usual forward euler and @xmath348 and by the geometric forward euler with @xmath331 and optimal @xmath80 diverge appreciably , yet end at the same final state .
the drift of the norm is now clearly visible ( see figure ( [ fig:5 ] ) ) .
the usual forward euler trajectory moves off the unit sphere in the standard euler integration , while the geometrically integrated one does not .
we see that the optimal @xmath80 now varies more ( figure [ fig:4]b ) .        in the next set of experiments
, we implemented the geometrical versions of the heun algorithm , derived in section [ sectionalgo ] .
we did not have an analytical expression for the optimal choice of @xmath80 .
therefore , we ran the experiments for several constant values of this parameter , and computed the order of convergence of the algorithm in @xmath234 .
the results were interesting , and rather striking .
as @xmath80 is varied , the order of convergence changes for the naive choice of generator .
what should be noted is that the geometric algorithm appears to converge more rapidly than a conventional heun method ; the order of convergence was @xmath355 , as was borne out in repeated experiments .
we now present experiments with a fourth order method derived in section [ sectionalgo ] .
lacking an analytical expression for the optimal choice of @xmath80 , we ran the experiments for varying constant values of this parameter , and computed the order of convergence of the algorithm in @xmath234 .     as a function of time step , @xmath356 . here
we see @xmath357 convergence . on the right : norm of the error of @xmath42 as a function of time step , with @xmath358 . here
we see @xmath359 convergence .
_ , title="fig:",width=288,height=288 ] as a function of time step , @xmath356 .
here we see @xmath357 convergence . on the right : norm of the error of @xmath42 as a function of time step , with @xmath358 .
here we see @xmath359 convergence .
_ , title="fig:",width=288,height=288 ]    in figure [ fig:9 ] we track @xmath350 over @xmath360 $ ] with a time step of @xmath361 .
the classical rk4 method without projection shows a drift in the norm ; this drift is of the order of @xmath362 , i.e. , @xmath363 .
the lie group integrator , on the other hand , shows no drift ( up to machine precision ) .
as we vary @xmath80 , we observe that the rate of convergence of the algorithm varies , see ( figure [ fig:10 ] ) . again
, there is clearly some optimal value of this parameter .
this behavior is even more pronounced for the rkmk4 method than for the heun method .
* acknowledgements : * the authors would like to thank the referees for their insightful and helpful suggestions .
we also thank the institute for mathematics and its applications , where the bulk of this research was conducted .
d.  lewis , conserving and approximately conserving algorithms , in : dynamics of algorithms ( the proceedings of the i m a workshop on dynamics of algorithms ) , i m a volumes in mathematics and its applications , vol .
118 , springer
verlag , new york , 2000 .