1\name{Coulomb}
2\alias{Coulomb}
3\alias{coulomb}
4\alias{hydrogenicR_1}
5\alias{hydrogenicR}
6\alias{coulomb_wave_FG}
7\alias{coulomb_wave_F_array}
8\alias{coulomb_wave_FG_array}
9\alias{coulomb_wave_FGp_array}
10\alias{coulomb_wave_sphF_array}
11\alias{coulomb_CL}
12\alias{coulomb_CL_array}
13\title{Coulomb functions}
14\description{
15  Coulomb functions as per the Gnu Scientific Library, reference manual
16  section 7.7 and AMS-55, chapter 14.  These functions are declared
17  in header file \code{gsl_sf_coulomb.h}
18}
19\usage{
20hydrogenicR_1(Z, r, give=FALSE, strict=TRUE)
21hydrogenicR(n, l, Z, r, give=FALSE, strict=TRUE)
22coulomb_wave_FG(eta, x, L_F, k, give=FALSE, strict=TRUE)
23coulomb_wave_F_array(L_min, kmax, eta, x, give=FALSE,strict=TRUE)
24coulomb_wave_FG_array(L_min, kmax, eta, x, give=FALSE,strict=TRUE)
25coulomb_wave_FGp_array(L_min, kmax, eta, x, give=FALSE,strict=TRUE)
26coulomb_wave_sphF_array(L_min, kmax, eta, x, give=FALSE,strict=TRUE)
27coulomb_CL(L,eta, give=FALSE,strict=TRUE)
28coulomb_CL_array(L_min, kmax, eta, give=FALSE,strict=TRUE)
29}
30\arguments{
31  \item{n,l,kmax}{input: integers}
32  \item{Z,r,eta,x,L_F,L_min,k,L}{input: real values}
33  \item{give}{Boolean with \code{TRUE} meaning to return a list of three
34    items: the value, an estimate of the error, and a status number}
35  \item{strict}{Boolean, with \code{TRUE} meaning to return \code{NaN}
36    if status is an error}
37}
38\references{\url{https://www.gnu.org/software/gsl/}}
39\author{Robin K. S. Hankin}
40\examples{
41
42x <- seq(from=0,to=14,len=300)
43jj <- coulomb_wave_FG(1,10,x,0)
44plot(x,jj$val_F,type="l",xaxt="n",yaxt="n",bty="n",xlab="",ylab="",
45       main="Figure 14.1, p539")
46lines(x,jj$val_G,type="l",lty=2)
47axis(1,pos=0,at=1:14,
48       labels=c("","2","","4","","6","","8","","10","","12","","14"))
49lines(c(0,1),c(0,0))
50axis(2,pos=0)
51text(9.5, 0.63, expression(F[L]))
52text(8.5, 1.21, expression(G[L]))
53
54
55
56
57
58x <- seq(from=0,to=24,len=400)
59plot(x,coulomb_wave_FG(eta=1,x,L_F=0,k=0)$val_F,type="l",
60     ylim=c(-1.3,1.7), xlim=c(0,26),
61     xaxt="n",yaxt="n",bty="n",xlab="",ylab="",main="Figure 14.3, p541",lty=3)
62lines(x,coulomb_wave_FG(eta= 0,x,L_F=0,k=0)$val_F,type="l",lty=1)
63lines(x,coulomb_wave_FG(eta= 5,x,L_F=0,k=0)$val_F,type="l",lty=6)
64lines(x,coulomb_wave_FG(eta=10,x,L_F=0,k=0)$val_F,type="l",lty=6)
65lines(x,coulomb_wave_FG(eta=x/2,x,L_F=0,k=0)$val_F,type="l",lty="F3")
66axis(1,pos=0,at=1:24,
67       labels=c("","2","","4","","","","8","","10","","12",
68                "","14","","","","18","","","","22","","24"))
69lines(c(0,26),c(0,0))
70axis(2,pos=0,at=0.2*(-6:9),
71       labels=c("","-1.2","","-.8","","-.4","","0","",".4",
72                "",".8","","1.2","","1.6"))
73text(2.5, -0.8, expression(eta == 0))
74text(4.5,1.1,adj=0, expression(eta == 1))
75text(14,1.4,adj=0, expression(eta == 5))
76text(22,1.4,adj=0, expression(eta == 10))
77
78
79
80
81
82
83x <- seq(from=0.5,to=10,by=0.5)
84jj <- coulomb_wave_FG(eta=t(matrix(x,20,5)), x=1:5,0,0)
85jj.F <- t(jj$val_F)
86jj.G <- t(jj$val_G)
87colnames(jj.F) <- 1:5
88colnames(jj.G) <- 1:5
89cbind(x,jj.F)        #table 14.1, p 546, top bit.
90cbind(x,jj.G)        #table 14.1, p 547, top bit.
91
92
93
94}
95
96\keyword{array}
97