Approximating irrational number to rational number












4












$begingroup$


I'm making a phone game, and I need to approximate $frac {log(5/4)}{log(3/2)}$ to a rational number $p/q$.

I wish $p$ and $q$ small enough. For example, I don't want $p$, $qapprox 10^7$; it's way too much for my code.



In the game, there's two way to upgrade ability. Type A gives additional $50%$ increase at once. and type B gives $25%$.

What I want to know is how many times of upgrade $(x,y)$ provides same additional increase. So what I've done is solve $(3/2)^x = (5/4)^y$ respect to $frac xy$.



Can you provide me way to construct sequence $p_n$, $q_n$ which approximate the real number?

Thank you in advance.










share|cite|improve this question











$endgroup$












  • $begingroup$
    I don't understand your game, but your number approximately $0.55034$ and thus $tfrac{55034}{100000}$ or $tfrac{5503}{10000}$. What's wrong with that?
    $endgroup$
    – amsmath
    3 hours ago






  • 1




    $begingroup$
    The continued fraction expansion of your irrational number will produce the best rational approximation subject to a limit on size of the denominator.
    $endgroup$
    – hardmath
    3 hours ago






  • 1




    $begingroup$
    You can take truncations of the continued fraction of that number. The first few of its values start like this.
    $endgroup$
    – user647486
    3 hours ago












  • $begingroup$
    try 82/149 ........
    $endgroup$
    – Will Jagy
    3 hours ago






  • 1




    $begingroup$
    Cool, a practical application of continued fractions. :)
    $endgroup$
    – Minus One-Twelfth
    3 hours ago
















4












$begingroup$


I'm making a phone game, and I need to approximate $frac {log(5/4)}{log(3/2)}$ to a rational number $p/q$.

I wish $p$ and $q$ small enough. For example, I don't want $p$, $qapprox 10^7$; it's way too much for my code.



In the game, there's two way to upgrade ability. Type A gives additional $50%$ increase at once. and type B gives $25%$.

What I want to know is how many times of upgrade $(x,y)$ provides same additional increase. So what I've done is solve $(3/2)^x = (5/4)^y$ respect to $frac xy$.



Can you provide me way to construct sequence $p_n$, $q_n$ which approximate the real number?

Thank you in advance.










share|cite|improve this question











$endgroup$












  • $begingroup$
    I don't understand your game, but your number approximately $0.55034$ and thus $tfrac{55034}{100000}$ or $tfrac{5503}{10000}$. What's wrong with that?
    $endgroup$
    – amsmath
    3 hours ago






  • 1




    $begingroup$
    The continued fraction expansion of your irrational number will produce the best rational approximation subject to a limit on size of the denominator.
    $endgroup$
    – hardmath
    3 hours ago






  • 1




    $begingroup$
    You can take truncations of the continued fraction of that number. The first few of its values start like this.
    $endgroup$
    – user647486
    3 hours ago












  • $begingroup$
    try 82/149 ........
    $endgroup$
    – Will Jagy
    3 hours ago






  • 1




    $begingroup$
    Cool, a practical application of continued fractions. :)
    $endgroup$
    – Minus One-Twelfth
    3 hours ago














4












4








4





$begingroup$


I'm making a phone game, and I need to approximate $frac {log(5/4)}{log(3/2)}$ to a rational number $p/q$.

I wish $p$ and $q$ small enough. For example, I don't want $p$, $qapprox 10^7$; it's way too much for my code.



In the game, there's two way to upgrade ability. Type A gives additional $50%$ increase at once. and type B gives $25%$.

What I want to know is how many times of upgrade $(x,y)$ provides same additional increase. So what I've done is solve $(3/2)^x = (5/4)^y$ respect to $frac xy$.



Can you provide me way to construct sequence $p_n$, $q_n$ which approximate the real number?

Thank you in advance.










share|cite|improve this question











$endgroup$




I'm making a phone game, and I need to approximate $frac {log(5/4)}{log(3/2)}$ to a rational number $p/q$.

I wish $p$ and $q$ small enough. For example, I don't want $p$, $qapprox 10^7$; it's way too much for my code.



In the game, there's two way to upgrade ability. Type A gives additional $50%$ increase at once. and type B gives $25%$.

What I want to know is how many times of upgrade $(x,y)$ provides same additional increase. So what I've done is solve $(3/2)^x = (5/4)^y$ respect to $frac xy$.



Can you provide me way to construct sequence $p_n$, $q_n$ which approximate the real number?

Thank you in advance.







approximation






share|cite|improve this question















share|cite|improve this question













share|cite|improve this question




share|cite|improve this question








edited 3 hours ago









Rócherz

2,9863821




2,9863821










asked 3 hours ago









MrTanorusMrTanorus

1978




1978












  • $begingroup$
    I don't understand your game, but your number approximately $0.55034$ and thus $tfrac{55034}{100000}$ or $tfrac{5503}{10000}$. What's wrong with that?
    $endgroup$
    – amsmath
    3 hours ago






  • 1




    $begingroup$
    The continued fraction expansion of your irrational number will produce the best rational approximation subject to a limit on size of the denominator.
    $endgroup$
    – hardmath
    3 hours ago






  • 1




    $begingroup$
    You can take truncations of the continued fraction of that number. The first few of its values start like this.
    $endgroup$
    – user647486
    3 hours ago












  • $begingroup$
    try 82/149 ........
    $endgroup$
    – Will Jagy
    3 hours ago






  • 1




    $begingroup$
    Cool, a practical application of continued fractions. :)
    $endgroup$
    – Minus One-Twelfth
    3 hours ago


















  • $begingroup$
    I don't understand your game, but your number approximately $0.55034$ and thus $tfrac{55034}{100000}$ or $tfrac{5503}{10000}$. What's wrong with that?
    $endgroup$
    – amsmath
    3 hours ago






  • 1




    $begingroup$
    The continued fraction expansion of your irrational number will produce the best rational approximation subject to a limit on size of the denominator.
    $endgroup$
    – hardmath
    3 hours ago






  • 1




    $begingroup$
    You can take truncations of the continued fraction of that number. The first few of its values start like this.
    $endgroup$
    – user647486
    3 hours ago












  • $begingroup$
    try 82/149 ........
    $endgroup$
    – Will Jagy
    3 hours ago






  • 1




    $begingroup$
    Cool, a practical application of continued fractions. :)
    $endgroup$
    – Minus One-Twelfth
    3 hours ago
















$begingroup$
I don't understand your game, but your number approximately $0.55034$ and thus $tfrac{55034}{100000}$ or $tfrac{5503}{10000}$. What's wrong with that?
$endgroup$
– amsmath
3 hours ago




$begingroup$
I don't understand your game, but your number approximately $0.55034$ and thus $tfrac{55034}{100000}$ or $tfrac{5503}{10000}$. What's wrong with that?
$endgroup$
– amsmath
3 hours ago




1




1




$begingroup$
The continued fraction expansion of your irrational number will produce the best rational approximation subject to a limit on size of the denominator.
$endgroup$
– hardmath
3 hours ago




$begingroup$
The continued fraction expansion of your irrational number will produce the best rational approximation subject to a limit on size of the denominator.
$endgroup$
– hardmath
3 hours ago




1




1




$begingroup$
You can take truncations of the continued fraction of that number. The first few of its values start like this.
$endgroup$
– user647486
3 hours ago






$begingroup$
You can take truncations of the continued fraction of that number. The first few of its values start like this.
$endgroup$
– user647486
3 hours ago














$begingroup$
try 82/149 ........
$endgroup$
– Will Jagy
3 hours ago




$begingroup$
try 82/149 ........
$endgroup$
– Will Jagy
3 hours ago




1




1




$begingroup$
Cool, a practical application of continued fractions. :)
$endgroup$
– Minus One-Twelfth
3 hours ago




$begingroup$
Cool, a practical application of continued fractions. :)
$endgroup$
– Minus One-Twelfth
3 hours ago










3 Answers
3






active

oldest

votes


















4












$begingroup$

The number you want to approximate is about $0.550339713213$. An excellent approximation is $frac {891}{1619}approx 0.550339715873$. I got that by using the continued fraction. When you see a large value like $143$, truncating before it yields a very good approximation.






share|cite|improve this answer









$endgroup$













  • $begingroup$
    (+1) I wondered where you got $143$ until I actually computed the continued fraction. I'd hoped it was okay to expand upon your answer to show where that number came from. Also to mention that if $frac pq$ is a continued fraction approximation and $c$ is the next term in the conitnued fraction (which I think is called a continuant), then $frac pq$ is closer than $frac1{cq^2}$ to the value approximated.
    $endgroup$
    – robjohn
    2 hours ago





















4












$begingroup$

The continued fraction for $frac{logleft(frac54right)}{logleft(frac32right)}$ is
$$
{0;1,1,4,2,6,1,color{#C00}{10},143,3,dots}
$$

The convergents for this continued fraction are
$$
left{0,1,frac12,frac59,frac{11}{20},frac{71}{129},frac{82}{149},color{#C00}{frac{891}{1619}},frac{127495}{231666},frac{383376}{696617},dotsright}
$$

As Ross Millikan mentions, stopping just before a large continuant like $143$ gives a particularly good approximation for the size of the denominator; in this case, the approximation $frac{891}{1619}$ is closer than $frac1{143cdot1619^2}$ to $frac{logleft(frac54right)}{logleft(frac32right)}$.






share|cite|improve this answer









$endgroup$













  • $begingroup$
    Thank you. A good addition to my answer.
    $endgroup$
    – Ross Millikan
    2 hours ago



















2












$begingroup$

Running the extended Euclidean algorithm to find the continued fraction:



$$begin{array}{cc|cc}x&q&a&b\
hline 0.55033971 & & 0 & 1\ 1 & 0 & 1 & 0\ 0.55033971 & 1 & 0 & 1\ 0.44966029 & 1 & 1 & -1 \ 0.10067943 & 4 & -1 & 2\ 0.04694258 & 2 & 5 & -9\ 0.00679426 & 6 & -11 & 20 \ 0.00617700 & 1 & 71 & -129 \ 0.00061727 & 10 & -82 & 149\ 4.31cdot 10^{-6} & 143 & 891 & -1619 \
1.25cdot 10^{-6} & 3 & -127495 & 231666end{array}$$

The $q$ column are the quotients, that go into the continued fraction. The $a$ and $b$ columns track a linear combination of the original two that's equal to $x_n$; for example, $-11cdot 1 + 20cdot frac{log(5/4)}{log(3/2)}approx 0.00679426$. The fraction $left|frac{log(5/4)}{log(3/2)}right|$ is approximated by $frac{|a_n|}{|b_n|}$, with increasing accuracy.



The formulas for building this table: $q_n = leftlfloor frac {x_{n-1}}{x_n}rightrfloor$, $x_{n+1}=x_{n-1}-q_nx_n$, $a_{n+1}=a_{n-1}-q_na_n$, $b_{n+1}=b_{n-1}-q_nb_n$. Initialize with $x_0=1$, $x_{-1}$ the quantity we're trying to estimate, $a_{-1}=b_0=0$, $a_0=b_{-1}=1$.

If you run the table much large than this, watch for floating-point accuracy issues; once the $x_n$ get down close to the accuracy limit for floating point numbers near zero, you can't trust the quotients anymore.



Now, how that accuracy increases is irregular. Large quotients go with particularly good approximations - see how that quotient of $143$ means that we have to go to six-digit numerator and denominator to do better than that $frac{891}{1619}$ approximation.



It is of course a tradeoff between accuracy and how deep you go. For your purposes in costing the two upgrades, I'd probably go with that $frac{11}{20}$ approximation.






share|cite|improve this answer









$endgroup$













    Your Answer





    StackExchange.ifUsing("editor", function () {
    return StackExchange.using("mathjaxEditing", function () {
    StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
    StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
    });
    });
    }, "mathjax-editing");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "69"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    noCode: true, onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3160023%2fapproximating-irrational-number-to-rational-number%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    3 Answers
    3






    active

    oldest

    votes








    3 Answers
    3






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    4












    $begingroup$

    The number you want to approximate is about $0.550339713213$. An excellent approximation is $frac {891}{1619}approx 0.550339715873$. I got that by using the continued fraction. When you see a large value like $143$, truncating before it yields a very good approximation.






    share|cite|improve this answer









    $endgroup$













    • $begingroup$
      (+1) I wondered where you got $143$ until I actually computed the continued fraction. I'd hoped it was okay to expand upon your answer to show where that number came from. Also to mention that if $frac pq$ is a continued fraction approximation and $c$ is the next term in the conitnued fraction (which I think is called a continuant), then $frac pq$ is closer than $frac1{cq^2}$ to the value approximated.
      $endgroup$
      – robjohn
      2 hours ago


















    4












    $begingroup$

    The number you want to approximate is about $0.550339713213$. An excellent approximation is $frac {891}{1619}approx 0.550339715873$. I got that by using the continued fraction. When you see a large value like $143$, truncating before it yields a very good approximation.






    share|cite|improve this answer









    $endgroup$













    • $begingroup$
      (+1) I wondered where you got $143$ until I actually computed the continued fraction. I'd hoped it was okay to expand upon your answer to show where that number came from. Also to mention that if $frac pq$ is a continued fraction approximation and $c$ is the next term in the conitnued fraction (which I think is called a continuant), then $frac pq$ is closer than $frac1{cq^2}$ to the value approximated.
      $endgroup$
      – robjohn
      2 hours ago
















    4












    4








    4





    $begingroup$

    The number you want to approximate is about $0.550339713213$. An excellent approximation is $frac {891}{1619}approx 0.550339715873$. I got that by using the continued fraction. When you see a large value like $143$, truncating before it yields a very good approximation.






    share|cite|improve this answer









    $endgroup$



    The number you want to approximate is about $0.550339713213$. An excellent approximation is $frac {891}{1619}approx 0.550339715873$. I got that by using the continued fraction. When you see a large value like $143$, truncating before it yields a very good approximation.







    share|cite|improve this answer












    share|cite|improve this answer



    share|cite|improve this answer










    answered 3 hours ago









    Ross MillikanRoss Millikan

    300k24200374




    300k24200374












    • $begingroup$
      (+1) I wondered where you got $143$ until I actually computed the continued fraction. I'd hoped it was okay to expand upon your answer to show where that number came from. Also to mention that if $frac pq$ is a continued fraction approximation and $c$ is the next term in the conitnued fraction (which I think is called a continuant), then $frac pq$ is closer than $frac1{cq^2}$ to the value approximated.
      $endgroup$
      – robjohn
      2 hours ago




















    • $begingroup$
      (+1) I wondered where you got $143$ until I actually computed the continued fraction. I'd hoped it was okay to expand upon your answer to show where that number came from. Also to mention that if $frac pq$ is a continued fraction approximation and $c$ is the next term in the conitnued fraction (which I think is called a continuant), then $frac pq$ is closer than $frac1{cq^2}$ to the value approximated.
      $endgroup$
      – robjohn
      2 hours ago


















    $begingroup$
    (+1) I wondered where you got $143$ until I actually computed the continued fraction. I'd hoped it was okay to expand upon your answer to show where that number came from. Also to mention that if $frac pq$ is a continued fraction approximation and $c$ is the next term in the conitnued fraction (which I think is called a continuant), then $frac pq$ is closer than $frac1{cq^2}$ to the value approximated.
    $endgroup$
    – robjohn
    2 hours ago






    $begingroup$
    (+1) I wondered where you got $143$ until I actually computed the continued fraction. I'd hoped it was okay to expand upon your answer to show where that number came from. Also to mention that if $frac pq$ is a continued fraction approximation and $c$ is the next term in the conitnued fraction (which I think is called a continuant), then $frac pq$ is closer than $frac1{cq^2}$ to the value approximated.
    $endgroup$
    – robjohn
    2 hours ago













    4












    $begingroup$

    The continued fraction for $frac{logleft(frac54right)}{logleft(frac32right)}$ is
    $$
    {0;1,1,4,2,6,1,color{#C00}{10},143,3,dots}
    $$

    The convergents for this continued fraction are
    $$
    left{0,1,frac12,frac59,frac{11}{20},frac{71}{129},frac{82}{149},color{#C00}{frac{891}{1619}},frac{127495}{231666},frac{383376}{696617},dotsright}
    $$

    As Ross Millikan mentions, stopping just before a large continuant like $143$ gives a particularly good approximation for the size of the denominator; in this case, the approximation $frac{891}{1619}$ is closer than $frac1{143cdot1619^2}$ to $frac{logleft(frac54right)}{logleft(frac32right)}$.






    share|cite|improve this answer









    $endgroup$













    • $begingroup$
      Thank you. A good addition to my answer.
      $endgroup$
      – Ross Millikan
      2 hours ago
















    4












    $begingroup$

    The continued fraction for $frac{logleft(frac54right)}{logleft(frac32right)}$ is
    $$
    {0;1,1,4,2,6,1,color{#C00}{10},143,3,dots}
    $$

    The convergents for this continued fraction are
    $$
    left{0,1,frac12,frac59,frac{11}{20},frac{71}{129},frac{82}{149},color{#C00}{frac{891}{1619}},frac{127495}{231666},frac{383376}{696617},dotsright}
    $$

    As Ross Millikan mentions, stopping just before a large continuant like $143$ gives a particularly good approximation for the size of the denominator; in this case, the approximation $frac{891}{1619}$ is closer than $frac1{143cdot1619^2}$ to $frac{logleft(frac54right)}{logleft(frac32right)}$.






    share|cite|improve this answer









    $endgroup$













    • $begingroup$
      Thank you. A good addition to my answer.
      $endgroup$
      – Ross Millikan
      2 hours ago














    4












    4








    4





    $begingroup$

    The continued fraction for $frac{logleft(frac54right)}{logleft(frac32right)}$ is
    $$
    {0;1,1,4,2,6,1,color{#C00}{10},143,3,dots}
    $$

    The convergents for this continued fraction are
    $$
    left{0,1,frac12,frac59,frac{11}{20},frac{71}{129},frac{82}{149},color{#C00}{frac{891}{1619}},frac{127495}{231666},frac{383376}{696617},dotsright}
    $$

    As Ross Millikan mentions, stopping just before a large continuant like $143$ gives a particularly good approximation for the size of the denominator; in this case, the approximation $frac{891}{1619}$ is closer than $frac1{143cdot1619^2}$ to $frac{logleft(frac54right)}{logleft(frac32right)}$.






    share|cite|improve this answer









    $endgroup$



    The continued fraction for $frac{logleft(frac54right)}{logleft(frac32right)}$ is
    $$
    {0;1,1,4,2,6,1,color{#C00}{10},143,3,dots}
    $$

    The convergents for this continued fraction are
    $$
    left{0,1,frac12,frac59,frac{11}{20},frac{71}{129},frac{82}{149},color{#C00}{frac{891}{1619}},frac{127495}{231666},frac{383376}{696617},dotsright}
    $$

    As Ross Millikan mentions, stopping just before a large continuant like $143$ gives a particularly good approximation for the size of the denominator; in this case, the approximation $frac{891}{1619}$ is closer than $frac1{143cdot1619^2}$ to $frac{logleft(frac54right)}{logleft(frac32right)}$.







    share|cite|improve this answer












    share|cite|improve this answer



    share|cite|improve this answer










    answered 3 hours ago









    robjohnrobjohn

    269k27311638




    269k27311638












    • $begingroup$
      Thank you. A good addition to my answer.
      $endgroup$
      – Ross Millikan
      2 hours ago


















    • $begingroup$
      Thank you. A good addition to my answer.
      $endgroup$
      – Ross Millikan
      2 hours ago
















    $begingroup$
    Thank you. A good addition to my answer.
    $endgroup$
    – Ross Millikan
    2 hours ago




    $begingroup$
    Thank you. A good addition to my answer.
    $endgroup$
    – Ross Millikan
    2 hours ago











    2












    $begingroup$

    Running the extended Euclidean algorithm to find the continued fraction:



    $$begin{array}{cc|cc}x&q&a&b\
    hline 0.55033971 & & 0 & 1\ 1 & 0 & 1 & 0\ 0.55033971 & 1 & 0 & 1\ 0.44966029 & 1 & 1 & -1 \ 0.10067943 & 4 & -1 & 2\ 0.04694258 & 2 & 5 & -9\ 0.00679426 & 6 & -11 & 20 \ 0.00617700 & 1 & 71 & -129 \ 0.00061727 & 10 & -82 & 149\ 4.31cdot 10^{-6} & 143 & 891 & -1619 \
    1.25cdot 10^{-6} & 3 & -127495 & 231666end{array}$$

    The $q$ column are the quotients, that go into the continued fraction. The $a$ and $b$ columns track a linear combination of the original two that's equal to $x_n$; for example, $-11cdot 1 + 20cdot frac{log(5/4)}{log(3/2)}approx 0.00679426$. The fraction $left|frac{log(5/4)}{log(3/2)}right|$ is approximated by $frac{|a_n|}{|b_n|}$, with increasing accuracy.



    The formulas for building this table: $q_n = leftlfloor frac {x_{n-1}}{x_n}rightrfloor$, $x_{n+1}=x_{n-1}-q_nx_n$, $a_{n+1}=a_{n-1}-q_na_n$, $b_{n+1}=b_{n-1}-q_nb_n$. Initialize with $x_0=1$, $x_{-1}$ the quantity we're trying to estimate, $a_{-1}=b_0=0$, $a_0=b_{-1}=1$.

    If you run the table much large than this, watch for floating-point accuracy issues; once the $x_n$ get down close to the accuracy limit for floating point numbers near zero, you can't trust the quotients anymore.



    Now, how that accuracy increases is irregular. Large quotients go with particularly good approximations - see how that quotient of $143$ means that we have to go to six-digit numerator and denominator to do better than that $frac{891}{1619}$ approximation.



    It is of course a tradeoff between accuracy and how deep you go. For your purposes in costing the two upgrades, I'd probably go with that $frac{11}{20}$ approximation.






    share|cite|improve this answer









    $endgroup$


















      2












      $begingroup$

      Running the extended Euclidean algorithm to find the continued fraction:



      $$begin{array}{cc|cc}x&q&a&b\
      hline 0.55033971 & & 0 & 1\ 1 & 0 & 1 & 0\ 0.55033971 & 1 & 0 & 1\ 0.44966029 & 1 & 1 & -1 \ 0.10067943 & 4 & -1 & 2\ 0.04694258 & 2 & 5 & -9\ 0.00679426 & 6 & -11 & 20 \ 0.00617700 & 1 & 71 & -129 \ 0.00061727 & 10 & -82 & 149\ 4.31cdot 10^{-6} & 143 & 891 & -1619 \
      1.25cdot 10^{-6} & 3 & -127495 & 231666end{array}$$

      The $q$ column are the quotients, that go into the continued fraction. The $a$ and $b$ columns track a linear combination of the original two that's equal to $x_n$; for example, $-11cdot 1 + 20cdot frac{log(5/4)}{log(3/2)}approx 0.00679426$. The fraction $left|frac{log(5/4)}{log(3/2)}right|$ is approximated by $frac{|a_n|}{|b_n|}$, with increasing accuracy.



      The formulas for building this table: $q_n = leftlfloor frac {x_{n-1}}{x_n}rightrfloor$, $x_{n+1}=x_{n-1}-q_nx_n$, $a_{n+1}=a_{n-1}-q_na_n$, $b_{n+1}=b_{n-1}-q_nb_n$. Initialize with $x_0=1$, $x_{-1}$ the quantity we're trying to estimate, $a_{-1}=b_0=0$, $a_0=b_{-1}=1$.

      If you run the table much large than this, watch for floating-point accuracy issues; once the $x_n$ get down close to the accuracy limit for floating point numbers near zero, you can't trust the quotients anymore.



      Now, how that accuracy increases is irregular. Large quotients go with particularly good approximations - see how that quotient of $143$ means that we have to go to six-digit numerator and denominator to do better than that $frac{891}{1619}$ approximation.



      It is of course a tradeoff between accuracy and how deep you go. For your purposes in costing the two upgrades, I'd probably go with that $frac{11}{20}$ approximation.






      share|cite|improve this answer









      $endgroup$
















        2












        2








        2





        $begingroup$

        Running the extended Euclidean algorithm to find the continued fraction:



        $$begin{array}{cc|cc}x&q&a&b\
        hline 0.55033971 & & 0 & 1\ 1 & 0 & 1 & 0\ 0.55033971 & 1 & 0 & 1\ 0.44966029 & 1 & 1 & -1 \ 0.10067943 & 4 & -1 & 2\ 0.04694258 & 2 & 5 & -9\ 0.00679426 & 6 & -11 & 20 \ 0.00617700 & 1 & 71 & -129 \ 0.00061727 & 10 & -82 & 149\ 4.31cdot 10^{-6} & 143 & 891 & -1619 \
        1.25cdot 10^{-6} & 3 & -127495 & 231666end{array}$$

        The $q$ column are the quotients, that go into the continued fraction. The $a$ and $b$ columns track a linear combination of the original two that's equal to $x_n$; for example, $-11cdot 1 + 20cdot frac{log(5/4)}{log(3/2)}approx 0.00679426$. The fraction $left|frac{log(5/4)}{log(3/2)}right|$ is approximated by $frac{|a_n|}{|b_n|}$, with increasing accuracy.



        The formulas for building this table: $q_n = leftlfloor frac {x_{n-1}}{x_n}rightrfloor$, $x_{n+1}=x_{n-1}-q_nx_n$, $a_{n+1}=a_{n-1}-q_na_n$, $b_{n+1}=b_{n-1}-q_nb_n$. Initialize with $x_0=1$, $x_{-1}$ the quantity we're trying to estimate, $a_{-1}=b_0=0$, $a_0=b_{-1}=1$.

        If you run the table much large than this, watch for floating-point accuracy issues; once the $x_n$ get down close to the accuracy limit for floating point numbers near zero, you can't trust the quotients anymore.



        Now, how that accuracy increases is irregular. Large quotients go with particularly good approximations - see how that quotient of $143$ means that we have to go to six-digit numerator and denominator to do better than that $frac{891}{1619}$ approximation.



        It is of course a tradeoff between accuracy and how deep you go. For your purposes in costing the two upgrades, I'd probably go with that $frac{11}{20}$ approximation.






        share|cite|improve this answer









        $endgroup$



        Running the extended Euclidean algorithm to find the continued fraction:



        $$begin{array}{cc|cc}x&q&a&b\
        hline 0.55033971 & & 0 & 1\ 1 & 0 & 1 & 0\ 0.55033971 & 1 & 0 & 1\ 0.44966029 & 1 & 1 & -1 \ 0.10067943 & 4 & -1 & 2\ 0.04694258 & 2 & 5 & -9\ 0.00679426 & 6 & -11 & 20 \ 0.00617700 & 1 & 71 & -129 \ 0.00061727 & 10 & -82 & 149\ 4.31cdot 10^{-6} & 143 & 891 & -1619 \
        1.25cdot 10^{-6} & 3 & -127495 & 231666end{array}$$

        The $q$ column are the quotients, that go into the continued fraction. The $a$ and $b$ columns track a linear combination of the original two that's equal to $x_n$; for example, $-11cdot 1 + 20cdot frac{log(5/4)}{log(3/2)}approx 0.00679426$. The fraction $left|frac{log(5/4)}{log(3/2)}right|$ is approximated by $frac{|a_n|}{|b_n|}$, with increasing accuracy.



        The formulas for building this table: $q_n = leftlfloor frac {x_{n-1}}{x_n}rightrfloor$, $x_{n+1}=x_{n-1}-q_nx_n$, $a_{n+1}=a_{n-1}-q_na_n$, $b_{n+1}=b_{n-1}-q_nb_n$. Initialize with $x_0=1$, $x_{-1}$ the quantity we're trying to estimate, $a_{-1}=b_0=0$, $a_0=b_{-1}=1$.

        If you run the table much large than this, watch for floating-point accuracy issues; once the $x_n$ get down close to the accuracy limit for floating point numbers near zero, you can't trust the quotients anymore.



        Now, how that accuracy increases is irregular. Large quotients go with particularly good approximations - see how that quotient of $143$ means that we have to go to six-digit numerator and denominator to do better than that $frac{891}{1619}$ approximation.



        It is of course a tradeoff between accuracy and how deep you go. For your purposes in costing the two upgrades, I'd probably go with that $frac{11}{20}$ approximation.







        share|cite|improve this answer












        share|cite|improve this answer



        share|cite|improve this answer










        answered 2 hours ago









        jmerryjmerry

        15.8k1632




        15.8k1632






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Mathematics Stack Exchange!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            Use MathJax to format equations. MathJax reference.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3160023%2fapproximating-irrational-number-to-rational-number%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            GameSpot

            connect to host localhost port 22: Connection refused

            Getting a Wifi WPA2 wifi connection