Essays/SpaceTime2D/SpaceTime2D05

4 Metric Tensor

... McCONNELL Chapter XIV Section 3 ...
... Sokolnikoff Sections 29 and 30 ...
... Sokolnikoff Section 41 ...

4.1 Covariant Metric Tensor

```NB. ... script SpaceTime2D.ijs (continued) ...

mXsetV=:3 : 0
mXv02=:xcdv;0;0;0;tdv;0;0;0:
mXv04=:xcdv;xcdvdv;0;0;tdv;tdvdv;0;0:
mXv06=:xcdv;xcdvdv;xcdvdvdv;0;tdv;tdvdv;tdvdvdv;0:
mXv08=:xcdv;xcdvdv;xcdvdvdv;xcdvdvdvdv;tdv;tdvdv;tdvdvdv;tdvdvdvdv
0 0\$0
)

mXm1v =:>@(0{])
mXm2v =:>@(1{])
mXm3v =:>@(2{])
mXm4v =:>@(3{])
mXt1v =:>@(4{])
mXt2v =:>@(5{])
mXt3v =:>@(6{])
mXt4v =:>@(7{])

mXmcvI=:+/@:(*/~"1)"2@mXm1v+-@(gXc^2:)**/~"1@mXt1v

mXmcvIdvt1    =:mXm1v+/@:((]+0 2|:])@(*/)"1 2)"2 3 mXm2v
mXmcvIdvt2    =:-@(gXc^2:)*mXt1v(]+0 2|:])@(*/)"1 2 mXt2v
mXmcvIdv      =:mXmcvIdvt1+mXmcvIdvt2

mXmcvIdvdvM1  =:]+0 2 3|:]
mXmcvIdvdvM2  =:(1|:])+1 3|:]
mXmcvIdvdvt1  =:mXm1v+/@:(mXmcvIdvdvM1@(*/)"1 3)"2 4 mXm3v
mXmcvIdvdvt2  =:mXm2v+/@:(mXmcvIdvdvM2@(*/)"2 2)"3 3 mXm2v
mXmcvIdvdvt3  =:-@(gXc^2:)*mXt1v mXmcvIdvdvM1@(*/)"1 3 mXt3v
mXmcvIdvdvt4  =:-@(gXc^2:)*mXt2v mXmcvIdvdvM2@(*/)"2 2 mXt2v
mXmcvIdvdv    =:mXmcvIdvdvt1+mXmcvIdvdvt2+mXmcvIdvdvt3+mXmcvIdvdvt4

mXmcvIdvdvdvM1=:]+0 2 3 4|:]
mXmcvIdvdvdvM2=:(1|:])+(1 4|:])+(0 1 3 4|:])+(1 3 4|:])+(0 3 1 4|:])+0 3 4 1|:]
mXmcvIdvdvdvt1=:mXm1v+/@:(mXmcvIdvdvdvM1@(*/)"1 4)"2 5 mXm4v
mXmcvIdvdvdvt2=:mXm2v+/@:(mXmcvIdvdvdvM2@(*/)"2 3)"3 4 mXm3v
mXmcvIdvdvdvt3=:-@(gXc^2:)*mXt1v mXmcvIdvdvdvM1@(*/)"1 4 mXt4v
mXmcvIdvdvdvt4=:-@(gXc^2:)*mXt2v mXmcvIdvdvdvM2@(*/)"2 3 mXt3v
mXmcvIdvdvdv  =:mXmcvIdvdvdvt1+mXmcvIdvdvdvt2+mXmcvIdvdvdvt3+mXmcvIdvdvdvt4

mcv      =:[((gXL0 mXmcvI       gXR0)+gXL1 mXmcvI       gXR1)(gXL0 mXv02]);<@(gXL1 mXv02])
mcvdv    =:[((gXL0 mXmcvIdv     gXR0)+gXL1 mXmcvIdv     gXR1)(gXL0 mXv04]);<@(gXL1 mXv04])
mcvdvdv  =:[((gXL0 mXmcvIdvdv   gXR0)+gXL1 mXmcvIdvdv   gXR1)(gXL0 mXv06]);<@(gXL1 mXv06])
mcvdvdvdv=:[((gXL0 mXmcvIdvdvdv gXR0)+gXL1 mXmcvIdvdvdv gXR1)(gXL0 mXv08]);<@(gXL1 mXv08])
```

```NB. ... execute (ijx) ...

mXsetV''

p5aXd1=.(0.25;0.25;1;11.62;1);<_0.125;0;1;11.62;1
p5aXd2=.0.01 0.646447 10,:0 2p1 33

p5a1d1=.p5aXd1 mcvdv vGen(p5aXd2)
p5a1d2=.p5aXd1(0|:[:(p5aXd1 mcv])D.1])"1 vGen(p5aXd2)
p5a1d1((2^_10)gXteq[;])p5a1d2
1
(p5a1d1=.0),p5a1d2=.0
0 0

p5a2d1=.p5aXd1 mcvdvdv vGen(p5aXd2)
p5a2d2=.p5aXd1(0|:[:(p5aXd1 mcvdv])D.1])"1 vGen(p5aXd2)
p5a2d1((2^_6)gXteq[;])p5a2d2
1
(p5a2d1=.0),p5a2d2=.0
0 0

p5a3d1=.p5aXd1 mcvdvdvdv vGen(p5aXd2)
p5a3d2=.p5aXd1(0|:[:(p5aXd1 mcvdvdv])D.1])"1 vGen(p5aXd2)
p5a3d1((2^_6)gXteq[;])p5a3d2
1
(p5a3d1=.0),p5a3d2=.0
0 0
```

4.2 Cofactors of Covariant Metric Tensor

```NB. ... script SpaceTime2D.ijs (continued) ...

mXsign  =:*/~@({.@\$\$1,_1:)
mXdet   =:-/ . *                       NB. see Vocabulary 'Determinant'
mXminors=:1&(|:\.)"2^:2                NB. see Vocabulary 'Outfix'
mXMcf   =:(mXsign*mXdet@mXminors)"2
```

```NB. ... script SpaceTime2D.ijs (continued) ...

M    =:mXMcf@mcv
Mdv  =:mXminors^:1"2@(0 1|:])"3@mcvdv(0|:(mXsign*])@:(+/@(+/)@([*mXMcf@])"2)"4)"5 4 mXminors^:1"2@mcv
Mdvdv=:mXminors^:1"2@(0 1|:])"4@mcvdvdv(0 1|:(mXsign*])@:(+/@(+/)@([*mXMcf@])"2)"4)"6 4 mXminors^:1"2@mcv
```

4.3 Determinant of Covariant Metric Tensor

```NB. ... script SpaceTime2D.ijs (continued) ...

m      =:mXdet@mcv
mdv    =:(0 1|:])"3@mcvdv+/@(+/)@([*mXMcf@])"2"3 2 mcv
mdvdvt1=:(0 1|:])"3@mcvdv+/@(+/)@(*"2)"2 _"3(0 1|:])"3@Mdv
mdvdvt2=:(0 1|:])"4@mcvdvdv+/@(+/)@(*"2)"4 2 M
mdvdv  =:mdvdvt1+mdvdvt2
```

```NB. ... execute (ijx) ...

mXsetV''

p5bXd1=.(0.25;0.25;1;11.62;1);<_0.125;0;1;11.62;1
p5bXd2=.0.01 0.646447 10,:0 2p1 33

p5b1d1=.p5bXd1 Mdv vGen(p5bXd2)
p5b1d2=.p5bXd1(0|:[:(p5bXd1 M])D.1])"1 vGen(p5bXd2)
p5b1d1((2^_10)gXteq[;])p5b1d2
1
(p5b1d1=.0),p5b1d2=.0
0 0

p5b2d1=.p5bXd1 Mdvdv vGen(p5bXd2)
p5b2d2=.p5bXd1(0|:[:(p5bXd1 Mdv])D.1])"1 vGen(p5bXd2)
p5b2d1((2^_6)gXteq[;])p5b2d2
1
(p5b2d1=.0),p5b2d2=.0
0 0

p5b3d1=.p5bXd1 mdv vGen(p5bXd2)
p5b3d2=.p5bXd1(0|:[:(p5bXd1 m])D.1])"1 vGen(p5bXd2)
p5b3d1((2^_9)gXteq[;])p5b3d2
1
(p5b3d1=.0),p5b3d2=.0
0 0

p5b4d1=.p5bXd1 mdvdv vGen(p5bXd2)
p5b4d2=.p5bXd1(0|:[:(p5bXd1 mdv])D.1])"1 vGen(p5bXd2)
p5b4d1((2^_8)gXteq[;])p5b4d2
1
(p5b4d1=.0),p5b4d2=.0
0 0
```

4.4 Contravariant Metric Tensor

```NB. ... script SpaceTime2D.ijs (continued) ...

mcn=:(m^_1:)*"0 2 M

mcndvt1=:(m^_1:)*"0 3 Mdv
mcndvt2=:(-@(m^_2:)*"0 1 mdv)(0|:])"3@(*/"1 2)M
mcndv  =:mcndvt1+mcndvt2

mcndvdvt1=:(m^_1:)*"0 4 Mdvdv
mcndvdvt2=:(-@(m^_2:)*"0 1 mdv)(0|:])"4@:(*/"1 3)Mdv
mcndvdvt3=:(-@(m^_2:)*"0 1 mdv)(0 3|:])"4@:(*/"1 3)Mdv
mcndvdvt4=:(-@(m^_2:)*"0 2 mdvdv)(0 1|:])"4@:(*/"2)M
mcndvdvt5=:((2*m^_3:)*"0 2 mdv*/"1 mdv)(0 1|:])"4@:(*/"2)M
mcndvdv  =:mcndvdvt1+mcndvdvt2+mcndvdvt3+mcndvdvt4+mcndvdvt5
```

```NB. ... execute (ijx) ...

mXsetV''

p5cXd1=.(0.25;0.25;1;11.62;1);<_0.125;0;1;11.62;1
p5cXd2=.0.01 0.646447 10,:0 2p1 33

p5c1d1=.p5cXd1 mcndv vGen(p5cXd2)
p5c1d2=.p5cXd1(0|:[:(p5cXd1 mcn])D.1])"1 vGen(p5cXd2)
p5c1d1((2^_7)gXteq[;])p5c1d2
1
(p5c1d1=.0),p5c1d2=.0
0 0

p5c2d1=.p5cXd1 mcndvdv vGen(p5cXd2)
p5c2d2=.p5cXd1(0|:[:(p5cXd1 mcndv])D.1])"1 vGen(p5cXd2)
p5c2d1((2^_8)gXteq[;])p5c2d2
1
(p5c2d1=.0),p5c2d2=.0
0 0
```

```NB. ... execute (ijx) ...

mXsetV''

p5dXd1=.(0.25;0.25;1;11.62;1);<_0.125;0;1;11.62;1
p5dXd2=.0.01 0.646447 10,:0 2p1 33

p5dXd1*./@(*./)@((2 2\$1 0 0 1"_)((2^_41)gXteq[;])"2(2^_39)&gXtsz@(mcv gXsmx"2 mcn))vGen(p5dXd2)
1
```