tensor(deprecated)/convertNP - Help

tensor

 convertNP
 convert the connection coefficients or the Riemann tensor into Newman-Penrose formalism

 Calling Sequence convertNP( 'spin', Gamma) convertNP( 'curve', Riemann, conj_pairs)

Parameters

 'spin', 'curve' - first parameter is a flag and takes either 'spin' or 'curve' Gamma - covariant connection coefficients (thus has character $\left[-1,-1,-1\right]$) Riemann - covariant Riemann tensor (thus has character $\left[-1,-1,-1,-1\right]$ and indexing function cov_riemann in component array) conj_pairs - optional parameter to convertNP(...) when the flag is 'curve'. It holds a list of pairs (pair: a 2-element list) of names to be treated as complex conjugates in the construction of the 'Phi' field of the curvature component table

Description

Important: The tensor package has been deprecated. Use the superseding packages DifferentialGeometry and Physics instead.

 • This function can be used to compute either the spin coefficients or the curvature components in the rigid frame in which the metric assumes the form :

$g≔\mathrm{table}\left(\left[\mathrm{index_char}=\left[-1,-1\right],\mathrm{compts}=\left[\begin{array}{rrrr}0& 1& 0& 0\\ 1& 0& 0& 0\\ 0& 0& 0& -1\\ 0& 0& -1& 0\end{array}\right]\right]\right)$

 given correspondingly the covariant components of the connections or the covariant Riemann tensor in that particular rigid frame.
 • When the first parameter is fed with 'spin' then convertNP() checks if the second one (denoted as Gamma above) is a tensor_type with character $\left[-1,-1,-1\right]$.  If it does, then the function constructs a spin coefficient table based on Gamma.
 • When the first parameter is fed with 'curve', then convertNP() checks if the second one (denoted as Riemann above) has character $\left[-1,-1,-1,-1\right]$ and indexing function cov_riemann in its component array.  If it does, then the function goes on to construct a curvature component table based on Riemann.
 • Complex conjugation is required during the construction of the 'Phi' field which is a hermitian matrix, of the curvature table.  If a third argument of a list of pairs of names is passed in, these pairs will be treated as complex conjugates when conjugation is taken for building the 'Phi' field. Note that $\left[\left[I,-I\right]\right]$ is the default value of conj_pairs and any third argument supplied by the user would be appended to it.  Any other names not specified in conj_pairs are treated as real.
 • This function is part of the tensor package, and can be used in the form convertNP(..) only after performing the command with(tensor), or with(tensor, convertNP).  The function can always be accessed in the long form tensor[convertNP].

Examples

Important: The tensor package has been deprecated. Use the superseding packages DifferentialGeometry and Physics instead.

 > $\mathrm{with}\left(\mathrm{tensor}\right):$

First specify the constant metric wished to be used.

 > $\mathrm{g_compts}≔\mathrm{array}\left(\mathrm{symmetric},1..4,1..4\right):$
 > $\mathbf{for}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}i\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathbf{to}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}4\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathbf{do}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathbf{for}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}j\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathbf{from}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}i\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathbf{to}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}4\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathbf{do}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}{\mathrm{g_compts}}_{i,j}≔0\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathbf{end do}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathbf{end do}:$${\mathrm{g_compts}}_{1,2}≔1:$${\mathrm{g_compts}}_{3,4}≔-1:$$g≔\mathrm{create}\left(\left[-1,-1\right],\mathrm{op}\left(\mathrm{g_compts}\right)\right)$
 ${g}{:=}{\mathrm{table}}\left(\left[{\mathrm{compts}}{=}\left[\begin{array}{rrrr}{0}& {1}& {0}& {0}\\ {1}& {0}& {0}& {0}\\ {0}& {0}& {0}& {-}{1}\\ {0}& {0}& {-}{1}& {0}\end{array}\right]{,}{\mathrm{index_char}}{=}\left[{-}{1}{,}{-}{1}\right]\right]\right)$ (1)

Entering the coordinates and covariant tetrad of the Plane wave metric

 > $\mathrm{coord}≔\left[u,x,y,v\right]:$
 > $\mathrm{h_compts}≔\mathrm{array}\left(1..4,1..4,\left[\left(2,3\right)=0,\left(2,4\right)=0,\left(3,1\right)=0,\left(3,2\right)=0,\left(3,3\right)=-1,\left(1,2\right)=0,\left(4,1\right)=0,\left(2,1\right)=1,\left(4,2\right)=-1,\left(4,4\right)=0,\left(1,1\right)=a{x}^{2}+byx+c{y}^{2},\left(1,3\right)=0,\left(1,4\right)=1,\left(4,3\right)=0,\left(3,4\right)=0,\left(2,2\right)=0\right]\right):$
 > $h≔\mathrm{create}\left(\left[1,-1\right],\mathrm{op}\left(\mathrm{h_compts}\right)\right)$
 ${h}{:=}{\mathrm{table}}\left(\left[{\mathrm{compts}}{=}\left[\begin{array}{cccc}{a}{}{{x}}^{{2}}{+}{b}{}{x}{}{y}{+}{c}{}{{y}}^{{2}}& {0}& {0}& {1}\\ {1}& {0}& {0}& {0}\\ {0}& {0}& {-}{1}& {0}\\ {0}& {-}{1}& {0}& {0}\end{array}\right]{,}{\mathrm{index_char}}{=}\left[{1}{,}{-}{1}\right]\right]\right)$ (2)

Compute the covariant components of the connections.

 > $\mathrm{Γ}≔\mathrm{connexF}\left(\mathrm{coord},g,h\right):$

Now convert Gamma to the spin coefficients in Newman-Penrose formalism.

 > $\mathrm{convertNP}\left('\mathrm{spin}',\mathrm{Γ}\right)$
 ${\mathrm{table}}\left(\left[{\mathrm{ν}}{=}{-}{2}{}{a}{}{x}{-}{b}{}{y}{,}{\mathrm{π}}{=}{0}{,}{\mathrm{γ}}{=}{0}{,}{\mathrm{ρ}}{=}{0}{,}{\mathrm{β}}{=}{0}{,}{\mathrm{α}}{=}{0}{,}{\mathrm{σ}}{=}{0}{,}{\mathrm{ε}}{=}{0}{,}{\mathrm{κ}}{=}{0}{,}{\mathrm{λ}}{=}{0}{,}{\mathrm{τ}}{=}{0}{,}{\mathrm{μ}}{=}{0}\right]\right)$ (3)

Compute the covariant Riemann curvature tensor.

 > $\mathrm{ginv}≔\mathrm{invert}\left(g,\mathrm{DETg}\right):$$\mathrm{hinv}≔\mathrm{invert}\left(h,\mathrm{DETh}\right):$
 > $\mathrm{Rm}≔\mathrm{RiemannF}\left(\mathrm{coord},\mathrm{ginv},\mathrm{hinv},\mathrm{Γ}\right):$

Lastly, convert Rm to the curvature components in Newman-Penrose formalism.

 > $\mathrm{convertNP}\left('\mathrm{curve}',\mathrm{Rm}\right)$
 ${\mathrm{table}}\left(\left[{\mathrm{Ψ}}{=}{\mathrm{ARRAY}}{}\left(\left[{0}{..}{4}\right]{,}\left[{0}{=}{0}{,}{1}{=}{0}{,}{2}{=}{0}{,}{3}{=}{0}{,}{4}{=}{2}{}{a}\right]\right){,}{R}{=}{0}{,}{\mathrm{Φ}}{=}{\mathrm{ARRAY}}{}\left(\left[{0}{..}{2}{,}{0}{..}{2}\right]{,}\left[\left({0}{,}{0}\right){=}{0}{,}\left({0}{,}{1}\right){=}{0}{,}\left({0}{,}{2}\right){=}{0}{,}\left({1}{,}{0}\right){=}{0}{,}\left({1}{,}{1}\right){=}{0}{,}\left({1}{,}{2}\right){=}{0}{,}\left({2}{,}{0}\right){=}{0}{,}\left({2}{,}{1}\right){=}{0}{,}\left({2}{,}{2}\right){=}{b}\right]\right)\right]\right)$ (4)

Now demonstrate the use of conj_pairs :

 > $\mathrm{convertNP}\left('\mathrm{curve}',\mathrm{Rm},\left[\left[a,\mathrm{abar}\right],\left[\mathrm{bBAR},b\right]\right]\right)$
 ${\mathrm{table}}\left(\left[{\mathrm{Ψ}}{=}{\mathrm{ARRAY}}{}\left(\left[{0}{..}{4}\right]{,}\left[{0}{=}{0}{,}{1}{=}{0}{,}{2}{=}{0}{,}{3}{=}{0}{,}{4}{=}{2}{}{a}\right]\right){,}{R}{=}{0}{,}{\mathrm{Φ}}{=}{\mathrm{ARRAY}}{}\left(\left[{0}{..}{2}{,}{0}{..}{2}\right]{,}\left[\left({0}{,}{0}\right){=}{0}{,}\left({0}{,}{1}\right){=}{0}{,}\left({0}{,}{2}\right){=}{0}{,}\left({1}{,}{0}\right){=}{0}{,}\left({1}{,}{1}\right){=}{0}{,}\left({1}{,}{2}\right){=}{0}{,}\left({2}{,}{0}\right){=}{0}{,}\left({2}{,}{1}\right){=}{0}{,}\left({2}{,}{2}\right){=}{b}\right]\right)\right]\right)$ (5)