Approximating irrational number to rational number












3












$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
    54 mins 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
    52 mins 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
    52 mins ago












  • $begingroup$
    try 82/149 ........
    $endgroup$
    – Will Jagy
    49 mins ago










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
















3












$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
    54 mins 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
    52 mins 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
    52 mins ago












  • $begingroup$
    try 82/149 ........
    $endgroup$
    – Will Jagy
    49 mins ago










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














3












3








3





$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 51 mins ago









Rócherz

2,9863821




2,9863821










asked 1 hour ago









MrTanorusMrTanorus

1928




1928












  • $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
    54 mins 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
    52 mins 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
    52 mins ago












  • $begingroup$
    try 82/149 ........
    $endgroup$
    – Will Jagy
    49 mins ago










  • $begingroup$
    Cool, a practical application of continued fractions. :)
    $endgroup$
    – Minus One-Twelfth
    40 mins 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
    54 mins 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
    52 mins 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
    52 mins ago












  • $begingroup$
    try 82/149 ........
    $endgroup$
    – Will Jagy
    49 mins ago










  • $begingroup$
    Cool, a practical application of continued fractions. :)
    $endgroup$
    – Minus One-Twelfth
    40 mins 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
54 mins 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
54 mins 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
52 mins 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
52 mins 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
52 mins ago






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














$begingroup$
try 82/149 ........
$endgroup$
– Will Jagy
49 mins ago




$begingroup$
try 82/149 ........
$endgroup$
– Will Jagy
49 mins ago












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




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










3 Answers
3






active

oldest

votes


















2












$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 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
    6 mins ago



















2












$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
    19 mins ago



















1












$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









    2












    $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 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
      6 mins ago
















    2












    $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 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
      6 mins ago














    2












    2








    2





    $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 46 mins 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 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
      6 mins 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 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
      6 mins 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 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
    6 mins 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 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
    6 mins ago











    2












    $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
      19 mins ago
















    2












    $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
      19 mins ago














    2












    2








    2





    $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 31 mins ago









    robjohnrobjohn

    269k27311638




    269k27311638












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


















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
















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




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











    1












    $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$


















      1












      $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$
















        1












        1








        1





        $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 20 mins 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

            flock() on closed filehandle LOCK_FILE at /usr/bin/apt-mirror

            Mangá

            Eduardo VII do Reino Unido