Description Usage Arguments Details Author(s) References See Also Examples
Returns continued fraction convergent using the modified Lenz's
algorithm; function CF()
deals with continued fractions and
GCF()
deals with generalized continued fractions.
1 2 |
a,b |
In function |
finite |
Boolean, with default |
b0 |
In function |
tol |
tolerance, with default |
Function CF()
treats the first element of its argument as the
integer part of the convergent.
Function CF()
is a wrapper for GCF()
; it includes
special dispensation for infinite values (in which case the value of
the appropriate finite CF is returned).
The implementation is in C; the real and complex cases are treated separately in the interests of efficiency.
The algorithm terminates when the convergence criterion is achieved
irrespective of the value of finite
.
Robin K. S. Hankin
W. H. Press, B. P. Flannery, S. A. Teukolsky, and W. T. Vetterling 1992. Numerical recipes 3rd edition: the art of scientific computing. Cambridge University Press; section 5.2 “Evaluation of continued fractions”
W. J. Lenz 1976. Generating Bessel functions in Mie scattering calculations using continued fractions. Applied Optics, 15(3):668-671
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | phi <- (sqrt(5)+1)/2
phi_cf <- CF(rep(1,100)) # phi = [1;1,1,1,1,1,...]
phi - phi_cf # should be small
# The tan function:
"tan_cf" <- function(z,n=20){
GCF(c(z, rep(-z^2,n-1)), seq(from=1,by=2, len=n))
}
z <- 1+1i
tan(z) - tan_cf(z) # should be small
# approximate real numbers with continued fraction:
as_cf(pi)
as_cf(exp(1),25) # OK up to element 21 (which should be 14)
# Some convergents of pi:
jj <- convergents(c(3,7,15,1,292))
jj$A / jj$B - pi
# An identity of Euler's:
jj <- GCF(a=seq(from=2,by=2,len=30), b=seq(from=3,by=2,len=30), b0=1)
jj - 1/(exp(0.5)-1) # should be small
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.