Talk:Continued fraction/Arithmetic/Construct from rational number: Difference between revisions

From Rosetta Code
Content added Content deleted
Line 13: Line 13:


All CF-related articles should be under a generic "Continued fraction/" section. For instance, this article should be: "Continued fraction/r2cf" or "Continued fraction/From a Rational"--[[User:Grondilu|Grondilu]] 13:20, 5 February 2013 (UTC)
All CF-related articles should be under a generic "Continued fraction/" section. For instance, this article should be: "Continued fraction/r2cf" or "Continued fraction/From a Rational"--[[User:Grondilu|Grondilu]] 13:20, 5 February 2013 (UTC)

== Why just rationals? ==

It seems that the continued fraction of a number just depends on the value of that number. We don't actually need to know the information of numerator and denominator separately; we just need to know the value of the fraction they form. So instead of having a function that takes the numerator and denominator separately, we can have a function that takes one real number parameter, and for rationals we can simply divide the numerator by the denominator and pass it to this function. In fact, this can work for all real numbers, not just rationals, but also irrationals; the only difference is that the continued fraction for rationals terminate.

Now, with some numeric representations (e.g. floating point binary), not all rationals can be represented exactly. But actually this doesn't matter so much, since the continued fraction for two numbers that are close together will yield continued fractions that start out the same. So even an approximation will be right in the beginning (up until you see a very large number in the sequence, which you know is caused by a small error in the approximation).

I demonstrated this in the Python solution. I have an additional function that just takes one argument, a real number, and generates a continued fraction of it. I tested it on sqrt(2) (actually an approximation of sqrt(2), since it is floating-point), and it produces the correct beginning of the sequence. I also tested it on a rational (using an exact fraction data type), and it produces the correct result for a rational, matching the result from the function for rationals above.

So perhaps we can just generalize this to a function that just takes a real number. -- [[User:Spoon!|Spoon!]] 22:17, 10 February 2013 (UTC)

Revision as of 22:17, 10 February 2013

Using r2cf as Generator a in Continued fraction

Note that Continued fraction assumes Generators a and b are infinite. You may have to adjust Continued fraction to allow for r2cf terminating. The generator for sqrt2 may be used with r2cf.--Nigel Galloway 13:17, 4 February 2013 (UTC)

Sorry I may have missed something but what does r2cf stand for?--Grondilu 17:28, 4 February 2013 (UTC)
From the links, I'd guess “rational to continued fraction”. I think this task needs some work on naming! “Continued fraction arithmetic/Construct from rational number” would be a first guess; opinions? –Donal Fellows 09:38, 5 February 2013 (UTC)
I would like Continue fraction arithmetic to be renamed “Arithmetic” as a child of “Continued fraction” so the final result would be “Continued fraction/Arithmetic/Construct from rational number”--Nigel Galloway 12:56, 5 February 2013 (UTC)
Not a problem at all. Won't move things until we've agreed exactly what we're going to though; too messy in terms of the redirects left behind… –Donal Fellows 14:27, 5 February 2013 (UTC)
BTW, Nigel, please use the internal link style for links within Rosetta Code (and wp: links for links into english Wikipedia) as that makes for better SEO. It's a small thing, but it's better for this site. Cheers! –Donal Fellows 10:01, 5 February 2013 (UTC)
IAWTC--Nigel Galloway 13:04, 5 February 2013 (UTC)

Titles are messed up

All CF-related articles should be under a generic "Continued fraction/" section. For instance, this article should be: "Continued fraction/r2cf" or "Continued fraction/From a Rational"--Grondilu 13:20, 5 February 2013 (UTC)

Why just rationals?

It seems that the continued fraction of a number just depends on the value of that number. We don't actually need to know the information of numerator and denominator separately; we just need to know the value of the fraction they form. So instead of having a function that takes the numerator and denominator separately, we can have a function that takes one real number parameter, and for rationals we can simply divide the numerator by the denominator and pass it to this function. In fact, this can work for all real numbers, not just rationals, but also irrationals; the only difference is that the continued fraction for rationals terminate.

Now, with some numeric representations (e.g. floating point binary), not all rationals can be represented exactly. But actually this doesn't matter so much, since the continued fraction for two numbers that are close together will yield continued fractions that start out the same. So even an approximation will be right in the beginning (up until you see a very large number in the sequence, which you know is caused by a small error in the approximation).

I demonstrated this in the Python solution. I have an additional function that just takes one argument, a real number, and generates a continued fraction of it. I tested it on sqrt(2) (actually an approximation of sqrt(2), since it is floating-point), and it produces the correct beginning of the sequence. I also tested it on a rational (using an exact fraction data type), and it produces the correct result for a rational, matching the result from the function for rationals above.

So perhaps we can just generalize this to a function that just takes a real number. -- Spoon! 22:17, 10 February 2013 (UTC)