ComplexManifolds

# Non-Riemannian Complex Manifolds for the HP-41

Overview

-These programs calculate the components of a few tensors in complex manifolds, even if the connexion is different from the Christoffel symbols:

•  Curvature Tensor
•  Ricci Tensor & Segmental Curvature Tensor
•  Scalar Curvature
•  Torsion Tensor
•  Torsion Vector

-Several subroutines from the module "ZDERIVE41" are called.

M-Code Routine

-A function ( hidden in the  "-ZDIFFMANIF"  header in the module )  places "CIJK" in alpha provided Z = i  Y = j  X = k
-Change its name as you like...

-It could be replaced by  "C"  ARCL Z  ARCL Y  ARCL X  provided  FIX 0  CF 29  are added at the beginning of the routines.

086   "F"
009   "I"
00E  "N"
001  "A"
00D "M"
006   "F"
006   "F"
009   "I"
004   "D"
01A  "Z"
02D  "-"
04E  C=0
168  M=C
1A8  N=C
1E8  O=C
228  P=C
29C  PT=7
110  LD@PT- 4
0D0  LD@PT- 3
0D0  LD@PT- 3
010  LD@PT- 0
0D0  LD@PT- 3
010  LD@PT- 0
0D0  LD@PT- 3
10E  A=C ALL
078  C=Z
13C  RCR 8
05C  PT=4
102  A=C @PT
0B8  C=Y
0FC  RCR 10
21C  PT=2
102  A=C @PT
0F8  C=X
37C  RCR 12
39C  PT=0
102  A=C @PT
0AE A<>C ALL
168  M=C
3E0  RTN

Program Listing

-The following listing actually combines 5 routines:  "ZRIJK+L"  "ZRQIJ"  "ZRQ"  "ZSIJK"  "ZSJ"

Data Registers:      R00 temp                                      ( Registers R01 thru R2n , R09 & R10 are to be initialized before executing these routines  )

•  R01-R02 = x1 ,  •  R03-R04 = x2 , .......... ,  •  R2n-1-R2n = xn

•  R09 = n < 5    •  R10 = h

Flags:  F00-F02-F09-F10
Subroutines:   "ZFD"  and the programs that compute the  Gkij    assuming  x1 , ............ , xn are in R01 thru R2n

-Lines 96-130 are three-byte GTOs

 01 LBL "ZRIJK+L"  02 LBL 10  03 STO 14  04 RDN  05 STO 13  06 RDN  07 STO 12  08 X<>Y  09 STO 11  10 RCL 09  11 STO 15  12 CLX  13 STO 18  14 STO 19  15 LBL 01  16 CLX  17 STO 22  18 STO 23  19 RCL 15  20 RCL 13  21 FS? 02  22 X<>Y  23 RCL 14  24 -ZDIFFMANIF  25 ASTO X  26 XEQ IND X  27 SIGN  28 X=0?  29 GTO 00  30 X<>Y  31 STO 23  32 LASTX  33 STO 22  34 LBL 00  35 RCL 11  36 RCL 12  37 FS? 02  38 X<>Y 39 RCL 15  40 -ZDIFFMANIF  41 ASTO X  42 XEQ IND X  43 SIGN  44 X=0?  45 ENTER  46 X#0?  47 X<> L  48 RCL 23  49 RCL 22  50 Z*Z  51 STO 22  52 X<>Y  53 STO 23  54 CLX  55 STO 24  56 STO 25  57 RCL 15  58 RCL 12  59 FS? 02  60 X<>Y  61 RCL 14  62 -ZDIFFMANIF  63 ASTO X  64 XEQ IND X  65 SIGN  66 X=0?  67 GTO 00  68 X<>Y  69 STO 25  70 LASTX  71 STO 24  72 LBL 00  73 RCL 11  74 RCL 13  75 FS? 02  76 X<>Y 77 RCL 15  78 -ZDIFFMANIF  79 ASTO X  80 XEQ IND X  81 SIGN  82 X=0?  83 ENTER  84 X#0?  85 X<> L  86 RCL 25  87 RCL 24  88 Z*Z  89 RCL 23  90 RCL 22  91 Z-Z  92 ST+ 18  93 X<>Y  94 ST+ 19  95 DSE 15  96 GTO 01  97 RCL 11  98 STO 21  99 RCL 12 100 STO 22 101 FS? 02 102 X<>Y 103 RCL 14 104 STO 24 105 -ZDIFFMANIF 106 ASTO 00 107 RCL 10 108 RCL 13 109 STO 23 110 XROM "ZFD" 111 ST- 18 112 X<>Y 113 ST- 19 114 RCL 21 115 RCL 23 116 FS? 02 117 X<>Y 118 RCL 24 119 -DIFZFMANIF 120 ASTO 00 121 RCL 10 122 RCL 22 123 XROM "ZFD" 124 ST+ 18 125 X<>Y 126 ST+ 19 127 RCL 19 128 RCL 18 129 RTN 130 GTO 10 131 LBL "ZRQIJ" 132 LBL 12 133 CF 09 134 GTO 00 135 LBL 13 136 SF 09 137 LBL 00 138 STO 23 139 X<>Y 140 STO 28 141 RCL 09 142 STO 24 143 CLX 144 STO 20 145 STO 27 146 LBL 02 147 RCL 28 148 RCL 24 149 FS? 00 150 X<>Y 151 RCL 23 152 RCL 24 153 XEQ 10 154 ST+ 20 155 X<>Y 156 ST+ 27 157 DSE 24 158 GTO 02 159 RCL 27 160 RCL 20 161 FS? 09 162 GTO 14 163 RTN 164 GTO 12 165 LBL "ZRQ"       166 LBL 09 167 RCL 09 168 STO 28 169 CLX 170 STO 32 171 STO 33 172 LBL 03 173 RCL 09 174 STO 29 175 LBL 04 176 RCL 28 177 RCL 29 178 ENTER 179 CLX 180 ZCIJK 181 Z=0? 182 GTO 00 183 STO 30 184 X<>Y 185 STO 31 186 RCL 28 187 RCL 29 188 GTO 13 189 LBL 14 190 RCL 31 191 RCL 30 192 Z*Z 193 ST+ 32 194 X<>Y 195 ST+ 33 196 LBL 00 197 DSE 29 198 GTO 04 199 DSE 28 200 GTO 03 201 RCL 33 202 RCL 32 203 RTN 204 GTO 09 205 LBL "ZSIJK" 206 LBL 05 207 STO 13 208 RDN 209 STO 12 210 X<>Y 211 STO 11 212 R^ 213 -ZDIFFMANIF 214 ASTO X 215 XEQ IND X 216 SIGN 217 X=0? 218 ENTER 219 X#0? 220 X<> L 221 STO 14 222 X<>Y 223 STO 15 224 RCL 11 225 RCL 12 226 RCL 13 227 -ZDIFFMANIF 228 ASTO X 229 XEQ IND X 230 SIGN 231 X=0? 232 ENTER 233 X#0? 234 X<> L 235 RCL 15 236 RCL 14 237 Z-Z 238 STO 14 239 X<>Y 240 STO 15 241 X<>Y 242 RTN 243 GTO 05 244 LBL "ZSJ"        245 LBL 06 246 STO 11 247 RCL 09 248 STO 12 249 CLX 250 STO 16 251 STO 17 252 LBL 07 253 RCL 11 254 RCL 12 255 ENTER 256 XEQ 05 257 ST+ 16 258 X<>Y 259 ST+ 17 260 DSE 12 261 GTO 07 262 RCL 17 263 RCL 16 264 RTN 265 GTO 06 266 END

( 447 bytes / SIZE var. )

-In the following examples, we assume a 2-dimensional complex manifold where the connections are defined by

G111 = x2 y          G211 = x2 y2
G112 =  x y          G212 = x + y
G121 =  - x y         G221= x - y
G122 =  x y2        G222 = x2 + y2

>>> Store 2 in register R09  ( the dimension of the manifold )

-Load the following routines in main memory

 01 LBL "C111"  02 RCL 02  03 RCL 01  04 Z^2  05 RCL 04  06 RCL 03  07 Z*Z  08 RTN  09 LBL "C121"  10 RCL 04  11 RCL 03  12 RCL 02  13 RCL 01 14 Z*Z  15 RTN  16 LBL "C211"  17 RCL 04  18 RCL 03  19 RCL 02  20 CHS  21 RCL 01  22 CHS  23 Z*Z  24 RTN  25 LBL "C221"  26 RCL 04 27 RCL 03  28 Z^2  29 RCL 02  30 RCL 01  31 Z*Z  32 RTN  33 LBL "C112"  34 RCL 04  35 RCL 03  36 RCL 02  37 RCL 01  38 Z*Z  39 Z^2 40 RTN  41 LBL "C122"  42 RCL 04  43 RCL 03  44 RCL 02  45 RCL 01  46 Z+Z  47 RTN  48 LBL "C212"  49 RCL 02  50 RCL 01  51 RCL 04  52 RCL 03 53 Z-Z  54 RTN  55 LBL "C222"  56 RCL 02  57 RCL 01  58 Z^2  59 RCL 04  60 RCL 03  61 Z^2  62 Z+Z  63 RTN  64 END

-At the point  x = ( 1+2.i , 3-4.i )

1  STO 01     3  STO 03
2  STO 02     4  CHS  STO 04

-If you choose h = -0.01  to evaluate the derivatives ( with formulas of order 4 )     0.01  CHS  STO 10

1-Curvature Tensor(s)

Rlijk = jGlik - kGlij + GlmjGmik - GlmkGmij         if CF 02
Rlijk = jGlki - kGlji + GljmGmki - GlkmGmji         if SF 02

 STACK INPUTS OUTPUTS T i / Z j / Y k Im Rlijk X l Re Rlijk

Example:

CF 02

1  ENTER^
1  ENTER^
2  ENTER^
2  XEQ "ZRIJK+L"  >>>>   1404                                             ---Execution time = 18s---
X<>Y  3396

-So,   R2112 = 1404 + 3396 i

SF 02

1  ENTER^
1  ENTER^
2  ENTER^
2  XEQ "ZRIJK+L"  >>>>   -760                                             ---Execution time = 18s---
X<>Y  2048

-So,   R2112 = -760 + 2048 i

2-Ricci tensor  Rij  and segmental curvature tensor  Qij

Rij = Rmimj

Qij = Rmmij  =  iGmmj - jGmmi  is actually a curl.  ( equals zero in Riemannian manifolds )

If  CF 00  "ZRQIJ"  returns the components of  Rij
-If  CF 02 with the connexion Gkij
-If  SF 02 with the connexion Gkji

If  SF 00  "ZRQIJ" returns the components of Qij
-If  CF 02 with the connexion Gkij
-If  SF 02 with the connexion Gkji

 STACK INPUTS OUTPUTS Y i Im ( Rij or Qij ) X j Re ( Rij or Qij )

Rij  if CF 00   ( connexion Gkij if CF 02 ,  transpose connexion Gkji  if SF 02 )
Qij  if SF 00   ( connexion Gkij if CF 02 ,  transpose connexion Gkji  if SF 02 )

Examples:

CF 00  CF 02

1  ENTER^
2  XEQ "ZRQIJ"  >>>>   -6511                                             ---Execution time = 36s---
X<>Y    2648

-Thus,   R12 = -6511 + 2648 i

CF 00  SF 02

1  ENTER^
2  XEQ "ZRQIJ"  >>>>   -6503                                             ---Execution time = 36s---
X<>Y    2704

-So,   R12 = -6503 + 2704 i

SF 00  CF 02

1  ENTER^
2  XEQ "ZRQIJ"  >>>>     9                                             ---Execution time = 37s---
X<>Y   -4

-Thus,   R12 = 9 - 4 i

SF 00  SF 02

1  ENTER^
2  XEQ "ZRQIJ"  >>>>     1                                             ---Execution time = 37s---
X<>Y     4

-Thus,   R12 = 1 + 4 i

3-Scalar Curvatures

-The contracted tensors  R = gij Rij  and  Q = gij Qij  gives 2 scalar curvatures

"ZRQ" returns R if CF 00    with 2 different results if F02 is clear or not
"ZRQ" returns Q if SF 00    with 2 different results if F02 is clear or not

-To obtain correct results, "ZINIGC" must be executed before "ZRQ" to store  gij  in the proper registers.

-So, we need the metric tensor gij

>>>  Assuming we have

g11 = 1 + x2    g12 = g21 = x y
g22 = 1 + y2

 01  LBL "G11"  02  RCL 02  03  RCL 01  04  Z^2  05  1  06  +  07  RTN  08  LBL "G12"  09  RCL 04  10  RCL 03  11  RCL 02  12  RCL 01  13  Z*Z  14  RTN  15  LBL "G22"  16  RCL 04  17  RCL 03  18  Z^2  19  1  20  +  21  RTN

0.01  CHS  ENTER^
2     XEQ "ZINIGC"  >>>>    61.084

>>> Since it's not necessary to compute the Christoffel symbols, you can stop the routine as soon as the countdown starts.

 STACK INPUT OUTPUT Y / Im ( R or Q ) X / Re ( R or Q )

R if CF 00   ( connexion Gkij if CF 02 ,  transpose connexion Gkji  if SF 02 )
Q if SF 00   ( connexion Gkij if CF 02 ,  transpose connexion Gkji  if SF 02 )

Examples:

CF 00  CF 02

XEQ "ZRQ"  >>>>  -2475.943865                                             ---Execution time = 2m34s---
X<>Y    2673.875260

-Thus,   R = -2475.943865 + 2673.875260 i

CF 00  SF 02

XEQ "ZRQ"  >>>>    -269.7234920                                            ---Execution time = 2m34s---
X<>Y    4626.274428

-So,   R = -269.7234920 + 4626.274428 i

SF 00  CF 02

XEQ "ZRQ"  >>>>     0                                             ---Execution time = 2m34s---
X<>Y     0

-Thus,   Q = 0

SF 00  SF 02

XEQ "ZRQ"  >>>>     0                                             ---Execution time = 2m34s---
X<>Y     0

-Thus,   Q = 0

4-Torsion tensor:

"ZSIJK"  calculates   Skij = GkijGkji

-Though Gkij is not a tensor, Skij is a tensor !

 STACK INPUTS OUTPUTS Z i / Y j Im Skij X k Re Skij

Example:

1  ENTER^
2  ENTER^
2  XEQ "ZSIJK"  >>>>    6                                             ---Execution time = 18s---
X<>Y  -8

-So,  S212 = 6 - 8 i

5-Torsion Vector

-Contracting  Skij  we get a covariant vector  Sj = Skjk  wich is computed by "ZSJ"

 STACK INPUT OUTPUT Y / Im Sj X j Re Sj

Example:

2  XEQ "ZSJ"  >>>>  -22                                             ---Execution time = 7s---
X<>Y  -4

-And   S2 = -22 - 4 i

References:

[1]  Elie Cartan - "Leçons sur la géométrie des espaces de Riemann" - Gauthier-Villars, Paris   ( in French )
[2]  Denis-Papin & Kaufmann - "Cours de calcul Tensoriel Appliqué" - Albin Michel    ( in French )
[3]  List of Formulas in Riemannian Geometry
[4]  Nikodem J. Poplawski - "Spacetime and fields"- Department of Physics, Indiana University, Bloomington, IN 47405, USA
[5]  Marie-Antoinette Tonnelat - Theorie unitaire affine du champ physique. J. Phys. Radium, 1951, 12 (2),