<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/Math/XSL/pmathml.xsl"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"  "http://www.w3.org/Math/DTD/mathml2/xhtml-math11-f.dtd">
<!--        This document was created  with

            S O F T 4 S C I E N C E      S c i W r i t e r   

            http://www.soft4science.com     e-mail: info@soft4science.com
-->
<html pref:renderer="mathplayer-dl" xmlns:pref="http://www.w3.org/2002/Math/preference" xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="Generator" content="soft4science SciWriter" />
    <meta name="SciWriter-Version" content="2.0.26.0" />
    <meta name="Style-Numbering" content="&lt;Numbering equations=&quot;simple&quot; figures=&quot;simple&quot; theorems=&quot;simple&quot; tables=&quot;simple&quot; /&gt;" />
    <meta name="Style-ParagraphMargins" content="&lt;ParagraphMargins h1_bottom=&quot;0.3&quot; h1_top=&quot;2&quot; h2_bottom=&quot;0.5&quot; h3_bottom=&quot;0.5&quot; h4_bottom=&quot;0.5&quot; h5_bottom=&quot;0.5&quot; h5_top=&quot;1.25&quot; h6_bottom=&quot;0.5&quot; h6_top=&quot;1.25&quot; li_top=&quot;0&quot; theorem_bottom=&quot;1&quot; theorem_top=&quot;0&quot; hr_bottom=&quot;1.5&quot; hr_top=&quot;1.5&quot; /&gt;" />
    <meta name="Style-Headings" content="&lt;Headings fontFamily_alt=&quot;times,serif&quot; fontSize_H1=&quot;120&quot; fontSize_H2=&quot;110&quot; fontSize_H3=&quot;110&quot; fontSize_H4=&quot;100&quot; fontSize_H5=&quot;100&quot; fontSize_H6=&quot;100&quot; color=&quot;Black&quot; /&gt;" />
    <meta name="Style-GeneralText" content="&lt;GeneralText fontFamily_alt=&quot;times,serif&quot; fontSize=&quot;11&quot; textIndent=&quot;0&quot; /&gt;" />
    <meta name="PreferedMathMLRenderer" content="mathplayer_dl" />
    <meta name="template" content="MAM.tpl" />
    <meta name="guid" content="46b45cdb-5e6e-42f1-a142-f2accf6ac019" />
    <meta name="date_lastUpdated" content="2007-03-16T08:50:40" />
    <meta name="date_created" content="2005-11-02T15:36:02" />
    <meta name="keywords" content="celestial mechanics, two-body problem, Kepler equation, Marc Murison" />
    <meta name="copyright" content="2006, Marc A. Murison" />
    <meta name="author" content="Marc A. Murison" />
    <meta name="LaTeX_Preamble" content="&#xD;&#xA;%=========================================================================&#xD;&#xA;% from http://www.emerson.emory.edu/services/latex/latex_toc.html&#xD;&#xA;%&#xD;&#xA;% \documentstyle [options] {style}&#xD;&#xA;%&#xD;&#xA;% The options for the different styles are:&#xD;&#xA;%&#xD;&#xA;%   1. article - 11pt, 12pt, twoside, twocolumn, draft, fleqn, leqno, acm&#xD;&#xA;%   2. report - 11pt, 12pt, twoside, twocolumn, draft, fleqn, leqno, acm&#xD;&#xA;%   3. letter - 11pt, 12pt, fleqn, leqno, acm&#xD;&#xA;%   4. book - 11pt, 12pt, twoside, twocolumn, draft, fleqn, leqno &#xD;&#xA;%&#xD;&#xA;% If you specify more than one option, they must be separated by a comma. &#xD;&#xA;%=========================================================================&#xD;&#xA;  \documentclass[11pt]{article}&#xD;&#xA;&#xD;&#xA;% Origin&#xD;&#xA;  \setlength{\hoffset}{0mm}&#xD;&#xA;  \setlength{\voffset}{0mm}&#xD;&#xA;&#xD;&#xA;% Paper Size&#xD;&#xA;%  \setlength{\textwidth} {210mm}&#xD;&#xA;%  \setlength{\textheight}{297mm}&#xD;&#xA;&#xD;&#xA;% Text Size&#xD;&#xA;  \setlength{\textwidth} {6.0 in}&#xD;&#xA;  \setlength{\textheight}{8.5 in}&#xD;&#xA;&#xD;&#xA;% Left Margin&#xD;&#xA;  \setlength{\oddsidemargin} {0.25 in}&#xD;&#xA;  \setlength{\evensidemargin}{0.25 in}&#xD;&#xA;&#xD;&#xA;% Top Margin&#xD;&#xA;  \setlength{\topmargin}{0.25 in}&#xD;&#xA;&#xD;&#xA;% Headings (Comment this line out to turn off headings&#xD;&#xA;%  \pagestyle{headings}&#xD;&#xA;&#xD;&#xA;% Header Margins&#xD;&#xA;  \setlength{\headheight}{0mm}&#xD;&#xA;  \setlength{\headsep}   {0mm}&#xD;&#xA;  \setlength{\topskip}   {0mm}&#xD;&#xA;&#xD;&#xA;% Footer Margin&#xD;&#xA;  \setlength{\footskip}{0.5 in}&#xD;&#xA;&#xD;&#xA;% Note Margins&#xD;&#xA;  \setlength{\marginparpush} {0mm}&#xD;&#xA;  \setlength{\marginparwidth}{0mm}&#xD;&#xA;  \setlength{\marginparsep}  {0mm}&#xD;&#xA;&#xD;&#xA;  \usepackage[english=american]{csquotes}&#xD;&#xA;  \MakeOuterQuote{&quot;}&#xD;&#xA;" />
    <meta name="TheoremEnvironments" content="&lt;TheoremEnvironments&gt;&lt;TheoremEnvironment name=&quot;Remark&quot; className=&quot;s4s-environment-remark&quot; text_italic=&quot;False&quot; /&gt;&lt;/TheoremEnvironments&gt;" />
    <meta name="SciWriter-Options" content="&lt;SciWriterOptions MathColor=&quot;Maroon&quot; TheoremTagColor=&quot;Black&quot; TextWidth=&quot;855&quot; /&gt;" />
    <title>A Practical Method for Solving the Kepler Equation</title>
    <style type="text/css"><![CDATA[
    /* - CSS code generated by soft4science SciWriter  -*/

    body{font-size:11pt}
    table{font-size:11pt}
    a:link,a:active,a:visited{color:blue}
    img{border-width:0px}
    p,li,td,caption, blockquote{font-family:"Times New Roman",times,serif}
    p{text-indent:0em}
    h1,h2,h3,h4,h5,h6{font-family:"Times New Roman",times,serif;color:#000000}
    p{margin-top:0em;margin-bottom:0em}
    li{margin-top:0em;margin-bottom:0em}
    h1{font-size:120%;margin-top:2em;margin-bottom:0.3em}
    h2{font-size:110%;margin-top:1.5em;margin-bottom:0.5em}
    h3{font-size:110%;margin-top:1.5em;margin-bottom:0.5em}
    h4{font-size:100%;margin-top:1.5em;margin-bottom:0.5em}
    h5{font-size:100%;margin-top:1.25em;margin-bottom:0.5em}
    h6{font-size:100%;margin-top:1.25em;margin-bottom:0.5em}
    table{margin-top:1em;margin-bottom:1em}
    pre{margin-top:1em;margin-bottom:1em}
    hr{margin-top:1.5em;margin-bottom:1.5em}
    ul,ol{margin-top:0em;margin-bottom:0em}

    math          {font-family:"Times New Roman",times,CMSY10, CMEX10, Symbol}
    mml\:math    {font-family:"Times New Roman",times,CMSY10, CMEX10, Symbol}
    math[display="block"]{display:block;text-align:center;font-style: normal;}
    math *.[mathvariant="normal"] {font-weight: normal;font-style: normal;}
    math *.[mathvariant="bold"]   {font-weight: bold;font-style: normal;}
    math *.[mathvariant="italic"] {font-weight: normal;font-style: italic;}
    math *.[mathvariant="bold-italic"] {font-weight: bold;font-style: italic;}
    math *.[mathvariant="double-struck"]{font-family:msbm;font-weight: normal;font-style: normal;}
    math *.[mathvariant="script"]{font-family: eusb;font-weight: normal;font-style: normal;}
    math *.[mathvariant="bold-script"]{font-family: eusb;font-weight: bold;font-style: normal;}
    math *.[mathvariant="fraktur"] {font-family: eufm;font-weight: normal;font-style: normal;}
    math *.[mathvariant="bold-fraktur"] {font-family: eufm;font-weight: bold;font-style: italic;}
    math *.[mathvariant="sans-serif}"] {font-family: sans-serif,Arial,Lucida Sans Unicode, Verdana;font-weight: normal;font-style: normal;}
    math *.[mathvariant="bold-sans-serif"] {font-family: sans-serif,Arial, Lucida Sans Unicode, Verdana;font-weight: bold;font-style: normal;}
    math *.[mathvariant="sans-serif-italic"]{font-family: sans-serif,Arial, Lucida Sans Unicode, Verdana;font-weight: normal;font-style: italic;}
    math *.[mathvariant="sans-serif-bold-italic"] { font-family: sans-serif,Arial, Lucida Sans Unicode, Verdana ;font-weight: bold;font-style: italic;}
    math *.[mathvariant="monospace"] {font-family: monospace};
    math *.[mathsize="small"] {font-size: 80%};
    math *.[mathsize="big"] {font-size: 125%};
    msub>*:first-child[mathsize="big"],msup>*:first-child[mathsize="big"],msubsup>*:first-child[mathsize="big"],munder>*:first-child[mathsize="big"],mover>*:first-child[mathsize="big"],munderover>*:first-child[mathsize="big"],mmultiscripts>*:first-child[mathsize="big"],mroot>*:first-child[mathsize="big"] {font-size: 125%}
    msub>*:first-child[mathsize="small"],msup>*:first-child[mathsize="small"],msubsup>*:first-child[mathsize="small"],munder>*:first-child[mathsize="small"],mover>*:first-child[mathsize="small"],munderover>*:first-child[mathsize="small"],mmultiscripts>*:first-child[mathsize="small"],mroot>*:first-child[mathsize="small"] {  font-size: 80%}
    msub>*:first-child,msup>*:first-child,msubsup>*:first-child,munder>*:first-child,mover>*:first-child,munderover>*:first-child,mmultiscripts>*:first-child,mroot>*:first-child {  font-size: 100%}
    msub>*[mathsize="big"],msup>*[mathsize="big"],msubsup>*[mathsize="big"],munder>*[mathsize="big"],mover>*[mathsize="big"],munderover>*[mathsize="big"],mmultiscripts>*[mathsize="big"],math[display="inline"] mfrac>*[mathsize="big"],math *[scriptlevel="+1"][mathsize="big"] {  font-size: 89%  /* (.71 times 1.25) */}
    msub>* [mathsize="small"],msup>*[mathsize="small"],msubsup>*[mathsize="small"],munder>*[mathsize="small"],mover>*[mathsize="small"],munderover>*[mathsize="small"],mmultiscripts>*[mathsize="small"],math[display="inline"] mfrac>*[mathsize="small"],math *[scriptlevel="+1"][mathsize="small"] {  font-size: 57% /* (.71 times .80) */}
    msub>*,msup>*,msubsup>*,munder>*,mover>*,munderover>*,mmultiscripts>*,math[display="inline"] mfrac>*,math *[scriptlevel="+1"] {  font-size: 71%}
    mroot>*[mathsize="big"] {  font-size: 62%  /* (.50 times 1.25) */}
    mroot>*[mathsize="small"] {  font-size: 40% /* (.50 times .80) */}
    mroot>* {  font-size: 50%}
    .s4s-table-right{text-align:right}
    .s4s-table-right table{margin-left:auto;margin-right:0;text-align:left;}
    .s4s-table-right caption{margin-left:auto;margin-right:auto;text-align:center;}
    .s4s-table-center{text-align:center;}
    .s4s-table-center table{margin-left:auto;margin-right:auto;text-align:left;}
    .s4s-table-center caption{margin-left:auto;margin-right:auto;text-align:center;}
    .s4s-empty-paragraph{height:1em;width:textwidth}
    .s4s-noindent{text-indent:0em}
    .s4s-citation          {text-decoration:none}
    .s4s-footnote          {text-decoration:none;position:relative;top:-0.2em;font-size:0.9em}
    .s4s-section-reference {text-decoration:none}
    .s4s-theorem-reference {text-decoration:none}
    .s4s-table-reference   {text-decoration:none}
    .s4s-figure-reference  {text-decoration:none}
    .s4s-equation-reference{text-decoration:none}
    .s4s-latex             {visibility:hidden;line-height:0em;height:0em;width:0em;display:none}
    .s4s-environment-title{margin-top:0em;margin-bottom:1em;}
    .s4s-environment-title .s4s-environment-title-title {text-align:center;font-size:220%;font-weight:bold;font-family:"Times New Roman",times,serif;color:#000000;margin-top:0em;margin-bottom:0.3em}
    .s4s-environment-title p {text-align:center;font-size:150%;margin-top:0em;margin-bottom:0em}
    .s4s-environment-abstract p{margin-left:2em;margin-right:2em;}
    .s4s-environment-abstract-tag{display:block;height:2em;text-align:center;font-style:normal;font-weight:bold}

    /* - CSS code generated by soft4science SciWriter  -*/
]]></style>
    <link rel="stylesheet" href="http://www.alpheratz.net/css/murison.css" type="text/css" media="screen" />
  </head>
  <body style="margin-left:50px;margin-right:50px;margin-top:50px;margin-bottom:50px">
    <div class="s4s-environment-title" id="TITLE.cf899c93-dbac-4e44-9726-86745ab7c612">
      <p class="s4s-environment-title-title">A Practical Method for Solving the Kepler Equation</p>
      <p style="text-align:center">
        <a href="http://www.alpheratz.net/murison/">Marc A. Murison</a>
      </p>
      <p style="text-align:center">U.S. Naval Observatory, Washington, DC</p>
      <p style="text-align:center">
        <em>murison@usno.navy.mil</em>
      </p>
      <p class="s4s-empty-paragraph" />
      <p style="text-align:center">6 November, 2006</p>
    </div>
    <p class="s4s-empty-paragraph" />
    <div class="s4s-environment-abstract" id="ABSTRACT.a28cefe9-4624-4c71-aba9-674501beb875">
      <p class="s4s-noindent">
        <span class="s4s-environment-abstract-tag">Abstract </span>We summarize and show a practical yet fast method, optimized with respect to cpu time, that numerically solves the Kepler equation.</p>
    </div>
    <p class="s4s-empty-paragraph" />
    <p>Subject headings: celestial mechanics—two-body problem—Kepler equation</p>
    <p class="s4s-empty-paragraph"> </p>
    <p class="s4s-empty-paragraph" />
    <p>The <a href="http://www.w3schools.com/xml/" onclick="window.open(this.href,'_blank');return false;">XML</a> version of this document is available on the web at<br /><a href="http://murison.alpheratz.net/dynamics/twobody/KeplerIterations_summary.xml" onclick="window.open(this.href,'_blank');return false;">http://www.alpheratz.net/murison/dynamics/twobody/KeplerIterations_summary.xml</a></p>
    <p>The <a href="http://www.adobe.com/products/acrobat/readstep2.html" onclick="window.open(this.href,'_blank');return false;">PDF</a> version of this document is available on the web at<br /><a href="http://murison.alpheratz.net/dynamics/twobody/KeplerIterations_summary.pdf" onclick="window.open(this.href,'_blank');return false;">http://www.alpheratz.net/murison/dynamics/twobody/KeplerIterations_summary.pdf</a></p>
    <hr />
    <table class="s4s-toc-table" width="100%">
      <tbody>
        <tr>
          <td>1  <a href="#SECTION.c4d9ba26-a290-4062-b04f-3cd3048f3237">Introduction</a></td>
        </tr>
        <tr>
          <td>2  <a href="#SECTION.1e721c82-8f55-4981-a4b8-16c0a4a9144f">A Starting Value Method</a></td>
        </tr>
        <tr>
          <td>3  <a href="#SECTION.65318b79-5932-48b3-b44a-3b928c10a431">An Iteration Method</a></td>
        </tr>
        <tr>
          <td>4  <a href="#SECTION.def6e99a-f6f7-40c3-ac4e-8246894d462c">Converting between True and Eccentric Anomaly</a></td>
        </tr>
        <tr>
          <td>5  <a href="#SECTION.d01047a6-a9b9-405a-aec3-de3b599e4b92">Summary: A Useful Numerical Method</a></td>
        </tr>
      </tbody>
    </table>
    <p class="s4s-empty-paragraph" />
    <h1 class="s4s-section-numbered" id="SECTION.c4d9ba26-a290-4062-b04f-3cd3048f3237">
      <span class="s4s-section-number">1  </span>Introduction</h1>
    <p class="s4s-noindent">The <a href="http://mathworld.wolfram.com/KeplersEquation.html" onclick="window.open(this.href,'_blank');return false;">Kepler equation</a> relates the linearly advancing time to the nonlinear relative angular position between two bodies <math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>m</mi><mrow><mn>1</mn></mrow></msub></math> and <math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>m</mi><mrow><mn>2</mn></mrow></msub></math> in Keplerian motion about their center of mass. It is</p>
    <table class="s4s-num-eq" width="100%">
      <tbody>
        <tr>
          <td style="width:95%" align="center">
            <math display="block" xmlns="http://www.w3.org/1998/Math/MathML">
              <mi>E</mi>
              <mfenced>
                <mi>t</mi>
              </mfenced>
              <mo>&minus;</mo>
              <mi>e</mi>
              <mo>&InvisibleTimes;</mo>
              <mi>sin</mi>
              <mo>&InvisibleTimes;</mo>
              <mi>E</mi>
              <mfenced>
                <mi>t</mi>
              </mfenced>
              <mo>&equals;</mo>
              <mi>M</mi>
              <mfenced>
                <mi>t</mi>
              </mfenced>
            </math>
          </td>
          <td class="s4s-equation-numbered" align="right" id="EQUATION.6c914cad-f0bc-4537-9e0c-22433264c7cb">
            <span class="s4s-equation-number">(1)</span> </td>
        </tr>
      </tbody>
    </table>
    <p class="s4s-noindent">where <math xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi></math> is the eccentric anomaly, <math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi></math> is the orbital eccentricity, and <math xmlns="http://www.w3.org/1998/Math/MathML"><mi>M</mi><mfenced><mi>t</mi></mfenced><mo>&equals;</mo><mi>n</mi><mo>&InvisibleTimes;</mo><mfenced separators=""><mi>t</mi><mo>&minus;</mo><mi>&tau;</mi></mfenced></math> is the mean anomaly, where <math xmlns="http://www.w3.org/1998/Math/MathML"><mi>n</mi><mo>&equals;</mo><msqrt><mrow><mfrac bevelled="true"><mrow><mi>G</mi><mrow><mo>&lpar;</mo><msub><mi>m</mi><mrow><mn>1</mn></mrow></msub><mo>&plus;</mo><msub><mi>m</mi><mrow><mn>2</mn></mrow></msub><mo>&rpar;</mo></mrow></mrow><mrow><msup><mi>a</mi><mrow><mn>3</mn></mrow></msup></mrow></mfrac></mrow></msqrt></math> is the two-body <a href="http://scienceworld.wolfram.com/physics/MeanMotion.html" onclick="window.open(this.href,'_blank');return false;">mean motion</a> with <math xmlns="http://www.w3.org/1998/Math/MathML"><mi>&tau;</mi></math> being the time of pericenter passage and <math xmlns="http://www.w3.org/1998/Math/MathML"><mi>a</mi></math> the semimajor axis of the orbital ellipse. See Figure <a class="s4s-figure-reference" href="#FIGURE.71a83ac8-54a0-405d-b1f1-0113ed3702f3">1</a>. </p>
    <div class="s4s-table-center">
      <table class="s4s-figure">
        <tbody>
          <tr>
            <td align="center">
              <img alt="Eccentric and True Anomalies" src="Eccentric_and_TrueAnomalies.jpg" class="s4s-graphics-tex DVI-AB-8-CM-ANG-0 PDF-AB-8-CM-ANG-0" />
            </td>
          </tr>
          <tr>
            <td class="s4s-figure-numbered" id="FIGURE.71a83ac8-54a0-405d-b1f1-0113ed3702f3">
              <span class="s4s-figure-number">Figure 1:  </span>The geometric relationship between the eccentric anomaly <math xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi></math> and the true anomaly <math xmlns="http://www.w3.org/1998/Math/MathML"><mi>&theta;</mi></math>.</td>
          </tr>
        </tbody>
      </table>
    </div>
    <p class="s4s-noindent">We will outline here the development of a numerical method for solving the Kepler equation. Ideally, a method should be practical in the sense that it should simultaneously try to (1) minimize the cpu time spent solving for <math xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi></math> and (2) minimize the programming complexity of the procedure. These two requirements tend to oppose each other, so we shall arrive at a suitable compromise. Fortunately, the compromise shown here is in fact ideal. A more detailed and comlete development will appear in another paper. The emphasis here is on immediate practicality.</p>
    <p class="s4s-empty-paragraph"> </p>
    <p>The Kepler equation is transcendental, which means solutions must be found iteratively. Thus, any numerical procedure will have two tasks. First is the iterative loop wherein some refining algorithm is repeated until a satisfactory convergence is achieved. Generally, the higher the order of the algorithm, the fewer iterative passes needed. However, higher order brings with it a mushrooming expression complexity, which costs cpu time. Thus, for whatever algorithm one chooses, a certain (usually low) order will result in minimum cpu expenditure. The second task is to choose a starting value for the iterative loop. The better the initial approximation, the faster the loop will converge. The starting value method need not be the same as, or even remotely similar to, the iteration method. Similar to the iteration algorithm, there will be an ideal order for a given starting value approximation method that minimizes the cpu cost.</p>
    <p class="s4s-empty-paragraph"> </p>
    <p>In what follows, we present a particularly simple starting value method, followed by what turns out to be a fast iteration method. In Section <a class="s4s-section-reference" href="#SECTION.d01047a6-a9b9-405a-aec3-de3b599e4b92">5</a> we show results from work elsewhere that indicates the choice of order for each method summarized here is ideal, followed by a fast and fool-proof procedure that uses these methods. Fortunately, it is surprisingly simple and easy to adapt to any numerical computing language.</p>
    <h1 class="s4s-section-numbered" id="SECTION.1e721c82-8f55-4981-a4b8-16c0a4a9144f">
      <span class="s4s-section-number">2  </span>A Starting Value Method</h1>
    <p class="s4s-noindent">Since we must solve the Kepler equation iteratively, it seems reasonable that the more accurate the starting value we feed to the iterative loop the better, at least until expression complexity becomes objectionable. Write the Kepler equation as</p>
    <table class="s4s-num-eq" width="100%">
      <tbody>
        <tr>
          <td style="width:95%" align="center">
            <math display="block" xmlns="http://www.w3.org/1998/Math/MathML">
              <mi>E</mi>
              <mo>&equals;</mo>
              <mi>M</mi>
              <mo>&plus;</mo>
              <mi>e</mi>
              <mo>&InvisibleTimes;</mo>
              <mi>sin</mi>
              <mo>&InvisibleTimes;</mo>
              <mi>E</mi>
            </math>
          </td>
          <td class="s4s-equation-numbered" align="right" id="EQUATION.ed68eb61-84ac-474e-8de7-aecb6fd0661e">
            <span class="s4s-equation-number">(2)</span> </td>
        </tr>
      </tbody>
    </table>
    <p class="s4s-noindent">In the limit of zero eccentricity, we just have <math xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mo>&equals;</mo><mi>M</mi></math>. Thus, <a class="s4s-equation-reference" href="#EQUATION.ed68eb61-84ac-474e-8de7-aecb6fd0661e">(2)</a> suggests a simple iterative scheme for improving the starting approximation <math xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi><mo>&equals;</mo><mi>M</mi></math>. Write</p>
    <table class="s4s-num-eq" width="100%">
      <tbody>
        <tr>
          <td style="width:95%" align="center">
            <math display="block" xmlns="http://www.w3.org/1998/Math/MathML">
              <msub>
                <mi>E</mi>
                <mrow>
                  <mi>k</mi>
                </mrow>
              </msub>
              <mo>&equals;</mo>
              <mi>M</mi>
              <mo>&plus;</mo>
              <mi>e</mi>
              <mo>&InvisibleTimes;</mo>
              <mi>sin</mi>
              <mo>&InvisibleTimes;</mo>
              <msub>
                <mi>E</mi>
                <mrow>
                  <mi>k</mi>
                  <mo>&minus;</mo>
                  <mn>1</mn>
                </mrow>
              </msub>
            </math>
          </td>
          <td class="s4s-equation-numbered" align="right" id="EQUATION.ccd88ffe-0d2e-4f0e-aeb2-a253cdc037f8">
            <span class="s4s-equation-number">(3)</span> </td>
        </tr>
      </tbody>
    </table>
    <p class="s4s-noindent">where <math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>E</mi><mrow><mn>0</mn></mrow></msub><mo>&equals;</mo><mi>M</mi></math>. We can then iterate the recursive expression <a class="s4s-equation-reference" href="#EQUATION.ccd88ffe-0d2e-4f0e-aeb2-a253cdc037f8">(3)</a> to as many orders in <math xmlns="http://www.w3.org/1998/Math/MathML"><mi>e</mi></math> as desired. For example, the third-order approximation is</p>
    <table class="s4s-num-eq" width="100%">
      <tbody>
        <tr>
          <td style="width:95%" align="center">
            <math display="block" xmlns="http://www.w3.org/1998/Math/MathML">
              <mi>E</mi>
              <mo>&equals;</mo>
              <mrow>
                <mi>M</mi>
                <mo>&plus;</mo>
                <mrow>
                  <mrow>
                    <mi>e</mi>
                    <mo>&InvisibleTimes;</mo>
                    <mi>sin</mi>
                    <mo>&ApplyFunction;</mo>
                    <mi>M</mi>
                  </mrow>
                </mrow>
                <mo>&plus;</mo>
                <mrow>
                  <msup>
                    <mi>e</mi>
                    <mn>2</mn>
                  </msup>
                  <mrow>
                    <mi>sin</mi>
                    <mo>&ApplyFunction;</mo>
                    <mi>M</mi>
                  </mrow>
                  <mo>&InvisibleTimes;</mo>
                  <mrow>
                    <mrow>
                      <mi>cos</mi>
                      <mo>&ApplyFunction;</mo>
                      <mi>M</mi>
                    </mrow>
                  </mrow>
                </mrow>
                <mo>&plus;</mo>
                <mfrac>
                  <mrow>
                    <mn>1</mn>
                  </mrow>
                  <mrow>
                    <mn>2</mn>
                  </mrow>
                </mfrac>
                <msup>
                  <mi>e</mi>
                  <mn>3</mn>
                </msup>
                <mrow>
                  <mi>sin</mi>
                  <mo>&ApplyFunction;</mo>
                  <mi>M</mi>
                </mrow>
                <mo>&InvisibleTimes;</mo>
                <mrow>
                  <mfenced>
                    <mrow>
                      <mrow>
                        <mn>3</mn>
                        <mrow>
                          <msup>
                            <mi>cos</mi>
                            <mn>2</mn>
                          </msup>
                          <mi>M</mi>
                        </mrow>
                      </mrow>
                      <mo>&minus;</mo>
                      <mrow>
                        <mn>1</mn>
                      </mrow>
                    </mrow>
                  </mfenced>
                </mrow>
              </mrow>
            </math>
          </td>
          <td class="s4s-equation-numbered" align="right" id="EQUATION.e08ce286-37bb-4117-b66d-a9cc66ab1ab1">
            <span class="s4s-equation-number">(4)</span> </td>
        </tr>
      </tbody>
    </table>
    <p class="s4s-noindent">An third-order pseudocode procedure for <a class="s4s-equation-reference" href="#EQUATION.e08ce286-37bb-4117-b66d-a9cc66ab1ab1">(4)</a>, optimized with respect to calculation time, is</p>
    <p class="s4s-empty-paragraph" />
    <p>
      <span style="color:#804000;font-family:Courier New">KeplerStart3 := proc(e,M)</span>
    </p>
    <p style="margin-left:30px">
      <span style="color:#804000;font-family:Courier New">local t33, t35, t34;</span>
    </p>
    <p style="margin-left:30px">
      <span style="color:#804000;font-family:Courier New">t34 := e^2;</span>
    </p>
    <p style="margin-left:30px">
      <span style="color:#804000;font-family:Courier New">t35 := e*t34;</span>
    </p>
    <p style="margin-left:30px">
      <span style="color:#804000;font-family:Courier New">t33 := cos(M);</span>
    </p>
    <p style="margin-left:30px">
      <span style="color:#804000;font-family:Courier New">return M+(-1/2*t35+e+(t34+3/2*t33*t35)*t33)*sin(M);</span>
    </p>
    <p>
      <span style="color:#804000;font-family:Courier New">end proc;</span>
    </p>
    <h1 class="s4s-section-numbered" id="SECTION.65318b79-5932-48b3-b44a-3b928c10a431">
      <span class="s4s-section-number">3  </span>An Iteration Method</h1>
    <p class="s4s-noindent">Since <a class="s4s-equation-reference" href="#EQUATION.6c914cad-f0bc-4537-9e0c-22433264c7cb">(1)</a> is a transcendental equation, it must be solved iteratively, whether numerically or analytically. So we must search for an expression that, when given some <math xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi></math> that is in error, returns an approximation that reduces the error. It must also converge. To that end, write eq. <a class="s4s-equation-reference" href="#EQUATION.6c914cad-f0bc-4537-9e0c-22433264c7cb">(1)</a> in the form</p>
    <table class="s4s-num-eq" width="100%">
      <tbody>
        <tr>
          <td style="width:95%" align="center">
            <math display="block" xmlns="http://www.w3.org/1998/Math/MathML">
              <mi>f</mi>
              <mfenced>
                <mi>x</mi>
              </mfenced>
              <mo>&equals;</mo>
              <mi>x</mi>
              <mo>&minus;</mo>
              <mi>e</mi>
              <mo>&InvisibleTimes;</mo>
              <mi>sin</mi>
              <mo>&InvisibleTimes;</mo>
              <mi>x</mi>
              <mo>&minus;</mo>
              <mi>M</mi>
            </math>
          </td>
          <td class="s4s-equation-numbered" align="right">
            <span class="s4s-equation-number">(5)</span> </td>
        </tr>
      </tbody>
    </table>
    <p class="s4s-noindent">where the solution of <math xmlns="http://www.w3.org/1998/Math/MathML"><mi>f</mi><mfenced><mi>x</mi></mfenced><mo>&equals;</mo><mn>0</mn></math> is <math xmlns="http://www.w3.org/1998/Math/MathML"><mi>x</mi><mo>&equals;</mo><mi>E</mi></math>. Let <math xmlns="http://www.w3.org/1998/Math/MathML"><mi>&epsiv;</mi><mo>&equiv;</mo><mi>x</mi><mo>&minus;</mo><mi>E</mi></math> be the error in the approximation of <math xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi></math> given by <math xmlns="http://www.w3.org/1998/Math/MathML"><mi>x</mi></math>. Then a <a href="http://en.wikipedia.org/wiki/Taylor_series" onclick="window.open(this.href,'_blank');return false;">Taylor expansion</a> about <math xmlns="http://www.w3.org/1998/Math/MathML"><mi>x</mi><mo>&equals;</mo><mi>E</mi></math> yields</p>
    <table class="s4s-num-eq" width="100%">
      <tbody>
        <tr>
          <td style="width:95%" align="center">
            <math display="block" xmlns="http://www.w3.org/1998/Math/MathML">
              <mi>f</mi>
              <mfenced>
                <mi>E</mi>
              </mfenced>
              <mo>&equals;</mo>
              <mi>f</mi>
              <mfenced separators="">
                <mi>x</mi>
                <mo>&minus;</mo>
                <mi>&epsiv;</mi>
              </mfenced>
              <mo>&equals;</mo>
              <mrow>
                <mi>x</mi>
                <mo>&minus;</mo>
                <mi>e</mi>
                <mo>&InvisibleTimes;</mo>
                <mi>sin</mi>
                <mo>&InvisibleTimes;</mo>
                <mi>x</mi>
                <mo>&minus;</mo>
                <mi>M</mi>
                <mo>&minus;</mo>
                <mrow>
                  <mfenced>
                    <mrow>
                      <mn>1</mn>
                      <mo>&minus;</mo>
                      <mi>e</mi>
                      <mo>&InvisibleTimes;</mo>
                      <mi>cos</mi>
                      <mo>&InvisibleTimes;</mo>
                      <mi>x</mi>
                    </mrow>
                  </mfenced>
                  <mo>&InvisibleTimes;</mo>
                  <mi>&epsiv;</mi>
                </mrow>
                <mo>&plus;</mo>
                <mrow>
                  <mrow>
                    <mrow>
                      <mfrac>
                        <mn>1</mn>
                        <mn>2</mn>
                      </mfrac>
                    </mrow>
                    <msup>
                      <mrow>
                        <mi>&epsiv;</mi>
                      </mrow>
                      <mn>2</mn>
                    </msup>
                    <mi>e</mi>
                    <mo>&InvisibleTimes;</mo>
                    <mi>sin</mi>
                    <mo>&InvisibleTimes;</mo>
                    <mi>x</mi>
                  </mrow>
                </mrow>
                <mo>&minus;</mo>
                <mrow>
                  <mrow>
                    <mrow>
                      <mfrac>
                        <mn>1</mn>
                        <mn>6</mn>
                      </mfrac>
                      <msup>
                        <mrow>
                          <mi>&epsiv;</mi>
                        </mrow>
                        <mn>3</mn>
                      </msup>
                      <mi>e</mi>
                      <mo>&InvisibleTimes;</mo>
                    </mrow>
                    <mi>cos</mi>
                    <mo>&InvisibleTimes;</mo>
                    <mi>x</mi>
                  </mrow>
                </mrow>
                <mo>&plus;</mo>
                <mi>...</mi>
              </mrow>
            </math>
          </td>
          <td class="s4s-equation-numbered" align="right" id="EQUATION.928aae6c-10d5-4492-8c8a-40ce88bc1d0a">
            <span class="s4s-equation-number">(6)</span> </td>
        </tr>
      </tbody>
    </table>
    <p class="s4s-noindent">assuming <math xmlns="http://www.w3.org/1998/Math/MathML"><mi>&epsiv;</mi></math> is small.</p>
    <p class="s4s-empty-paragraph" />
    <p>We may solve the first-order term of <a class="s4s-equation-reference" href="#EQUATION.928aae6c-10d5-4492-8c8a-40ce88bc1d0a">(6)</a> for <math xmlns="http://www.w3.org/1998/Math/MathML"><mi>&epsiv;</mi></math> to get</p>
    <table class="s4s-num-eq" width="100%">
      <tbody>
        <tr>
          <td style="width:95%" align="center">
            <math display="block" xmlns="http://www.w3.org/1998/Math/MathML">
              <mrow>
                <mi>&epsiv;</mi>
                <mo>&equals;</mo>
                <mfrac>
                  <mrow>
                    <mrow>
                      <mi>x</mi>
                    </mrow>
                    <mo>&minus;</mo>
                    <mi>e</mi>
                    <mo>&InvisibleTimes;</mo>
                    <mi>sin</mi>
                    <mo>&InvisibleTimes;</mo>
                    <mi>x</mi>
                    <mo>&minus;</mo>
                    <mi>M</mi>
                  </mrow>
                  <mrow>
                    <mn>1</mn>
                    <mo>&minus;</mo>
                    <mi>e</mi>
                    <mo>&InvisibleTimes;</mo>
                    <mi>cos</mi>
                    <mo>&InvisibleTimes;</mo>
                    <mi>x</mi>
                  </mrow>
                </mfrac>
              </mrow>
            </math>
          </td>
          <td class="s4s-equation-numbered" align="right" id="EQUATION.a6eb467e-0665-4582-93f7-eb29267858d7">
            <span class="s4s-equation-number">(7)</span> </td>
        </tr>
      </tbody>
    </table>
    <p class="s4s-noindent">We can use this as the kernel of a first-order iterative scheme. Suppose we start with an initial guess, <math xmlns="http://www.w3.org/1998/Math/MathML"><mi>x</mi><mo>&equals;</mo><msub><mi>x</mi><mrow><mn>0</mn></mrow></msub></math>. Then <math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>x</mi><mrow><mn>1</mn></mrow></msub><mo>&equals;</mo><msub><mi>x</mi><mrow><mn>0</mn></mrow></msub><mo>&plus;</mo><mi>&epsiv;</mi></math> should be a better approximation for <math xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi></math> than <math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>x</mi><mrow><mn>0</mn></mrow></msub></math>, and so on. Thus, we posit the first-order iterative procedure</p>
    <table class="s4s-num-eq" width="100%">
      <tbody>
        <tr>
          <td style="width:95%" align="center">
            <math display="block" xmlns="http://www.w3.org/1998/Math/MathML">
              <mrow>
                <msub>
                  <mi>&epsiv;</mi>
                  <mrow>
                    <mi>n</mi>
                    <mo>&plus;</mo>
                    <mn>1</mn>
                  </mrow>
                </msub>
                <mo>&equals;</mo>
                <mfrac>
                  <mrow>
                    <msub>
                      <mi>x</mi>
                      <mrow>
                        <mi>n</mi>
                      </mrow>
                    </msub>
                    <mo>&minus;</mo>
                    <mi>e</mi>
                    <mo>&InvisibleTimes;</mo>
                    <mi>sin</mi>
                    <mo>&InvisibleTimes;</mo>
                    <msub>
                      <mi>x</mi>
                      <mrow>
                        <mi>n</mi>
                      </mrow>
                    </msub>
                    <mo>&minus;</mo>
                    <mi>M</mi>
                  </mrow>
                  <mrow>
                    <mn>1</mn>
                    <mo>&minus;</mo>
                    <mi>e</mi>
                    <mo>&InvisibleTimes;</mo>
                    <mi>cos</mi>
                    <mo>&InvisibleTimes;</mo>
                    <msub>
                      <mi>x</mi>
                      <mrow>
                        <mi>n</mi>
                      </mrow>
                    </msub>
                  </mrow>
                </mfrac>
              </mrow>
            </math>
          </td>
          <td class="s4s-equation-numbered" align="right" id="EQUATION.0bf1eba2-59a0-4d5c-bed5-452347002578">
            <span class="s4s-equation-number">(8)</span> </td>
        </tr>
      </tbody>
    </table>
    <p class="s4s-noindent">where the choice of starting value for <math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>x</mi><mrow><mn>0</mn></mrow></msub></math> will be discussed below. We have in <a class="s4s-equation-reference" href="#EQUATION.0bf1eba2-59a0-4d5c-bed5-452347002578">(8)</a> a single-step first-order iterative method for estimating <math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>E</mi><mrow><mi>n</mi><mo>&plus;</mo><mn>1</mn></mrow></msub><mo>&equals;</mo><msub><mi>E</mi><mrow><mi>n</mi></mrow></msub><mo>&minus;</mo><msub><mi>&epsiv;</mi><mrow><mi>n</mi></mrow></msub></math>. A pseudocode procedure for <a class="s4s-equation-reference" href="#EQUATION.0bf1eba2-59a0-4d5c-bed5-452347002578">(8)</a> is</p>
    <p class="s4s-empty-paragraph" />
    <p>
      <span style="color:#804000;font-family:Courier New">eps1 := proc(e,M,x)</span>
    </p>
    <p style="margin-left:30px">
      <span style="color:#804000;font-family:Courier New">return (x-e*sin(x)-M)/(1-e*cos(x));</span>
    </p>
    <p>
      <span style="color:#804000;font-family:Courier New">end proc;</span>
    </p>
    <p class="s4s-empty-paragraph" />
    <p>At second order, <a class="s4s-equation-reference" href="#EQUATION.928aae6c-10d5-4492-8c8a-40ce88bc1d0a">(6)</a> in Horner form is</p>
    <table class="s4s-num-eq" width="100%">
      <tbody>
        <tr>
          <td style="width:95%" align="center">
            <math display="block" xmlns="http://www.w3.org/1998/Math/MathML">
              <mrow>
                <mi>f</mi>
                <mfenced separators="">
                  <mi>x</mi>
                  <mo>&minus;</mo>
                  <mi>&epsiv;</mi>
                </mfenced>
                <mo>&equals;</mo>
                <mrow>
                  <mi>x</mi>
                  <mo>&minus;</mo>
                  <mi>e</mi>
                  <mo>&InvisibleTimes;</mo>
                  <mi>sin</mi>
                  <mo>&InvisibleTimes;</mo>
                  <mi>x</mi>
                  <mo>&minus;</mo>
                  <mi>M</mi>
                  <mo>&minus;</mo>
                  <mrow>
                    <mfenced>
                      <mrow>
                        <mn>1</mn>
                        <mo>&minus;</mo>
                        <mi>e</mi>
                        <mo>&InvisibleTimes;</mo>
                        <mi>cos</mi>
                        <mo>&InvisibleTimes;</mo>
                        <mi>x</mi>
                        <mo>&minus;</mo>
                        <mrow>
                          <mrow>
                            <mfrac>
                              <mn>1</mn>
                              <mn>2</mn>
                            </mfrac>
                          </mrow>
                          <mo>&InvisibleTimes;</mo>
                          <mi>e</mi>
                          <mo>&InvisibleTimes;</mo>
                          <mi>sin</mi>
                          <mo>&InvisibleTimes;</mo>
                          <mi>x</mi>
                        </mrow>
                        <mo>&middot;</mo>
                        <mi>&epsiv;</mi>
                      </mrow>
                    </mfenced>
                    <mo>&InvisibleTimes;</mo>
                    <mi>&epsiv;</mi>
                  </mrow>
                </mrow>
              </mrow>
            </math>
          </td>
          <td class="s4s-equation-numbered" align="right" id="EQUATION.25f92b74-467e-47c1-b5f0-fd7575ff98ec">
            <span class="s4s-equation-number">(9)</span> </td>
        </tr>
      </tbody>
    </table>
    <p class="s4s-noindent">We may rearrange <math xmlns="http://www.w3.org/1998/Math/MathML"><mi>f</mi><mfenced separators=""><mi>x</mi><mo>&minus;</mo><mi>&epsiv;</mi></mfenced><mo>&equals;</mo><mn>0</mn></math> given by <a class="s4s-equation-reference" href="#EQUATION.25f92b74-467e-47c1-b5f0-fd7575ff98ec">(9)</a> into the suggestive form</p>
    <table class="s4s-num-eq" width="100%">
      <tbody>
        <tr>
          <td style="width:95%" align="center">
            <math display="block" xmlns="http://www.w3.org/1998/Math/MathML">
              <mrow>
                <mi>&epsiv;</mi>
                <mo>&equals;</mo>
                <mfrac>
                  <mrow>
                    <mrow>
                      <mi>x</mi>
                    </mrow>
                    <mo>&minus;</mo>
                    <mi>e</mi>
                    <mo>&InvisibleTimes;</mo>
                    <mi>sin</mi>
                    <mo>&InvisibleTimes;</mo>
                    <mi>x</mi>
                    <mo>&minus;</mo>
                    <mi>M</mi>
                  </mrow>
                  <mrow>
                    <mn>1</mn>
                    <mo>&minus;</mo>
                    <mi>e</mi>
                    <mo>&InvisibleTimes;</mo>
                    <mi>cos</mi>
                    <mo>&InvisibleTimes;</mo>
                    <mi>x</mi>
                    <mo>&minus;</mo>
                    <mrow>
                      <mrow>
                        <mfrac>
                          <mn>1</mn>
                          <mn>2</mn>
                        </mfrac>
                      </mrow>
                      <mi>&epsiv;</mi>
                      <mo>&InvisibleTimes;</mo>
                      <mi>e</mi>
                      <mo>&InvisibleTimes;</mo>
                      <mi>sin</mi>
                      <mo>&InvisibleTimes;</mo>
                      <mi>x</mi>
                    </mrow>
                  </mrow>
                </mfrac>
              </mrow>
            </math>
          </td>
          <td class="s4s-equation-numbered" align="right">
            <span class="s4s-equation-number">(10)</span> </td>
        </tr>
      </tbody>
    </table>
    <p class="s4s-noindent">Hence, let us create a second-order iterative scheme by writing, in analogy to <a class="s4s-equation-reference" href="#EQUATION.0bf1eba2-59a0-4d5c-bed5-452347002578">(8)</a>,</p>
    <table class="s4s-num-eq" width="100%">
      <tbody>
        <tr>
          <td style="width:95%" align="center">
            <math display="block" xmlns="http://www.w3.org/1998/Math/MathML">
              <mrow>
                <msub>
                  <mi>&epsiv;</mi>
                  <mrow>
                    <mi>n</mi>
                    <mo>&plus;</mo>
                    <mn>1</mn>
                  </mrow>
                </msub>
                <mo>&equals;</mo>
                <mfrac>
                  <mrow>
                    <msub>
                      <mi>x</mi>
                      <mrow>
                        <mi>n</mi>
                      </mrow>
                    </msub>
                    <mo>&minus;</mo>
                    <mi>e</mi>
                    <mo>&InvisibleTimes;</mo>
                    <mi>sin</mi>
                    <mo>&InvisibleTimes;</mo>
                    <msub>
                      <mi>x</mi>
                      <mrow>
                        <mi>n</mi>
                      </mrow>
                    </msub>
                    <mo>&minus;</mo>
                    <mi>M</mi>
                  </mrow>
                  <mrow>
                    <mn>1</mn>
                    <mo>&minus;</mo>
                    <mi>e</mi>
                    <mo>&InvisibleTimes;</mo>
                    <mi>cos</mi>
                    <mo>&InvisibleTimes;</mo>
                    <msub>
                      <mi>x</mi>
                      <mrow>
                        <mi>n</mi>
                      </mrow>
                    </msub>
                    <mo>&minus;</mo>
                    <mrow>
                      <mrow>
                        <mfrac>
                          <mn>1</mn>
                          <mn>2</mn>
                        </mfrac>
                      </mrow>
                      <msub>
                        <mi>&epsiv;</mi>
                        <mrow>
                          <mi>n</mi>
                        </mrow>
                      </msub>
                      <mo>&InvisibleTimes;</mo>
                      <mi>e</mi>
                      <mo>&InvisibleTimes;</mo>
                      <mi>sin</mi>
                      <mo>&InvisibleTimes;</mo>
                      <msub>
                        <mi>x</mi>
                        <mrow>
                          <mi>n</mi>
                        </mrow>
                      </msub>
                    </mrow>
                  </mrow>
                </mfrac>
              </mrow>
            </math>
          </td>
          <td class="s4s-equation-numbered" align="right" id="EQUATION.a4e48817-3077-4c34-8e43-b5efd018abe3">
            <span class="s4s-equation-number">(11)</span> </td>
        </tr>
      </tbody>
    </table>
    <p class="s4s-noindent">We can create a two-step iterative procedure out of this by first calculating <math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>&epsiv;</mi><mrow><mi>n</mi></mrow></msub></math> given by <a class="s4s-equation-reference" href="#EQUATION.0bf1eba2-59a0-4d5c-bed5-452347002578">(8)</a> and then <math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>&epsiv;</mi><mrow><mi>n</mi><mo>&plus;</mo><mn>1</mn></mrow></msub></math> given by <a class="s4s-equation-reference" href="#EQUATION.a4e48817-3077-4c34-8e43-b5efd018abe3">(11)</a>. We can also just skip the intermediate step by substituting <a class="s4s-equation-reference" href="#EQUATION.a6eb467e-0665-4582-93f7-eb29267858d7">(7)</a> directly for <math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>&epsiv;</mi><mrow><mi>n</mi></mrow></msub></math> in <a class="s4s-equation-reference" href="#EQUATION.a4e48817-3077-4c34-8e43-b5efd018abe3">(11)</a>. Then the single-step iteration is</p>
    <table class="s4s-num-eq" width="100%">
      <tbody>
        <tr>
          <td style="width:95%" align="center">
            <math display="block" xmlns="http://www.w3.org/1998/Math/MathML">
              <mrow>
                <msub>
                  <mi>&epsiv;</mi>
                  <mrow>
                    <mi>n</mi>
                    <mo>&plus;</mo>
                    <mn>1</mn>
                  </mrow>
                </msub>
                <mo>&equals;</mo>
                <mfrac>
                  <mrow>
                    <msub>
                      <mi>x</mi>
                      <mrow>
                        <mi>n</mi>
                      </mrow>
                    </msub>
                    <mo>&minus;</mo>
                    <mi>e</mi>
                    <mo>&InvisibleTimes;</mo>
                    <mi>sin</mi>
                    <mo>&InvisibleTimes;</mo>
                    <msub>
                      <mi>x</mi>
                      <mrow>
                        <mi>n</mi>
                      </mrow>
                    </msub>
                    <mo>&minus;</mo>
                    <mi>M</mi>
                  </mrow>
                  <mrow>
                    <mn>1</mn>
                    <mo>&minus;</mo>
                    <mi>e</mi>
                    <mo>&InvisibleTimes;</mo>
                    <mi>cos</mi>
                    <mo>&InvisibleTimes;</mo>
                    <msub>
                      <mi>x</mi>
                      <mrow>
                        <mi>n</mi>
                      </mrow>
                    </msub>
                    <mo>&minus;</mo>
                    <mrow>
                      <mrow>
                        <mfrac>
                          <mn>1</mn>
                          <mn>2</mn>
                        </mfrac>
                      </mrow>
                      <mo>&InvisibleTimes;</mo>
                      <mi>e</mi>
                      <mo>&InvisibleTimes;</mo>
                      <mi>sin</mi>
                      <mo>&InvisibleTimes;</mo>
                      <msub>
                        <mi>x</mi>
                        <mrow>
                          <mi>n</mi>
                        </mrow>
                      </msub>
                    </mrow>
                    <mfrac>
                      <mrow>
                        <msub>
                          <mi>x</mi>
                          <mrow>
                            <mi>n</mi>
                          </mrow>
                        </msub>
                        <mo>&minus;</mo>
                        <mi>e</mi>
                        <mo>&InvisibleTimes;</mo>
                        <mi>sin</mi>
                        <mo>&InvisibleTimes;</mo>
                        <msub>
                          <mi>x</mi>
                          <mrow>
                            <mi>n</mi>
                          </mrow>
                        </msub>
                        <mo>&minus;</mo>
                        <mi>M</mi>
                      </mrow>
                      <mrow>
                        <mn>1</mn>
                        <mo>&minus;</mo>
                        <mi>e</mi>
                        <mo>&InvisibleTimes;</mo>
                        <mi>cos</mi>
                        <mo>&InvisibleTimes;</mo>
                        <msub>
                          <mi>x</mi>
                          <mrow>
                            <mi>n</mi>
                          </mrow>
                        </msub>
                      </mrow>
                    </mfrac>
                  </mrow>
                </mfrac>
              </mrow>
            </math>
          </td>
          <td class="s4s-equation-numbered" align="right" id="EQUATION.e28db44f-f84c-4c77-8814-6ad54dbe6911">
            <span class="s4s-equation-number">(12)</span> </td>
        </tr>
      </tbody>
    </table>
    <p class="s4s-noindent">An optimized pseudocode procedure for <a class="s4s-equation-reference" href="#EQUATION.e28db44f-f84c-4c77-8814-6ad54dbe6911">(12)</a> is</p>
    <p class="s4s-empty-paragraph" />
    <p>
      <span style="color:#804000;font-family:Courier New">eps2 := proc(e,M,x)</span>
    </p>
    <p style="margin-left:30px">
      <span style="color:#804000;font-family:Courier New">local t1, t2, t3;</span>
    </p>
    <p style="margin-left:30px">
      <span style="color:#804000;font-family:Courier New">t1 := -1+e*cos(x);</span>
    </p>
    <p style="margin-left:30px">
      <span style="color:#804000;font-family:Courier New">t2 := e*sin(x);</span>
    </p>
    <p style="margin-left:30px">
      <span style="color:#804000;font-family:Courier New">t3 := -x+t2+M;</span>
    </p>
    <p style="margin-left:30px">
      <span style="color:#804000;font-family:Courier New">return t3/(1/2*t3*t2/t1+t1);</span>
    </p>
    <p>
      <span style="color:#804000;font-family:Courier New">end proc;</span>
    </p>
    <p class="s4s-empty-paragraph" />
    <p>The third-order approximation of <math xmlns="http://www.w3.org/1998/Math/MathML"><mi>f</mi><mfenced><mi>E</mi></mfenced><mo>&equals;</mo><mi>f</mi><mfenced separators=""><mi>x</mi><mo>&minus;</mo><mi>&epsiv;</mi></mfenced></math> in Horner form is</p>
    <table class="s4s-num-eq" width="100%">
      <tbody>
        <tr>
          <td style="width:95%" align="center">
            <math display="block" xmlns="http://www.w3.org/1998/Math/MathML">
              <mrow>
                <mi>f</mi>
                <mfenced separators="">
                  <mi>x</mi>
                  <mo>&minus;</mo>
                  <mi>&epsiv;</mi>
                </mfenced>
                <mo>&equals;</mo>
                <mrow>
                  <mi>x</mi>
                  <mo>&minus;</mo>
                  <mi>e</mi>
                  <mo>&InvisibleTimes;</mo>
                  <mi>sin</mi>
                  <mo>&InvisibleTimes;</mo>
                  <mi>x</mi>
                  <mo>&minus;</mo>
                  <mi>M</mi>
                  <mo>&minus;</mo>
                  <mrow>
                    <mfenced>
                      <mrow>
                        <mn>1</mn>
                        <mo>&minus;</mo>
                        <mi>e</mi>
                        <mo>&InvisibleTimes;</mo>
                        <mi>cos</mi>
                        <mo>&InvisibleTimes;</mo>
                        <mi>x</mi>
                        <mo>&minus;</mo>
                        <mrow>
                          <mfenced>
                            <mrow>
                              <mrow>
                                <mrow>
                                  <mfrac>
                                    <mn>1</mn>
                                    <mn>2</mn>
                                  </mfrac>
                                </mrow>
                                <mo>&InvisibleTimes;</mo>
                                <mi>e</mi>
                                <mo>&InvisibleTimes;</mo>
                                <mi>sin</mi>
                                <mo>&InvisibleTimes;</mo>
                                <mi>x</mi>
                              </mrow>
                              <mo>&minus;</mo>
                              <mrow>
                                <mrow>
                                  <mrow>
                                    <mfrac>
                                      <mn>1</mn>
                                      <mn>6</mn>
                                    </mfrac>
                                  </mrow>
                                  <mo>&InvisibleTimes;</mo>
                                  <mi>e</mi>
                                  <mo>&InvisibleTimes;</mo>
                                  <mi>cos</mi>
                                  <mo>&InvisibleTimes;</mo>
                                  <mi>x</mi>
                                </mrow>
                                <mo>&middot;</mo>
                                <mi>&epsiv;</mi>
                              </mrow>
                            </mrow>
                          </mfenced>
                          <mo>&InvisibleTimes;</mo>
                          <mi>&epsiv;</mi>
                        </mrow>
                      </mrow>
                    </mfenced>
                    <mo>&InvisibleTimes;</mo>
                    <mi>&epsiv;</mi>
                  </mrow>
                </mrow>
              </mrow>
            </math>
          </td>
          <td class="s4s-equation-numbered" align="right">
            <span class="s4s-equation-number">(13)</span> </td>
        </tr>
      </tbody>
    </table>
    <p class="s4s-noindent">Setting this to zero and solving for the "top-level" <math xmlns="http://www.w3.org/1998/Math/MathML"><mi>&epsiv;</mi></math> on the right-hand side, we have</p>
    <table class="s4s-num-eq" width="100%">
      <tbody>
        <tr>
          <td style="width:95%" align="center">
            <math display="block" xmlns="http://www.w3.org/1998/Math/MathML">
              <mrow>
                <msub>
                  <mi>&epsiv;</mi>
                  <mrow>
                    <mi>n</mi>
                    <mo>&plus;</mo>
                    <mn>1</mn>
                  </mrow>
                </msub>
                <mo>&equals;</mo>
                <mfrac>
                  <mrow>
                    <msub>
                      <mi>x</mi>
                      <mrow>
                        <mi>n</mi>
                      </mrow>
                    </msub>
                    <mo>&minus;</mo>
                    <mi>e</mi>
                    <mo>&InvisibleTimes;</mo>
                    <mi>sin</mi>
                    <mo>&InvisibleTimes;</mo>
                    <msub>
                      <mi>x</mi>
                      <mrow>
                        <mi>n</mi>
                      </mrow>
                    </msub>
                    <mo>&minus;</mo>
                    <mi>M</mi>
                  </mrow>
                  <mrow>
                    <mn>1</mn>
                    <mo>&minus;</mo>
                    <mi>e</mi>
                    <mo>&InvisibleTimes;</mo>
                    <mi>cos</mi>
                    <mo>&InvisibleTimes;</mo>
                    <msub>
                      <mi>x</mi>
                      <mrow>
                        <mi>n</mi>
                      </mrow>
                    </msub>
                    <mo>&minus;</mo>
                    <mfrac>
                      <mn>1</mn>
                      <mn>2</mn>
                    </mfrac>
                    <mrow>
                      <mfenced>
                        <mrow>
                          <mrow>
                            <mi>e</mi>
                            <mo>&InvisibleTimes;</mo>
                            <mi>sin</mi>
                            <mo>&InvisibleTimes;</mo>
                            <msub>
                              <mi>x</mi>
                              <mrow>
                                <mi>n</mi>
                              </mrow>
                            </msub>
                          </mrow>
                          <mo>&minus;</mo>
                          <mrow>
                            <mrow>
                              <mrow>
                                <mfrac>
                                  <mn>1</mn>
                                  <mrow>
                                    <mn>3</mn>
                                  </mrow>
                                </mfrac>
                              </mrow>
                              <mo>&InvisibleTimes;</mo>
                              <mi>e</mi>
                              <mo>&InvisibleTimes;</mo>
                              <mi>cos</mi>
                              <mo>&InvisibleTimes;</mo>
                              <msub>
                                <mi>x</mi>
                                <mrow>
                                  <mi>n</mi>
                                </mrow>
                              </msub>
                            </mrow>
                            <mo>&middot;</mo>
                            <msub>
                              <mi>&epsiv;</mi>
                              <mrow>
                                <mi>n</mi>
                              </mrow>
                            </msub>
                          </mrow>
                        </mrow>
                      </mfenced>
                      <mo>&InvisibleTimes;</mo>
                      <msub>
                        <mi>&epsiv;</mi>
                        <mrow>
                          <mi>n</mi>
                        </mrow>
                      </msub>
                    </mrow>
                  </mrow>
                </mfrac>
              </mrow>
            </math>
          </td>
          <td class="s4s-equation-numbered" align="right" id="EQUATION.9d08cba9-80a3-409f-98aa-7744a20b3ed6">
            <span class="s4s-equation-number">(14)</span> </td>
        </tr>
      </tbody>
    </table>
    <p class="s4s-noindent">We may use <a class="s4s-equation-reference" href="#EQUATION.e28db44f-f84c-4c77-8814-6ad54dbe6911">(12)</a> for <math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>&epsiv;</mi><mrow><mi>n</mi></mrow></msub></math> in <a class="s4s-equation-reference" href="#EQUATION.9d08cba9-80a3-409f-98aa-7744a20b3ed6">(14)</a> for a two-step method, or <a class="s4s-equation-reference" href="#EQUATION.0bf1eba2-59a0-4d5c-bed5-452347002578">(8)</a> for <math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>&epsiv;</mi><mrow><mi>n</mi></mrow></msub></math> in <a class="s4s-equation-reference" href="#EQUATION.a4e48817-3077-4c34-8e43-b5efd018abe3">(11)</a> and then that result for <math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>&epsiv;</mi><mrow><mi>n</mi></mrow></msub></math> in <a class="s4s-equation-reference" href="#EQUATION.9d08cba9-80a3-409f-98aa-7744a20b3ed6">(14)</a> for a three-step method. Alternatively, we can just substitute <a class="s4s-equation-reference" href="#EQUATION.e28db44f-f84c-4c77-8814-6ad54dbe6911">(12)</a> for <math xmlns="http://www.w3.org/1998/Math/MathML"><msub><mi>&epsiv;</mi><mrow><mi>n</mi></mrow></msub></math> directly in into <a class="s4s-equation-reference" href="#EQUATION.9d08cba9-80a3-409f-98aa-7744a20b3ed6">(14)</a> for a one-step third-order method. An optimized pseudocode representation for the latter is</p>
    <p class="s4s-empty-paragraph" />
    <p>
      <span style="color:#804000;font-family:Courier New">eps3 := proc(e,M,x)</span>
    </p>
    <p style="margin-left:30px">
      <span style="color:#804000;font-family:Courier New">local t1, t2, t3, t4, t5, t6;</span>
    </p>
    <p style="margin-left:30px">
      <span style="color:#804000;font-family:Courier New">t1 := cos(x);</span>
    </p>
    <p style="margin-left:30px">
      <span style="color:#804000;font-family:Courier New">t2 := -1+e*t1;</span>
    </p>
    <p style="margin-left:30px">
      <span style="color:#804000;font-family:Courier New">t3 := sin(x);</span>
    </p>
    <p style="margin-left:30px">
      <span style="color:#804000;font-family:Courier New">t4 := e*t3;</span>
    </p>
    <p style="margin-left:30px">
      <span style="color:#804000;font-family:Courier New">t5 := -x+t4+M;</span>
    </p>
    <p style="margin-left:30px">
      <span style="color:#804000;font-family:Courier New">t6 := t5/(1/2*t5*t4/t2+t2);</span>
    </p>
    <p style="margin-left:30px">
      <span style="color:#804000;font-family:Courier New">return t5/((1/2*t3 </span>
      <span style="color:#804000">-</span>
      <span style="color:#804000;font-family:Courier New"> 1/6*t1*t6)*e*t6+t2);</span>
    </p>
    <p>
      <span style="color:#804000;font-family:Courier New">end proc;</span>
    </p>
    <p class="s4s-empty-paragraph" />
    <p>One may continue in this fashion to higher orders. </p>
    <h1 class="s4s-section-numbered" id="SECTION.def6e99a-f6f7-40c3-ac4e-8246894d462c">
      <span class="s4s-section-number">4  </span>Converting between True and Eccentric Anomaly</h1>
    <p class="s4s-noindent">If one needs to work with true anomaly <math xmlns="http://www.w3.org/1998/Math/MathML"><mi>&theta;</mi></math> rather than eccentric anomaly, the conversion can be derived from inspection of Figure <a class="s4s-figure-reference" href="#FIGURE.71a83ac8-54a0-405d-b1f1-0113ed3702f3">1</a>. From the figure, the magnitude of the position vector can be written</p>
    <table class="s4s-num-eq" width="100%">
      <tbody>
        <tr>
          <td style="width:95%" align="center">
            <math display="block" xmlns="http://www.w3.org/1998/Math/MathML">
              <mi>r</mi>
              <mo>&equals;</mo>
              <mi>a</mi>
              <mo>&InvisibleTimes;</mo>
              <mrow>
                <mo>&lpar;</mo>
                <mn>1</mn>
                <mo>&minus;</mo>
                <mi>e</mi>
                <mo>&InvisibleTimes;</mo>
                <mi>cos</mi>
                <mi>E</mi>
                <mo>&rpar;</mo>
              </mrow>
            </math>
          </td>
          <td class="s4s-equation-numbered" align="right" id="EQUATION.d1790ce1-69e6-4382-b282-62d2661dc726">
            <span class="s4s-equation-number">(15)</span> </td>
        </tr>
      </tbody>
    </table>
    <p class="s4s-noindent">Again from inspection of Figure <a class="s4s-figure-reference" href="#FIGURE.71a83ac8-54a0-405d-b1f1-0113ed3702f3">1</a>, we may write</p>
    <table class="s4s-num-eq" width="100%">
      <tbody>
        <tr>
          <td style="width:95%" align="center">
            <math display="block" xmlns="http://www.w3.org/1998/Math/MathML">
              <mi>a</mi>
              <mo>&InvisibleTimes;</mo>
              <mi>cos</mi>
              <mi>E</mi>
              <mo>&equals;</mo>
              <mi>r</mi>
              <mo>&InvisibleTimes;</mo>
              <mi>cos</mi>
              <mi>&theta;</mi>
              <mo>&plus;</mo>
              <mi>a</mi>
              <mo>&InvisibleTimes;</mo>
              <mi>e</mi>
            </math>
          </td>
          <td class="s4s-equation-numbered" align="right" id="EQUATION.8644147d-da26-449b-ad16-c90cc6892e70">
            <span class="s4s-equation-number">(16)</span> </td>
        </tr>
      </tbody>
    </table>
    <p class="s4s-noindent">From <a class="s4s-equation-reference" href="#EQUATION.8644147d-da26-449b-ad16-c90cc6892e70">(16)</a> one can then easily derive</p>
    <table class="s4s-num-eq" width="100%">
      <tbody>
        <tr>
          <td style="width:95%" align="center">
            <math display="block" xmlns="http://www.w3.org/1998/Math/MathML">
              <mi>cos</mi>
              <mi>&theta;</mi>
              <mo>&equals;</mo>
              <mfrac>
                <mrow>
                  <mi>cos</mi>
                  <mo>&InvisibleTimes;</mo>
                  <mi>E</mi>
                  <mo>&minus;</mo>
                  <mi>e</mi>
                </mrow>
                <mrow>
                  <mn>1</mn>
                  <mo>&minus;</mo>
                  <mi>e</mi>
                  <mo>&InvisibleTimes;</mo>
                  <mi>cos</mi>
                  <mo>&InvisibleTimes;</mo>
                  <mi>E</mi>
                </mrow>
              </mfrac>
              <mspace width="mediummathspace" height="0.2em" />
              <mspace width="mediummathspace" height="0.2em" />
              <mspace width="mediummathspace" height="0.2em" />
              <mspace width="mediummathspace" height="0.2em" />
              <mspace width="mediummathspace" height="0.2em" />
              <mi>and</mi>
              <mspace width="mediummathspace" height="0.2em" />
              <mspace width="mediummathspace" height="0.2em" />
              <mspace width="mediummathspace" height="0.2em" />
              <mspace width="mediummathspace" height="0.2em" />
              <mspace width="mediummathspace" height="0.2em" />
              <mi>sin</mi>
              <mi>&theta;</mi>
              <mo>&equals;</mo>
              <mfrac>
                <mrow>
                  <msqrt>
                    <mrow>
                      <mn>1</mn>
                      <mo>&minus;</mo>
                      <msup>
                        <mi>e</mi>
                        <mrow>
                          <mn>2</mn>
                        </mrow>
                      </msup>
                    </mrow>
                  </msqrt>
                  <mi>sin</mi>
                  <mo>&InvisibleTimes;</mo>
                  <mi>E</mi>
                </mrow>
                <mrow>
                  <mn>1</mn>
                  <mo>&minus;</mo>
                  <mi>e</mi>
                  <mo>&InvisibleTimes;</mo>
                  <mi>cos</mi>
                  <mo>&InvisibleTimes;</mo>
                  <mi>E</mi>
                </mrow>
              </mfrac>
            </math>
          </td>
          <td class="s4s-equation-numbered" align="right" id="EQUATION.5f9aa4c1-c385-4aed-ac8a-271711577eed">
            <span class="s4s-equation-number">(17)</span> </td>
        </tr>
      </tbody>
    </table>
    <p class="s4s-noindent">Inverting eqs. <a class="s4s-equation-reference" href="#EQUATION.5f9aa4c1-c385-4aed-ac8a-271711577eed">(17)</a>, we can go the other direction with</p>
    <table class="s4s-num-eq" width="100%">
      <tbody>
        <tr>
          <td style="width:95%" align="center">
            <math display="block" xmlns="http://www.w3.org/1998/Math/MathML">
              <mi>cos</mi>
              <mo>&InvisibleTimes;</mo>
              <mi>E</mi>
              <mo>&equals;</mo>
              <mfrac>
                <mrow>
                  <mi>e</mi>
                  <mo>&plus;</mo>
                  <mi>cos</mi>
                  <mi>&theta;</mi>
                </mrow>
                <mrow>
                  <mn>1</mn>
                  <mo>&plus;</mo>
                  <mi>e</mi>
                  <mo>&InvisibleTimes;</mo>
                  <mi>cos</mi>
                  <mi>&theta;</mi>
                </mrow>
              </mfrac>
              <mspace width="mediummathspace" height="0.2em" />
              <mspace width="mediummathspace" height="0.2em" />
              <mspace width="mediummathspace" height="0.2em" />
              <mspace width="mediummathspace" height="0.2em" />
              <mspace width="mediummathspace" height="0.2em" />
              <mi>and</mi>
              <mspace width="mediummathspace" height="0.2em" />
              <mspace width="mediummathspace" height="0.2em" />
              <mspace width="mediummathspace" height="0.2em" />
              <mspace width="mediummathspace" height="0.2em" />
              <mspace width="mediummathspace" height="0.2em" />
              <mi>sin</mi>
              <mo>&InvisibleTimes;</mo>
              <mi>E</mi>
              <mo>&equals;</mo>
              <mfrac>
                <mrow>
                  <msqrt>
                    <mrow>
                      <mn>1</mn>
                      <mo>&minus;</mo>
                      <msup>
                        <mi>e</mi>
                        <mrow>
                          <mn>2</mn>
                        </mrow>
                      </msup>
                    </mrow>
                  </msqrt>
                  <mi>sin</mi>
                  <mi>&theta;</mi>
                </mrow>
                <mrow>
                  <mn>1</mn>
                  <mo>&plus;</mo>
                  <mi>e</mi>
                  <mo>&InvisibleTimes;</mo>
                  <mi>cos</mi>
                  <mi>&theta;</mi>
                </mrow>
              </mfrac>
            </math>
          </td>
          <td class="s4s-equation-numbered" align="right" id="EQUATION.93275aa1-5bdc-473b-86a1-5ea07b7fc9e1">
            <span class="s4s-equation-number">(18)</span> </td>
        </tr>
      </tbody>
    </table>
    <p class="s4s-noindent">Hence, we can, if necessary, use our iterative procedures to solve the Kepler equation for <math xmlns="http://www.w3.org/1998/Math/MathML"><mi>E</mi></math>, then use <a class="s4s-equation-reference" href="#EQUATION.5f9aa4c1-c385-4aed-ac8a-271711577eed">(17)</a> to convert to <math xmlns="http://www.w3.org/1998/Math/MathML"><mi>&theta;</mi></math>.</p>
    <h1 class="s4s-section-numbered" id="SECTION.d01047a6-a9b9-405a-aec3-de3b599e4b92">
      <span class="s4s-section-number">5  </span>Summary: A Useful Numerical Method</h1>
    <div class="s4s-table-center">
      <table class="s4s-figure">
        <tbody>
          <tr>
            <td align="center">
              <img alt="KeplerIterations cpuSurface" src="KeplerIterations_cpuSurface.jpg" class="s4s-graphics-tex DVI-AB-10-CM-ANG-0 PDF-AB-10-CM-ANG-0" />
            </td>
          </tr>
          <tr>
            <td class="s4s-figure-numbered" align="center" id="FIGURE.a10293f5-e901-4afc-b79e-2648a2a395fa">
              <span class="s4s-figure-number">Figure 2:  </span>Contours, as a function of starting value order (Nstart) and iteration order (Niter), of the amount of cpu time expended to perform, at each <math xmlns="http://www.w3.org/1998/Math/MathML"><mfenced><msub><mi>N</mi><mrow><mi>iter</mi></mrow></msub><msub><mi>N</mi><mrow><mi>start</mi></mrow></msub></mfenced></math> point, 160,000 solutions of the Kepler equation on an evenly-spaced <math xmlns="http://www.w3.org/1998/Math/MathML"><mn>400</mn><mo>&times;</mo><mn>400</mn></math> grid over the domain <math xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mo>&lbrace;</mo><mi mathvariant="normal">&Ropf;</mi><mo>&times;</mo><mi mathvariant="normal">&Ropf;</mi><mo>:</mo><mi>e</mi><mo>&Element;</mo><mfenced open="["><mn>0</mn><mn>1</mn></mfenced><mo>&comma;</mo><mi>M</mi><mo>&Element;</mo><mfenced open="[" close="]"><mn>0</mn><mi>&pi;</mi></mfenced><mo>&rbrace;</mo></mrow></math>. It appears that third order for each method is near-optimal.</td>
          </tr>
        </tbody>
      </table>
    </div>
    <p class="s4s-noindent">Extensive numerical tests (see Figure <a class="s4s-figure-reference" href="#FIGURE.a10293f5-e901-4afc-b79e-2648a2a395fa">2</a>) indicate that third order for both starting value and iteration, using the methods shown previously, is the most optimal with respect to time spent calculating.</p>
    <p class="s4s-empty-paragraph" />
    <p>Here then is a procedure to numerically solve the Kepler equation that makes use of the optimized third-order iteration and starting value methods:</p>
    <hr />
    <p class="s4s-empty-paragraph"> </p>
    <p>
      <span style="color:#804000;font-family:Courier New">KeplerSolve := proc( e, M, tol:=1.0e-14 )</span>
    </p>
    <p style="margin-left:30px">
      <span style="color:#804000;font-family:Courier New">local dE, E, E0, Mnorm, count;</span>
    </p>
    <p style="margin-left:30px">
      <span style="color:#804000;font-family:Courier New">global Estart3, eps3;</span>
    </p>
    <p style="margin-left:30px">
      <span style="color:#804000;font-family:Courier New">Mnorm := fmod(M,2*Pi);</span>
    </p>
    <p style="margin-left:30px">
      <span style="color:#804000;font-family:Courier New">E0 := KeplerStart3(e,Mnorm);</span>
    </p>
    <p style="margin-left:30px">
      <span style="color:#804000;font-family:Courier New">dE := tol + 1;</span>
    </p>
    <p style="margin-left:30px">
      <span style="color:#804000;font-family:Courier New">count := 0;</span>
    </p>
    <p style="margin-left:30px">
      <span style="color:#804000;font-family:Courier New">while dE &gt; tol do</span>
    </p>
    <p style="margin-left:60px">
      <span style="color:#804000;font-family:Courier New">E := E0 - eps3(e,Mnorm,E0);</span>
    </p>
    <p style="margin-left:60px">
      <span style="color:#804000;font-family:Courier New">dE := abs(E-E0);</span>
    </p>
    <p style="margin-left:60px">
      <span style="color:#804000;font-family:Courier New">E0 := E;</span>
    </p>
    <p style="margin-left:60px">
      <span style="color:#804000;font-family:Courier New">count := count + 1;</span>
    </p>
    <p style="margin-left:60px">
      <span style="color:#804000;font-family:Courier New">if count=100 then</span>
    </p>
    <p style="margin-left:90px">
      <span style="color:#804000;font-family:Courier New">print "Astounding! KeplerSolve failed to converge!";</span>
    </p>
    <p style="margin-left:90px">
      <span style="color:#804000;font-family:Courier New">break;</span>
    </p>
    <p style="margin-left:60px">
      <span style="color:#804000;font-family:Courier New">end if;</span>
    </p>
    <p style="margin-left:30px">
      <span style="color:#804000;font-family:Courier New">end do;</span>
    </p>
    <p style="margin-left:30px">
      <span style="color:#804000;font-family:Courier New">return E;</span>
    </p>
    <p>
      <span style="color:#804000;font-family:Courier New">end proc;</span>
    </p>
    <p class="s4s-empty-paragraph" />
  </body>
</html>