Christoffel symbols of unit sphere – first kind

Christoffel symbols of first kind are derived from the second kind. \[\Gamma_{lij}=g_{lk}\Gamma^k_{ij}\] Notation for first kind is \(\Gamma_{kij}\) or \([ij,k]\). Choosing \(k\) or \(l\) as indices does not matter. We need to remember indices \(ij\) is a 2D matrix, we make separate 2D matrices indexed by \(k\) or \(l\).

Indices \(ij\) means partial derivative with 2 degrees. Index \(k\) means partial derivative with 1 degree. We know surface point \(\bar r=\{x,y,z\}\) has parameters \(u\) and \(v\). The partial derivatives with 2 degrees on \(\bar r\) are \[\bar r_{uu}=\frac{\partial \bar r }{\partial u \partial u}, \bar r_{uv}=\frac{\partial \bar r }{\partial u \partial v}, \bar r_{vu}=\frac{\partial \bar r }{\partial v \partial u}, \bar r_{vv}=\frac{\partial \bar r }{\partial v \partial v}.\] The partial derivatives with 1 degree on \(\bar r\) are \[\bar r_u=\frac{\partial \bar r }{\partial u }, \bar r_v=\frac{\partial \bar r }{\partial v}.\] So the Christoffel symbols of first kind written in our notation is \[\Gamma _{1ij}=\left| {\begin{array} *{\bar r_{uu} . \bar r_u}&{\bar r_{uv} . \bar r_u}\\ {\bar r_{vu} . \bar r_u}&{\bar r_{vv} . \bar r_u} \end{array}} \right|, \Gamma _{2ij}=\left| {\begin{array} *{\bar r_{uu} . \bar r_v}&{\bar r_{uv} . \bar r_v}\\ {\bar r_{vu} . \bar r_v}&{\bar r_{vv} . \bar r_v} \end{array}} \right|.\] The Christoffel symbols of first kind are only dot products of partial derivative vectors, which are simpler computations than derivations from Christoffel symbols of the second kind. For 2 parameters \(u\) and \(v\) , the \(\Gamma_{kij}\) is a \(2 \times 2 \times 2\) tensor.

Consider unit sphere surface, radius \(R=1\), surface point \[\bar r=\{x=cos\theta cos\phi,y=cos\theta sin\phi,z=sin\theta\}.\]

library(Deriv)
## Warning: package 'Deriv' was built under R version 4.0.5
dot_prod<-function(a,b){
 Simplify(paste(paste(a,b,sep="*"),collapse="+") )
}

x="cos(theta)*cos(phi)"
y="cos(theta)*sin(phi)"
z="sin(theta)"

r=c(x,y,z)

Partial derivatives of 1 and 2 degress

r.theta=sapply(r,function(m) Deriv(m,"theta"))
r.phi=sapply(r,function(m) Deriv(m,"phi"))

r.thetatheta=sapply(r.theta,function(m) Deriv(m,"theta"))
r.phitheta=sapply(r.phi,function(m) Deriv(m,"theta"))
r.thetaphi=sapply(r.theta,function(m) Deriv(m,"phi"))
r.phiphi=sapply(r.phi,function(m) Deriv(m,"phi"))

Chris11.1=dot_prod(r.thetatheta,r.theta)
Chris11.2=dot_prod(r.thetatheta,r.phi)
Chris12.1=dot_prod(r.thetaphi,r.theta)
Chris12.2=dot_prod(r.thetaphi,r.phi)
Chris22.1=dot_prod(r.phiphi,r.theta)
Chris22.2=dot_prod(r.phiphi,r.phi)

Christoffel symbols of first kind are symmetric, so \(\Gamma_{lij}=\Gamma_{lji}\). Use \(cos^2(x)+sin^2(x)=1\) to simplfy.

raw1=c(Chris11.1,Chris12.1,Chris12.1,Chris22.1)
raw2=c(Chris11.2,Chris12.2,Chris12.2,Chris22.2)

raw1=gsub("cos(phi)^2 + sin(phi)^2", "1", raw1,fixed=TRUE)
raw2=gsub("cos(phi)^2 + sin(phi)^2", "1", raw2,fixed=TRUE)

raw1=gsub("(1)", "1", raw1,fixed=TRUE)
raw2=gsub("(1)", "1", raw2,fixed=TRUE)

raw1=gsub("(1 - 1)", "0", raw1,fixed=TRUE)
raw2=gsub("(1 - 1)", "0", raw2,fixed=TRUE)

Christoffel symbols of first kind for unit sphere, is a \(2\times2\times2\) tensor.

Gamma1ij=matrix(raw1,nrow=2)
Gamma2ij=matrix(raw2,nrow=2)

Gamma1ij
##      [,1]                          [,2]                         
## [1,] "0 * cos(theta) * sin(theta)" "0"                          
## [2,] "0"                           "1 * cos(theta) * sin(theta)"
Gamma2ij
##      [,1]                             [,2]                            
## [1,] "0"                              "-(1 * cos(theta) * sin(theta))"
## [2,] "-(1 * cos(theta) * sin(theta))" "0"

\[\Gamma _{\theta ij}=\left| {\begin{array} *{0}&{0}\\ {0}&{\cos\theta \sin\theta } \end{array}} \right|, \Gamma _{\phi ij}=\left| {\begin{array} *{0}&{-\cos\theta \sin\theta}\\ {-\cos\theta \sin\theta}&{0} \end{array}} \right|.\] If we want to include radius \(R\) as a parameter, \(\bar r=\{x=R\cos\theta \cos\phi,y=R\cos\theta \sin\phi,z=R\sin\theta \}\). We would perform degree 1 and 2 derivatives with \(R, \theta, \phi\). The resulting tensor is \(3\times3\times3\).

\[\Gamma_{Rij}=\left| {\begin{array} *{\bar r_{RR} . \bar r_R}&{\bar r_{R\theta} . \bar r_R}&{\bar r_{R\phi} . \bar r_R}\\ {\bar r_{R\theta} . \bar r_R}&{\bar r_{\theta\theta} . \bar r_R}& {\bar r_{\theta\phi} . \bar r_R}\\ {\bar r_{R\phi} . \bar r_R}&{\bar r_{\theta\phi} . \bar r_R}& {\bar r_{\phi\phi} . \bar r_R} \end{array}} \right|\] \[\Gamma_{\theta ij}=\left| {\begin{array} *{\bar r_{RR} . \bar r_\theta}&{\bar r_{R\theta} . \bar r_\theta}&{\bar r_{R\phi} . \bar r_\theta}\\ {\bar r_{R\theta} . \bar r_\theta}&{\bar r_{\theta\theta} . \bar r_\theta}& {\bar r_{\theta\phi} . \bar r_\theta}\\ {\bar r_{R\phi} . \bar r_\theta}&{\bar r_{\theta\phi} . \bar r_\theta}& {\bar r_{\phi\phi} . \bar r_\theta} \end{array}} \right|\] \[\Gamma_{\phi ij}=\left| {\begin{array} *{\bar r_{RR} . \bar r_\phi}&{\bar r_{R\theta} . \bar r_\phi}&{\bar r_{R\phi} . \bar r_\phi}\\ {\bar r_{R\theta} . \bar r_\phi}&{\bar r_{\theta\theta} . \bar r_\phi}& {\bar r_{\theta\phi} . \bar r_\phi}\\ {\bar r_{R\phi} . \bar r_\phi}&{\bar r_{\theta\phi} . \bar r_\phi}& {\bar r_{\phi\phi} . \bar r_\phi} \end{array}} \right|\]