Template

# Cyclic Universes(2) for the HP-41

Overview

1°)  Cosmological Constant = 0
2°)  Density of Matter = 0 & Radiation Pressure < 0  ( 2 programs )

3°)  Radiation Pressure = 0 & Density of Matter < 0  ( 2 programs )
4°)  Density of Matter < 0 & Radiation Pressure # 0 ( or = 0 )
( 2 programs )

-These cyclic universes have no singularity.
-Cf "Cyclic Universes(1)" & "Age of the Universe" to compute the "age" and the period of the universes.

-The following programs take the redshift of a galaxy in X-register and calculate:

D   =  light-travel time distance ( in Giga-light-years ) = light-travel time ( in Giga-years )
D0 = comoving distance ( in Giga-light-years )
DL = luminosity-distance ( in Giga-light-years )

-The minimum, current and maximum scale factors are to be stored in registers  R01-R02-R03 ( respectively )

Formulae:

D  = (c/H0)  §y(em)1  y. [  (Omega)lambda.y4 + ( 1-(Omega)tot ).y2 + (Omega)mat.y + (Omega)rad  ] -1/2 dy           y(em) = y at the instant of emission
D0 = (c/H0)  §y(em)1      [  (Omega)lambda.y4 + ( 1-(Omega)tot ).y2 + (Omega)mat.y + (Omega)rad  ] -1/2 dy          z + 1 = R0/R = 1/yem

where  (Omega)tot = (Omega)mat + (Omega)lambda + (Omega)rad

F(x) = Sinh(x)  if  k = -1     hyperbolic space
DL = R0 ( z + 1 ) F(D0/R0)    where    F(x) =   x         if  k = 0      euclidean space
F(x) = Sin(x)    if  k = +1    spherical space

y = R/R0  so the integrals may also be computed with R instead of y

1°)  Cosmological Constant = 0

-These universes are spherical ( k = +1 )
-Density of matter is positive; radiation pressure is negative.

Data Registers:              R00 = z + 1                                 ( Registers R01-R02-R03 are to be initialized before executing "Z-D" )

•  R01 = Rmin         R04 = D           R06 to R08: temp
•  R02 = R0            R05 = D0
•  R03 = Rmax
Flags: /
Subroutines: /

 01 LBL "Z-D"  02 RAD  03 1  04 +  05 STO 00            06 RCL 02  07 X<>Y  08 /  09 STO 06  10 RCL 01  11 -  12 STO 05  13 RCL 03 14 RCL 06  15 -  16 STO 06  17 *  18 SQRT  19 RCL 03            20 RCL 02  21 -  22 STO 07  23 RCL 02  24 RCL 01  25 -  26 STO 08 27 *  28 SQRT  29 -  30 STO 04  31 RCL 08            32 RCL 07  33 -  34 RCL 03  35 RCL 01  36 -  37 STO 07  38 /  39 ASIN 40 RCL 05  41 RCL 06  42 -  43 RCL 07            44 /  45 ASIN  46 -  47 STO 05  48 RCL 01  49 RCL 03  50 +  51 2  52 / 53 *  54 ST+ 04  55 RCL 05  56 SIN  57 RCL 02            58 ST* 05  59 *  60 RCL 00  61 *  62 RCL 05  63 RCL 04  64 DEG  65 END

( 75 bytes / SIZE 009 )

 STACK INPUTS OUTPUTS Z / DL Y / D0 X z D

Example:       ( Rmin , R0 , Rmax )  =  ( 2 , 41 , 257 )           expressed in Gigalightyears     ,     z = 7

2    STO 01
41   STO 02
257  STO 03

7  XEQ "Z-D"   >>>>     D = 11.60902212  Gly                         ---Execution time = 3s---
RDN     D0 = 23.85152165  Gly
RDN     DL = 180.2301790  Gly

Note:

-All theses distances are computed with elementary functions.

2°)  Density of Matter = 0 & Radiation Pressure < 0  ( 2 programs )

-These universes are hyperbolic ( k= -1 )
-The distance D is calculated by elementary functions.

-But D0 is computed with Gauss-Legendre 2-point formula

Data Registers:              R10 = z + 1                                 ( Registers R01-R02-R03 are to be initialized before executing "Z-D" )

•  R01 = Rmin         R04 = D           R06 to R11: temp
•  R02 = R0            R05 = D0
•  R03 = Rmax
Flags: /
Subroutines: /

 01 LBL "Z-D"  02 DEG  03 STO 00  04 SIGN  05 +  06 STO 10            07 RCL 02  08 X<>Y  09 /  10 STO 06  11 RCL 02  12 X^2  13 ST+ X  14 RCL 01  15 X^2  16 STO 04  17 RCL 03  18 X^2  19 ST- 04  20 +  21 STO 11  22 -  23 RCL 04 24 /  25 ACOS  26 RCL 06  27 X^2  28 ST+ X  29 RCL 11            30 -  31 RCL 04  32 /  33 ACOS  34 -  35 D-R  36 2  37 /  38 STO 04  39 RCL 02  40 RCL 01  41 -  42 SQRT  43 RCL 06  44 RCL 01  45 -  46 SQRT 47 STO 07  48 -  49 RCL 00            50 ST+ 00  51 /  52 STO Y  53 3  54 SQRT  55 /  56 STO 08  57 -  58 STO 09  59 2  60 /  61 ST- 07  62 CLX  63 STO 05  64 LBL 01  65 RCL 07  66 RCL 08  67 X<> 09  68 STO 08  69 + 70 STO 07  71 X^2  72 RCL 01            73 STO Z  74 +  75 ENTER  76 ST+ Z  77 CHS  78 RCL 03  79 ST+ Z  80 +  81 *  82 *  83 SQRT  84 1/X  85 ST+ 05  86 DSE 00  87 GTO 01  88 RCL 05  89 RCL 08  90 *  91 3 92 SQRT  93 *  94 RCL 11            95 SQRT  96 ST* 04  97 *  98 STO 05  99 E^X-1 100 LASTX 101 CHS 102 E^X-1 103 - 104 2 105 / 106 RCL 10 107 * 108 RCL 02 109 ST* 05 110 * 111 RCL 05 112 RCL 04 113 END

( 136 bytes / SIZE 012 )

 STACK INPUTS OUTPUTS Z / DL Y z D0 X N D

Where  N = number of subintervals for the Gauss-Legendre 2-point formula

Example:       ( Rmin , R0 , Rmax )  =  ( 0.7 , 14 , 314 )           expressed in Gigalightyears          z = 7

0.7  STO 01
14   STO 02
314  STO 03

-If you choose N = 40

7   ENTER^
40  XEQ "Z-D"   >>>>     D = 12.38326745  Gly                         ---Execution time = 70s---
RDN     D0 = 29.70733009  Gly
RDN     DL = 460.7466896  Gly

Note:

-If z = zmax = R0/Rmin - 1 = 19 ,  D = 13.98718383  is the same value as the "age" of the universe ( the time since the last minimum scale factor )
-The distance D is computed with elementary functions.
-The precision for D0 ( and DL )  depends on the N-value

-But we can also use Carlson elliptic integral RF to compute D0

Data Registers:              R10 = z + 1                                 ( Registers R01-R02-R03 are to be initialized before executing "Z-D" )

•  R01 = Rmin         R04 = D           R06 to R11: temp
•  R02 = R0            R05 = D0
•  R03 = Rmax
Flags: /
Subroutines:  ( M-Code routine )  RF   ( cf "Carlson Elliptic Integrals for the HP41" )

 01 LBL "Z-D"  02 DEG  03 1  04 +  05 STO 10            06 RCL 02  07 X<>Y  08 /  09 STO 00  10 RCL 02  11 X^2  12 STO 06  13 ST+ X  14 RCL 01  15 X^2  16 STO 04  17 STO 07  18 RCL 03  19 X^2  20 STO 08  21 ST- 04  22 +  23 STO 11  24 -  25 RCL 04  26 /  27 ACOS  28 RCL 00 29 X^2  30 STO 09            31 ST+ X  32 RCL 11  33 -  34 RCL 04  35 /  36 ACOS  37 -  38 D-R  39 2  40 /  41 STO 04  42 RCL 06  43 RCL 07  44 -  45 RCL 08  46 RCL 09  47 -  48 *  49 SQRT  50 RCL 09  51 RCL 07  52 -  53 RCL 08  54 RCL 06  55 -  56 * 57 SQRT  58 +  59 X^2  60 STO 08            61 RCL 01  62 RCL 02  63 +  64 STO 09  65 RCL 03  66 RCL 02  67 -  68 STO 06  69 *  70 RCL 00  71 RCL 01  72 -  73 ST* 09  74 *  75 RCL 00  76 RCL 03  77 +  78 ST* 06  79 *  80 SQRT  81 RCL 00  82 RCL 01  83 +  84 ST* 06 85 RCL 03  86 RCL 00            87 -  88 ST* 09  89 *  90 RCL 02  91 RCL 01  92 -  93 ST* 06  94 *  95 RCL 02  96 RCL 03  97 +  98 ST* 09  99 * 100 SQRT 101 + 102 X^2 103 RCL 09 104 SQRT 105 RCL 06 106 SQRT 107 + 108 X^2 109 RCL 02 110 RCL 00 111 - 112 X^2 113 ST/ 08 114 ST/ Z 115 / 116 RCL 08         117 RF 118 ST+ X 119 RCL 11 120 SQRT 121 ST* 04 122 * 123 STO 05 124 E^X-1 125 LASTX 126 CHS 127 E^X-1 128 - 129 2 130 / 131 RCL 10 132 * 133 RCL 02 134 ST* 05 135 * 136 RCL 05 137 RCL 04 138 END

( 161 bytes / SIZE 012 )

 STACK INPUTS OUTPUTS Z / DL Y / D0 X z D

Example:       ( Rmin , R0 , Rmax )  =  ( 0.7 , 14 , 314 )           expressed in Gigalightyears    ,      z = 7

0.7  STO 01
14   STO 02
314  STO 03

7   XEQ "Z-D"   >>>>     D = 12.38326745  Gly                         ---Execution time = 11s---
RDN     D0 = 29.70733010  Gly
RDN     DL = 460.7466900  Gly

3°)  Radiation Pressure = 0 & Density of Matter < 0  ( 2 programs )

-These universes are hyperbolic ( k= -1 )
-This routine computes D & D0 with Gauss-Legendre 2-point formula

Data Registers:              R11 = z + 1                                 ( Registers R01-R02-R03 are to be initialized before executing "Z-D" )

•  R01 = Rmin         R09 = D           R06 to R11: temp
•  R02 = R0            R10 = D0
•  R03 = Rmax
Flags: /
Subroutines: /

 01 LBL "Z-D"  02 STO 00  03 CLX  04 RCL 02            05 RCL 01  06 STO 06  07 -  08 RCL 03  09 ST+ 06  10 LASTX  11 -  12 STO 05  13 /  14 SQRT  15 RAD  16 ASIN  17 RCL 02  18 R^  19 1  20 + 21 STO 11  22 /  23 RCL 01            24 -  25 RCL 05  26 /  27 SQRT  28 ASIN  29 STO 07  30 -  31 RCL 00  32 ST+ 00  33 /  34 STO Y  35 3  36 SQRT  37 /  38 STO 08  39 -  40 STO 04 41 2  42 /  43 ST- 07  44 CLX  45 STO 09            46 STO 10  47 LBL 01  48 RCL 07  49 RCL 08  50 X<> 04  51 STO 08  52 +  53 STO 07  54 SIN  55 X^2  56 RCL 05  57 *  58 RCL 01  59 +  60 ENTER 61 STO Z  62 RCL 06  63 +  64 /  65 SQRT  66 ST+ 09  67 X<>Y  68 /  69 ST+ 10  70 DSE 00  71 GTO 01  72 DEG  73 RCL 08            74 RCL 03  75 RCL 06  76 *  77 RCL 01  78 X^2  79 +  80 3 81 *  82 SQRT  83 *  84 ST* 09  85 ST* 10  86 RCL 10            87 E^X-1  88 LASTX  89 CHS  90 E^X-1  91 -  92 2  93 /  94 RCL 11  95 *  96 RCL 02  97 ST* 10  98 *  99 RCL 10 100 RCL 09 101 END

( 122 bytes / SIZE 012 )

 STACK INPUTS OUTPUTS Z / DL Y z D0 X N D

Where  N = number of subintervals for the Gauss-Legendre 2-point formula

Example:       ( Rmin , R0 , Rmax )  =  ( 1 , 14 , 314 )           expressed in Gigalightyears          z = 7

1  STO 01
14   STO 02
314  STO 03

-If you choose N = 40

7   ENTER^
40  XEQ "Z-D"   >>>>     D = 13.56149795  Gly                         ---Execution time = 100s---
RDN     D0 = 33.91425306  Gly
RDN     DL = 626.3433865  Gly

Note:

-Carlson elliptic integrals RF & RJ will calculate the results faster:

Data Registers:              R00 = z + 1                                 ( Registers R01-R02-R03 are to be initialized before executing "Z-D" )

•  R01 = Rmin         R04 = D           R06 to R12: temp
•  R02 = R0            R05 = D0
•  R03 = Rmax
Flags: /
Subroutines:  ( M-Code routines )  RF & RJ   ( cf "Carlson Elliptic Integrals for the HP41" )

 01 LBL "Z-D"  02 DEG  03 1  04 +  05 STO 00  06 RCL 02  07 X<>Y  08 /  09 ENTER  10 STO 04            11 RCL 01  12 -  13 STO 12  14 *  15 RCL 03  16 RCL 02  17 -  18 STO 11  19 *  20 RCL 01  21 RCL 03  22 +  23 STO 06  24 STO 10  25 RCL 02  26 +  27 STO 08  28 *  29 SQRT 30 RCL 02  31 RCL 02  32 RCL 01  33 -  34 STO 05  35 *  36 RCL 03            37 RCL 04  38 ST+ 06  39 -  40 ST* 08  41 *  42 RCL 06  43 ST* 11  44 *  45 SQRT  46 +  47 RCL 02  48 RCL 04  49 -  50 STO 07  51 /  52 X^2  53 STO 09  54 RCL 04  55 RCL 11  56 *  57 RCL 05  58 * 59 SQRT  60 RCL 02  61 RCL 08  62 *  63 RCL 12            64 ST* 11  65 *  66 SQRT  67 +  68 RCL 07  69 /  70 X^2  71 X<> 08  72 RCL 04  73 *  74 RCL 05  75 *  76 SQRT  77 RCL 02  78 ST* 04  79 RCL 11  80 *  81 SQRT  82 +  83 RCL 07  84 /  85 X^2  86 STO 07  87 RCL 01 88 RCL 10  89 *  90 -  91 STO 05  92 RCL 07            93 RCL 08  94 RCL 09  95 RJ  96 RCL 01  97 RCL 03  98 *  99 RCL 10 100 * 101 * 102 3 103 / 104 X<> 05 105 RCL 04 106 STO Z 107 - 108 / 109 SQRT 110 ATAN 111 D-R 112 RCL 05 113 - 114 STO 04 115 RCL 07 116 RCL 08 117 RCL 09 118 RF 119 STO 05 120 RCL 03         121 RCL 10 122 * 123 RCL 01 124 X^2 125 + 126 SQRT 127 ST+ X 128 ST* 04 129 ST* 05 130 RCL 05 131 E^X-1 132 LASTX 133 CHS 134 E^X-1 135 - 136 2 137 / 138 RCL 00 139 * 140 RCL 02 141 ST* 05 142 * 143 RCL 05 144 RCL 04 145 END

( 167 bytes / SIZE 013 )

 STACK INPUTS OUTPUTS Z / DL Y / D0 X z D

Example:       ( Rmin , R0 , Rmax )  =  ( 1 , 14 , 314 )           expressed in Gigalightyears    ,      z = 7

1  STO 01
14   STO 02
314  STO 03

7   XEQ "Z-D"   >>>>     D = 13.56149794  Gly                         ---Execution time = 21s---
RDN     D0 = 33.91425300  Gly
RDN     DL = 626.3433837  Gly

Note:

-If the data registers are shifted, the M-Code routines RF & RJ may be replaced by focal programs "RF" & "RJ"

4°)  Density of Matter < 0 & Radiation Pressure # 0 ( or = 0 )  ( 2 programs )

-These universes are hyperbolic ( k= -1 )
-This routine computes D & D0 with Gauss-Legendre 2-point formula and the change of variable  R = Rmin + x2

-The 3rd root R3 of the quartic equation must be  <  Rmin  and such that the 4th root is also  <  Rmin    ( Rmin + Rmax + R3 + R4 = 0 )

Data Registers:              R11 = z + 1                                 ( Registers R01-R02-R03-R04 are to be initialized before executing "Z-D" )

•  R01 = Rmin        •  R04 = R3      R09 = D           R06 to R11: temp
•  R02 = R0              R05 = -R4     R10 = D0
•  R03 = Rmax
Flags: /
Subroutines: /

 01 LBL "Z-D"  02 STO 00  03 SIGN  04 +  05 STO 11  06 RCL 02            07 RCL 01  08 STO 05  09 -  10 SQRT  11 RCL 02  12 RCL 11  13 /  14 RCL 01  15 -  16 SQRT  17 STO 07  18 -  19 RCL 00  20 ST+ 00 21 /  22 STO Y  23 3  24 SQRT  25 /  26 STO 08            27 -  28 STO 06  29 2  30 /  31 ST- 07  32 RCL 03  33 RCL 04  34 +  35 ST+ 05  36 CLX  37 STO 09  38 STO 10  39 LBL 01  40 RCL 07 41 RCL 08  42 X<> 06  43 STO 08  44 +  45 STO 07  46 X^2  47 RCL 01            48 +  49 ENTER  50 ENTER  51 CHS  52 RCL 03  53 +  54 X<>Y  55 RCL 04  56 -  57 *  58 X<>Y  59 RCL 05  60 + 61 *  62 SQRT  63 1/X  64 ST+ 10  65 *  66 ST+ 09  67 DSE 00  68 GTO 01  69 RCL 03            70 RCL 01  71 ST+ Y  72 *  73 RCL 04  74 RCL 05  75 *  76 +  77 RCL 03  78 X^2  79 +  80 3  81 * 82 SQRT  83 RCL 08  84 *  85 ST* 09  86 ST* 10  87 RCL 10            88 E^X-1  89 LASTX  90 CHS  91 E^X-1  92 -  93 RCL 11  94 *  95 2  96 /  97 RCL 02  98 ST* 10  99 * 100 RCL 10 101 RCL 09 102 END

( 123 bytes / SIZE 012 )

 STACK INPUTS OUTPUTS Z / DL Y z D0 X N D

Where  N = number of subintervals for the Gauss-Legendre 2-point formula

Example:       ( Rmin , R0 , Rmax , R3 )  =  ( 0.9 , 14 , 314 , 0.1 )           expressed in Gigalightyears          z = 7

0.9  STO 01
14   STO 02
314  STO 03
0.1  STO 04

-If you choose N = 40

7   ENTER^
40  XEQ "Z-D"   >>>>     D = 13.51825820  Gly                         ---Execution time = 80s---
RDN     D0 = 33.69201340  Gly
RDN     DL = 616.3214333  Gly

Note:

-The exact results of this example are:

13.5182581301...
33.6920135076...              ( with free42 )
616.328437817...

-With Carlson elliptic integrals, we have:

Data Registers:              R11 = z + 1                                 ( Registers R01-R02-R03-R04 are to be initialized before executing "Z-D" )

•  R01 = Rmin        •  R04 = R3      R09 = D0           R06 to R13: temp
•  R02 = R0              R05 = -R4     R10 = D
•  R03 = Rmax
Flags: /
Subroutines:   ( M-Code routines )  RF & RJ   ( cf "Carlson Elliptic Integrals for the HP41" )

 01 LBL "Z-D"  02 DEG  03 1  04 +  05 STO 00            06 RCL 02  07 RCL 01  08 -  09 STO 07  10 STO 08  11 LASTX  12 RCL 03  13 +  14 RCL 04  15 +  16 STO 05  17 RCL 02  18 +  19 STO 09  20 *  21 RCL 03  22 RCL 02  23 RCL 00  24 /  25 STO 11  26 -  27 STO 10  28 *  29 RCL 11  30 RCL 04  31 -  32 STO 12 33 *  34 SQRT  35 RCL 11            36 RCL 01  37 -  38 STO 13  39 RCL 05  40 RCL 11  41 +  42 ST* 07  43 *  44 RCL 03  45 RCL 02  46 -  47 ST* 12  48 *  49 RCL 02  50 ST- 11  51 RCL 04  52 -  53 ST* 10  54 *  55 SQRT  56 +  57 X^2  58 STO 06  59 RCL 07  60 RCL 10  61 *  62 SQRT  63 RCL 09  64 RCL 13 65 ST* 08  66 *  67 ST* 10  68 RCL 12            69 ST* 07  70 *  71 SQRT  72 +  73 X^2  74 X<> 10  75 SQRT  76 RCL 07  77 SQRT  78 +  79 X^2  80 RCL 11  81 X^2  82 ST/ 06  83 ST/ 10  84 /  85 STO 09  86 RCL 01  87 RCL 04  88 -  89 RCL 01  90 RCL 05  91 +  92 *  93 +  94 STO 07  95 RCL 06  96 RCL 10 97 RCL 09  98 RJ  99 RCL 01           100 RCL 03 101 - 102 * 103 RCL 04 104 RCL 01 105 - 106 * 107 RCL 01 108 RCL 05 109 + 110 * 111 3 112 / 113 RCL 08 114 RCL 07 115 RCL 08 116 - 117 / 118 SQRT 119 ATAN 120 D-R 121 + 122 X<> 10 123 RCL 06 124 RCL 09 125 RF 126 STO 09 127 RCL 01 128 * 129 ST+ 10 130 RCL 03 131 RCL 01           132 ST+ Y 133 * 134 RCL 04 135 RCL 05 136 * 137 + 138 RCL 03 139 X^2 140 + 141 SQRT 142 ST+ X 143 ST* 09 144 ST* 10 145 RCL 09 146 E^X-1 147 LASTX 148 CHS 149 E^X-1 150 - 151 RCL 00 152 * 153 2 154 / 155 RCL 02 156 ST* 09 157 * 158 RCL 09 159 RCL 10 160 END

( 187 bytes / SIZE 014 )

 STACK INPUTS OUTPUTS Z / DL Y / D0 X z D

Example:       ( Rmin , R0 , Rmax , R3 )  =  ( 0.9 , 14 , 314 , 0.1 )           expressed in Gigalightyears          z = 7

0.9  STO 01
14   STO 02
314  STO 03
0.1  STO 04

7  XEQ "Z-D"   >>>>     D = 13.51825813  Gly                         ---Execution time = 22s---
RDN     D0 = 33.69201350  Gly
RDN     DL = 616.3214378  Gly

Reference:

[1]   B. C. Carlson - "A Table of Elliptic Integrals of the Third Kind"