hp41programs

SansTitre

Bionic Special Functions(IV) for the HP-41

"Fractional-Integro-Differentiation"
 

Overview
 

 0°)  5 Extra-Registers & M-Code Routines
 1°)  A few Elementary Functions
 2°)  Error Function
 3°)  Sine & Hyperbolic Sine Integral
 4°)  Cosine & Hyperbolic Cosine Integral
 5°)  Exponential Integral Ei
 6°)  Bessel & Modified Bessel Functions of the 1st Kind
 7°)  Bessel & Modified Bessel Functions of the 2nd Kind - Non-Integer Order
 8°)  Spherical Bessel Functions of the 1st Kind
 9°)  Hermite Functions
10°) Fresnel Integrals
11°) Airy Functions
 

-The fractional-integro-differentiation of a complex or a bicomplex function is quite well defined.
-For biquaternions, bioctonions and so on, this is more doubtful:
-Even the 1st derivative of  b2 is not  2.b  because the multiplication is not commutative in general.
-So, these functions may be regarded as other special functions not always related to differentiation of special functions... except for bicomplex arguments !
 

0°)  5 Extra Registers & M-Code Routines
 

-Like the other bionic functions,  5 extra-registers are used:   R  S  U  V  W
-STO W &  RCL W   are listed in "A few M-Code Routines for the HP-41"
-Registers R  S  U and V are coded in the same way.

-Of course, if n is not too large, you can replace these registers by R95  R96  R97  R98  R99

-Other M-Code routines are employed:

  Z^2  Z*Z  1/Z  Z/Z   .....                                                   cf "A few M-Code Routines for the HP-41"

 and   X+1   X-1  X/E3  X/2  X/3   SINH   COSH             -------------------------------------------

-And M-Code routines that are useful for anions are also be used for bi-ons without any modification:

  A+A  A-A  ST*A  ST/A  AMOVE  ASWAP  DSA  DS*A    cf "Anions" and "Anionic Functions for the HP-41"
 

1°)  A few Elementary Functions
 

Formulae:

  •  Complex Power                   Dµ bz  = [ z ! / Gam(z-µ+1) ] bz-µ           assuming  z # -1 , -2 , -3 , .....

  •  Hyperbolic Sine                   Dµ Sinh b = 2µ-1 sqrt(PI) b1-µ1F~2 ( 1 ; (2-µ)/2 , (3-µ)/2 ; b2/4 )

  •  Hyperbolic Cosine               Dµ Cosh b = (2/b)µ sqrt(PI)  1F~2 ( 1 ; (1-µ)/2 , (2-µ)/2 ; b2/4 )

  •  Sine                     Dµ Sin b = 2µ-1 sqrt(PI) b1-µ1F~2 ( 1 ; (2-µ)/2 , (3-µ)/2 ; -b2/4 )

  •  Cosine                 Dµ Cos b = (2/b)µ sqrt(PI)  1F~2 ( 1 ; (1-µ)/2 , (2-µ)/2 ; -b2/4 )

  •  Logarithm            Dµ Ln b = b FC(µ)log (b)

        where     FC(µ)log (b) = (-1)µ-1 (µ-1) !                                              if  µ is a positive integer
          and       FC(µ)log (b) = [ Ln b - Psi(1-µ) - gamma ] / Gam(1-µ)        otherwise

      Psi = Digamma Function , gamma = Euler's constant = 0.5772156649...  and  Gam = Gamma Function.

  •  Exponential          Dµ Exp b = b 1F~1 ( 1 ; 1-µ ; b )
 
 

Data Registers:           •  R00 = 2n > 3         ( Registers R00 thru R2n are to be initialized before executing these routines )

                                      •  R01   ......  •  R2n = the n components of the bion

                                         R2n+1 ........  R6n:  temp ( sometimes )

  >>>  When the programs stop:     R01   ......  R2n = the n components of the result
 

Flags:  F01 & F02
Subroutines:  B*B1  Z*B  "B^Z"  "B^X"  "LNB"  ST*A  ST/A  DSA  Z*Z  Z/Z  Z+Z  Z-Z  AMOVE  ASWAP  X+1  X-1  X/E3  X/2
                        STO R  RCL R  STO S  RCL S  STO U  RCL U  STO V  RCL V  STO W  RCL W
                        "GAMZ"    ( cf "Gamma Function for the HP-41" paragraph 1°) h-3) )
                        "PSIZ"    ( cf "Gamma Function for the HP-41" paragraph 2°) b-2) )

-Lines 28-129 are three-byte  GTO's
-Line 199  GEU  is Euler's constant and may be replaced by  0.5772156649
 
 

  01  LBL "DB^Z"
  02  STO R 
  03  RDN
  04  STO S               
  05  RDN
  06  STO U
  07  ST- Z
  08  RDN
  09  STO V
  10  ST- Z
  11  RDN
  12  XEQ "B^Z"
  13  RCL S
  14  RCL R
  15  X+1
  16  XEQ "GAMZ"
  17  Z*B
  18  RCL S
  19  RCL V
  20  -
  21  RCL R
  22  RCL U
  23  -
  24  X+1
  25  XEQ "GAMZ"
  26  1/Z
  27  Z*B
  28  GTO 10
  29  LBL "DSHB"
  30  SF 01
  31  CF 02
  32  GTO 00
  33  LBL "DCHB"
  34  CF 01
  35  CF 02
  36  GTO 00
  37  LBL "DSINB"
  38  SF 01
  39  SF 02
  40  GTO 00
  41  LBL "DCOSB"
  42  CF 01
  43  SF 02
  44  LBL 00
  45  CHS
  46  STO U
  47  X<>Y
  48  CHS
  49  STO V
  50  12
  51  AMOVE
  52  B*B1
  53  4
  54  FS? 02
  55  CHS
  56  ST/A
  57  12
  58  ASWAP
  59  RCL V
  60  RCL U
  61  FS? 01
  62  X+1
  63  XEQ "B^Z"
  64  RCL V
  65  X/2
  66  RCL U
  67  X/2
  68  X+1
  69  XEQ "GAMZ"
  70  1/Z
  71  Z*B
  72  RCL V
  73  X/2
  74  3
  75  FC? 01
  76  SIGN
  77  RCL U
  78  +
  79  X/2
  80  XEQ "GAMZ"
  81  1/Z
  82  Z*B
  83  RCL V               
  84  CHS
  85  2
  86  LN
  87  *
  88  2
  89  RCL U
  90  CHS
  91  FS? 01
  92  X-1
  93  Y^X
  94  RAD
  95  P-R
  96  PI
  97  SQRT
  98  ST* Z
  99  *
100  Z*B
101  DEG
102  13
103  AMOVE
104  CLX
105  STO W
106  LBL 01
107  B*B1
108  RCL V
109  X/2
110  RCL U
111  X/2
112  RCL W
113  X+1
114  STO W
115  +
116  RCL X
117  .5
118  FC? 01
119  CHS
120  +
121  R^
122  X<>Y
123  Z*Z
124  1/Z
125  Z*B
126  DSA
127  X#0?
128  GTO 01
129  GTO 09
130  LBL "DE^B"
131  CHS
132  STO U               
133  X<>Y
134  CHS
135  STO V
136  12
137  AMOVE
138  X<> Z
139  XEQ "B^Z"
140  RCL V
141  RCL U
142  X+1
143  XEQ "GAMZ"
144  1/Z
145  Z*B
146  13
147  AMOVE
148  CLX
149  STO W
150  LBL 02
151  B*B1
152  RCL V
153  RCL U
154  RCL W
155  X+1
156  STO W
157  +
158  1/Z
159  Z*B
160  DSA
161  X#0?
162  GTO 02
163  GTO 09
164  LBL "DLNB"
165  STO U               
166  X<>Y
167  STO V
168  X#0?
169  GTO 00
170  X<>Y
171  FRC
172  X#0?
173  GTO 00
174  LASTX
175  X<=0?
176  GTO 00
177  CHS
178  XEQ "B^X"
179  RCL U
180  X-1
181  FACT
182  1
183  CHS
184  LASTX
185  Y^X
186  *
187  ST*A
188  GTO 10
189  LBL 00
190  12
191  AMOVE
192  XEQ "LNB"
193  RCL V
194  CHS
195  1
196  RCL U
197  -
198  XEQ "PSIZ"
199  GEU
200  +
201  ST- 01
202  X<>Y
203  ST- 02
204  RCL V               
205  CHS
206  1
207  RCL U
208  -
209  XEQ "GAMZ"
210  1/Z
211  Z*B
212  12
213  ASWAP
214  RCL V
215  CHS
216  RCL U
217  CHS
218  XEQ "B^Z"
219  B*B1
220  GTO 10
221  LBL 09
222  31
223  AMOVE
224  LBL 10
225  RCL 00
226  X/E3
227  ISG X
228  END

 
     ( 478 bytes / SIZE 2n+1 or 4n+1 or 6n+1 )
 
 

      STACK        INPUT      OUTPUT       INPUT      OUTPUT
           T          Im µ             /            /             /
           Z          Ré µ             /            /             /
           Y          Im z             /         Im µ             /
           X          Ré z          1.2n         Ré µ          1.2n

   Where   1.2n   is the control number of the result f(b)     ;    z is required for "DB^Z" only

Examples:       µ = - 3.14 + 2.718

        b = ( 0.1 + 0.2 i ) + ( 0.3 + 0.4 i ) e1 + ( 0.5 + 0.6 i ) e2 + ( 0.7 + 0.8 i ) e3               ( biquaternion ->  2n = 8  STO 00 )

       0.1  STO 01   0.2  STO 02   0.3  STO 03   0.4  STO 04   0.5  STO 05   0.6  STO 06   0.7  STO 07   0.8  STO 08
 

  •  "DB^Z"       if  z = 1.4 + 1.6 i     f(b) =  ( 0.497693397 + 0.217073385 i ) + ( 0.084362474 - 0.160789880 i ) e1
                                                               + ( 0.118742269 - 0.257581210 i ) e2 + ( 0.153122064 - 0.354372541 i ) e3      ---Execution time = 36s---

  •  "DSHB"       f(b) =  ( 94.46345412 + 13.00295558 i ) + ( 6.540750160 - 33.16801881 i ) e1
                                                             + ( 7.550128740 - 52.26536935 i ) e2 + ( 8.559507320 - 71.36271989 i ) e3         ---Execution time = 73s---

  •  "DCHB"       f(b) =  ( -300.5212807 - 126.9640068 i ) + ( -51.26069325 + 103.7952204 i ) e1
                                                             + ( -71.66306380 + 166.0213993 i ) e2 + ( -92.06543438 + 228.2475783 i ) e3     ---Execution time = 72s---

  •  "DSINB"      f(b) =  ( 86.10292770 + 18.96360932 i ) + ( 8.479611398 - 30.08538253 i ) e1
                                                             + ( 10.82136317 - 47.61156567 i ) e2 + ( 13.16311495 - 65.13774877 i ) e3         ---Execution time = 72s---

  •  "DCOSB"    f(b) =  ( -254.7188991 - 135.6609116 i ) + ( -53.38061175 + 87.39494609 i ) e1
                                                             + ( -76.28215864 + 140.6065648 i ) e2 + ( -99.18370552 + 193.8181835 i ) e3     ---Execution time = 72s---

  •  "DE^B"        f(b) =  ( -206.0578270 - 113.9610520 i ) + ( -44.71994334 + 70.62720169 i ) e1
                                                             + ( -64.11293543 + 113.7560302 i ) e2 + ( -83.50592750 + 156.8848587 i ) e3     ---Execution time = 77s---

  •  "DLNB"       f(b) = ( 859.0935902 - 587.9181227 i ) + ( -190.2120844 - 316.4051620 i ) e1
                                                           + ( -322.0432648 - 478.3750859 i ) e2 + ( -453.8744452 - 640.3450101 i ) e3        ---Execution time = 45s---

      with µ = 3    f(b) = ( 0.233801702 + 0.211686542 i ) + ( -0.191588820 - 0.110389216 i ) e1
                                                           + ( -0.307709696 - 0.156880071 i ) e2 + ( -0.423830573 - 0.203370926 i ) e3        ---Execution time = 18s---

Notes:

 "DB^Z" does not work for  z = -1 , -2 , -3 , ......

 "DCHB"  "DCOSB"  "DE^B"  don't work if  µ = 1 , 2 , 3 , ...
 "DSHB"  "DSINB"                  don't work if  µ = 2 , 3 , 4 , ....
 

2°)  Error Function
 

Formula:            Dµ Erf (b) = 2µ b1-µ2F~2 [ 1/2 , 1 ; (2-µ)/2 , (3-µ)/2 ; -b2 ]
 

Data Registers:           •  R00 = 2n > 3         ( Registers R00 thru R2n are to be initialized before executing "DERFB" )

                                      •  R01   ......  •  R2n = the n components of the bion

                                         Rn+1 ..........  R6n:  temp

  >>>  When the programs stop:     R01   ......  R2n = the n components of the result
 

Flags:  /
Subroutines:  B*B1  Z*B  "B^Z"  ST*A  DSA  1/Z  Z/Z  AMOVE  ASWAP  X+1  X/E3  X/2
                        STO U  RCL U  STO V  RCL V  STO W  RCL W
                        "GAMZ"    ( cf "Gamma Function for the HP-41" paragraph 1°) h-3) )
 
 

 01  LBL "DERFB"
 02  STO U
 03  X<>Y
 04  STO V
 05  12
 06  AMOVE
 07  B*B1
 08  SIGN
 09  CHS
 10  ST*A
 11  12
 12  ASWAP
 13  RCL V
 14  CHS
 15  1
 16  RCL U
 17  -
 18  XEQ "B^Z"
 19  RCL V
 20  2
 21  LN
 22  *
 23  2
 24  RCL U           
 25  Y^X
 26  RAD
 27  P-R
 28  Z*B
 29  RCL V
 30  CHS
 31  X/2
 32  STO V
 33  1
 34  RCL U
 35  X/2
 36  -
 37  STO U
 38  XEQ "GAMZ"
 39  1/Z
 40  Z*B
 41  RCL V
 42  RCL U           
 43  .5
 44  +
 45  XEQ "GAMZ"
 46  1/Z
 47  Z*B
 48  13
 49  AMOVE
 50  CLX
 51  STO W
 52  LBL 01
 53  B*B1
 54  .5
 55  RCL V
 56  RCL U           
 57  RCL W
 58  ST+ T
 59  +
 60  0
 61  RDN
 62  Z/Z
 63  RCL U 
 64  R^
 65  +
 66  RCL V
 67  X<>Y
 68  Z/Z
 69  Z*B
 70  RCL W
 71  X+1
 72  STO W          
 73  DSA
 74  X#0?
 75  GTO 01
 76  31
 77  AMOVE
 78  RCL 00
 79  X/E3
 80  ISG X
 81  END

 
         ( 154 bytes / SIZE 6n+1 )
 
 

      STACK        INPUTS      OUTPUTS
           Y          Im(µ)            /
           X          Re(µ)          1.2n

   where       1.2n   is the control number of the result.

Example:           µ = - 3.14 + 2.718

         b = ( 0.1 + 0.2 i ) + ( 0.3 + 0.4 i ) e1 + ( 0.5 + 0.6 i ) e2 + ( 0.7 + 0.8 i ) e3               ( biquaternion ->  2n = 8  STO 00 )

       0.1  STO 01   0.2  STO 02   0.3  STO 03   0.4  STO 04   0.5  STO 05   0.6  STO 06   0.7  STO 07   0.8  STO 08

       2.718  ENTER^
       3.14    CHS   XEQ "DERFB"  >>>>  1.008                              ---Execution time = 107s---

And we get in R01 thru R08:

      Dµ Erf (b) = ( 92.69786293 + 22.88014434 i ) + ( 10.00128922 - 32.33865620 i ) e1
                                                                                + ( 13.01491870 - 51.24840679 i ) e2 + ( 16.02854815 - 70.15815740 i ) e3

Note:

 "DERFB" doesn't work if  µ = 2 , 3 , 4 , ....
 

3°)  Sine & Hyperbolic Sine Integral
 

Formulae:

  •  Sine Integral             Dµ Si b = 2µ-2  PI  b1-µ2F~3 ( 1/2 , 1 ; 3/2 , (2-µ)/2 , (3-µ)/2 ; -b2/4 )

  •  Hyperbolic Sine Integral         Dµ Shi b = 2µ-2  PI  b1-µ2F~3 ( 1/2 , 1 ; 3/2 , (2-µ)/2 , (3-µ)/2 ; b2/4 )
 

Data Registers:           •  R00 = 2n > 3                                 ( Registers R00 thru R2n are to be initialized before executing "DSIB" )

                                      •  R01   ......  •  R2n = the n components of the bion

                                         Rn+1 ..........  R6n:  temp

  >>>  When the programs stop:     R01   ......  R2n = the n components of the result

Flag:    F01        CF 01  <->  Sine Integral
                           SF 01   <->  Hyperbolic Sine Integral

Subroutines:  B*B1  Z*B  "B^Z"  ST*A  ST/A  DSA  1/Z  Z/Z  AMOVE  ASWAP  X+1  X-1  X/E3  X/2  3X
                        STO U  RCL U  STO V  RCL V  STO W  RCL W
                        "GAMZ"    ( cf "Gamma Function for the HP-41" paragraph 1°) h-3) )
 
 

  01  LBL "DSIB"
  02  STO U
  03  X<>Y
  04  STO V 
  05  12
  06  AMOVE
  07  4
  08  FC? 01
  09  CHS
  10  ST/A
  11  B*B1
  12  12
  13  ASWAP        
  14  RCL V
  15  CHS
  16  RCL U
  17  CHS
  18  X+1
  19  XEQ "B^Z"
  20  RCL V
  21  2
  22  LN
  23  *
  24  2
  25  RCL U 
  26  X-1
  27  Y^X
  28  RAD
  29  P-R
  30  PI
  31  SQRT
  32  ST* Z
  33  *
  34  Z*B
  35  RCL V           
  36  CHS
  37  RCL U
  38  CHS
  39  2
  40  ST+ Y
  41  ST/ Z
  42  /
  43  XEQ "GAMZ"
  44  1/Z
  45  Z*B
  46  RCL V
  47  CHS
  48  3
  49  RCL U
  50  -
  51  2
  52  ST/ Z
  53  /
  54  XEQ "GAMZ"
  55  1/Z
  56  Z*B
  57  13
  58  AMOVE
  59  CLX
  60  STO W
  61  LBL 01
  62  B*B1
  63  .5
  64  ENTER^
  65  3X
  66  RCL W
  67  ST+ Z
  68  +
  69  /
  70  RCL V 
  71  CHS
  72  RCL U
  73  CHS
  74  2
  75  ST+ Y
  76  ST/ Z
  77  /
  78  RCL W          
  79  +
  80  0
  81  RDN
  82  Z/Z
  83  1
  84  RCL U
  85  -
  86  X/2
  87  RCL W
  88  X+1
  89  STO W
  90  +
  91  RCL V 
  92  CHS
  93  X/2
  94  X<>Y
  95  Z/Z
  96  Z*B
  97  DSA
  98  X#0?
  99  GTO 01         
100  31
101  AMOVE
102  RCL 00
103  X/E3
104  ISG X
105  END

 
         ( 185 bytes / SIZE 6n+1 )
 
 

      STACK        INPUTS      OUTPUTS
           Y          Im(µ)            /
           X          Re(µ)          1.2n

   where       1.2n   is the control number of the result.

Example:           µ = - 3.14 + 2.718

         b = ( 0.1 + 0.2 i ) + ( 0.3 + 0.4 i ) e1 + ( 0.5 + 0.6 i ) e2 + ( 0.7 + 0.8 i ) e3               ( biquaternion ->  2n = 8  STO 00 )

       0.1  STO 01   0.2  STO 02   0.3  STO 03   0.4  STO 04   0.5  STO 05   0.6  STO 06   0.7  STO 07   0.8  STO 08

  •  Sine Integral  CF 01

       2.718  ENTER^
       3.14    CHS   XEQ "DSIB"  >>>>  1.008                              ---Execution time = 73s---

And we get in R01 thru R08:

      Dµ Si (b) = ( 88.89748983 + 17.11318190 i ) + ( 7.881812026 - 31.11285061 i ) e1
                                                                              + ( 9.806598695 - 49.16659190 i ) e2 + ( 11.73138538 - 67.22033322 i ) e3

  •  Hyperbolic sine Integral  SF 01

       2.718  ENTER^
       3.14    CHS   XEQ "DSIB"  >>>>  1.008                              ---Execution time = 73s---

And we get in R01 thru R08:

      Dµ Shi (b) = ( 91.68566449 + 15.12680118 i ) + ( 7.235731000 - 32.14085759 i ) e1
                                                                                + ( 8.716471733 - 50.71859630 i ) e2 + ( 10.19721250 - 69.29633505 i ) e3

Note:

 "DSIB" doesn't work if  µ = 2 , 3 , 4 , ....
 

4°)  Cosine & Hyperbolic Cosine Integral
 

Formulae:

  •  Cosine Integral

        Dµ Ci b =  b [ (-1)µ-1 (µ-1) ! ]  - 2µ-3  sqrt(PI)  b2-µ2F~3 ( 1 , 1 ; 2 , (3-µ)/2 , (4-µ)/2 ; -b2/4 )       if  µ is a positive integer

        Dµ Ci b =  b [ Ln b - Psi(1-µ) ] / Gam( 1 - µ ) - 2µ-3  sqrt(PI)  b2-µ 2F~3 ( 1 , 1 ; 2 , (3-µ)/2 , (4-µ)/2 ; -b2/4 )       otherwise
 

  •  Hyperbolic Cosine Integral

          Dµ Chi b = b [ (-1)µ-1 (µ-1) ! ]  + 2µ-3  sqrt(PI)  b2-µ2F~3 ( 1 , 1 ; 2 , (3-µ)/2 , (4-µ)/2 ; b2/4 )       if  µ is a positive integer

          Dµ Chi b = b [ Ln b - Psi(1-µ) ] / Gam( 1 - µ ) + 2µ-3 sqrt(PI)  b2-µ  2F~3 ( 1 , 1 ; 2 , (3-µ)/2 , (4-µ)/2 ; b2/4 )      otherwise
 

Data Registers:           •  R00 = 2n > 3                          ( Registers R00 thru R2n are to be initialized before executing "DCIB" )

                                      •  R01   ......  •  R2n = the n components of the bion

                                         Rn+1 ..........  R8n:  temp

  >>>  When the programs stop:     R01   ......  R2n = the n components of the result

Flag:    F01        CF 01  <->  Cosine Integral
                           SF 01   <->  Hyperbolic Cosine Integral

Subroutines:  B*B1  Z*B  "B^Z"  "B^X"  "LNB"  ST*A  ST/A  DSA  A+A  1/Z  Z/Z  AMOVE  ASWAP  X+1  X-1  X/E3  X/2
                        STO U  RCL U  STO V  RCL V  STO W  RCL W
                        "GAMZ"    ( cf "Gamma Function for the HP-41" paragraph 1°) h-3) )
                       "PSIZ"    ( cf "Gamma Function for the HP-41" paragraph 2°) b-2) )
 
 

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

 
          ( 289 bytes / SIZE 8n+1 )
 
 

      STACK        INPUTS      OUTPUTS
           Y          Im(µ)            /
           X          Re(µ)          1.2n

   where       1.2n   is the control number of the result.

Example:           µ = - 3.14 + 2.718

         b = ( 0.1 + 0.2 i ) + ( 0.3 + 0.4 i ) e1 + ( 0.5 + 0.6 i ) e2 + ( 0.7 + 0.8 i ) e3               ( biquaternion ->  2n = 8  STO 00 )

       0.1  STO 01   0.2  STO 02   0.3  STO 03   0.4  STO 04   0.5  STO 05   0.6  STO 06   0.7  STO 07   0.8  STO 08

  •  Cosine Integral  CF 01

       2.718  ENTER^
       3.14    CHS   XEQ "DCIB"  >>>>  1.008                              ---Execution time = 1m57s---

And we get in R01 thru R08:

      Dµ Ci (b) = ( 710.4485622 - 666.171364 i ) + ( -221.0395251 - 265.3856402 i ) e1
                                                                            + ( -366.0525105 - 396.3184369 i ) e2 + ( -511.0654961 - 527.2512335 i ) e3

  •  Hyperbolic cosine Integral  SF 01

       2.718  ENTER^
       3.14    CHS   XEQ "DCIB"  >>>>  1.008                              ---Execution time = 1m57s---

And we get in R01 thru R08:

      Dµ Chi (b) = ( 687.5370555 - 661.8373032 i ) + ( -219.9848736 - 257.1821517 i ) e1
                                                                               + ( -363.7509751 - 383.6053669 i ) e2 + ( -507.5170767 - 510.0285821 i ) e3

Note:

 "DCIB" doesn't work if  µ = 3 , 4 ,  5 , ....
 

5°)  Exponential Integral Ei
 

Formulae:

   Dµ Ei b = [ (-1)µ-1 (µ-1) ! ] b + b1-µ  2F~2 ( 1 , 1 ; 2 , 2-µ ; b )       if µ is a positive integer

   Dµ Ei b = [ Ln b - Psi(1-µ) ] b + b1-µ  2F~2 ( 1 , 1 ; 2 , 2-µ ; b )     otherwise
 

Data Registers:           •  R00 = 2n > 3                          ( Registers R00 thru R2n are to be initialized before executing "DEIB" )

                                      •  R01   ......  •  R2n = the n components of the bion

                                         Rn+1 ..........  R6n:  temp

  >>>  When the programs stop:     R01   ......  R2n = the n components of the result

Flags:  /
Subroutines:  B*B1  Z*B  "B^Z"  "B^X"  "LNB"  ST*A  ST/A  DSA  A+A  1/Z  Z/Z  AMOVE  ASWAP  X+1  X-1  X/E3  X/2
                        STO U  RCL U  STO V  RCL V  STO W  RCL W
                        "GAMZ"    ( cf "Gamma Function for the HP-41" paragraph 1°) h-3) )
                        "PSIZ"    ( cf "Gamma Function for the HP-41" paragraph 2°) b-2) )
 
 

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

 
       ( 197 bytes / SIZE 6n+1 )
 
 

      STACK        INPUTS      OUTPUTS
           Y          Im(µ)            /
           X          Re(µ)          1.2n

   where       1.2n   is the control number of the result.

Example:           µ = - 3.14 + 2.718

         b = ( 0.1 + 0.2 i ) + ( 0.3 + 0.4 i ) e1 + ( 0.5 + 0.6 i ) e2 + ( 0.7 + 0.8 i ) e3               ( biquaternion ->  2n = 8  STO 00 )

       0.1  STO 01   0.2  STO 02   0.3  STO 03   0.4  STO 04   0.5  STO 05   0.6  STO 06   0.7  STO 07   0.8  STO 08
 

       2.718  ENTER^
       3.14    CHS   XEQ "DEIB"  >>>>  1.008                              ---Execution time = 2m02s---

And we get in R01 thru R08:

      Dµ Ei (b) = ( 779.2227206 - 646.7105020 i ) + ( -212.7491426 - 289.3230095 i ) e1
                                                                             + ( -355.0345034 - 434.3239636 i ) e2 + ( -497.3198642 - 579.3249176 i ) e3

Notes:

 "DEIB" doesn't work if  µ = 2  ,  3 , 4 , ....

-In this program, lines 49 to 104 are identical to lines  106 to 161 of  "DCIB"
-So, they could form a subroutine to save several bytes...
 

6°)  Bessel & Modified Bessel Functions of the 1st Kind
 

Formulae:
 

       •    Dµ Jm (b) = 2µ-2m sqrt(PI)  b-m-µ  Gam(m+1)  2F~3 [ (m+1)/2 , (m+2)/2 ; (m+1-µ)/2 , (m+2-µ)/2 , m+1 ; -b2/4 ]

       •    Dµ Im (b) = 2µ-2m sqrt(PI) bm-µ  Gam(m+1)  2F~3 [ (m+1)/2 , (m+2)/2 ; (m+1-µ)/2 , (m+2-µ)/2 , m+1 ; b2/4 ]
 

Data Registers:           •  R00 = 2n > 3                          ( Registers R00 thru R2n are to be initialized before executing "DJNB" )

                                      •  R01   ......  •  R2n = the n components of the bion

                                         Rn+1 ..........  R6n:  temp

  >>>  When the programs stop:     R01   ......  R2n = the n components of the result

Flag:    F01        CF 01  <->  Bessel Functions
                           SF 01   <->  Modified Bessel Functions

Subroutines:  B*B1  Z*B  "B^Z"  "B^X"  "LNB"  ST*A  ST/A  DSA  1/Z  Z*Z  Z/Z  AMOVE  ASWAP  X+1  X-1  X/E3  X/2
                        STO R   RCL R   STO S   RCL S   STO U  RCL U  STO V  RCL V  STO W  RCL W
                        "GAMZ"    ( cf "Gamma Function for the HP-41" paragraph 1°) h-3) )
 
 

  01  LBL "DJNB"
  02  STO R
  03  RDN
  04  STO S
  05  RDN
  06  STO U 
  07  X<>Y
  08  STO V
  09  12
  10  AMOVE        
  11  B*B1
  12  4
  13  FC? 01
  14  CHS
  15  ST/A
  16  12
  17  ASWAP
  18  RCL S
  19  RCL V
  20  -
  21  RCL R
  22  RCL U
  23  -
  24  XEQ "B^Z"
  25  RCL S
  26  ST+ X
  27  RCL V
  28  -
  29  2
  30  LN
  31  *
  32  2
  33  RCL R
  34  ST+ X
  35  RCL U           
  36  -
  37  Y^X
  38  RAD
  39  P-R
  40  0
  41  PI
  42  SQRT
  43  R^
  44  R^
  45  Z/Z
  46  Z*B
  47  RCL S
  48  RCL V
  49  -
  50  RCL R
  51  RCL U
  52  -
  53  X+1
  54  2
  55  ST/ Z
  56  /
  57  XEQ "GAMZ"
  58  1/Z
  59  Z*B
  60  RCL S
  61  RCL V
  62  -
  63  RCL R
  64  RCL U
  65  -
  66  2
  67  ST+ Y
  68  ST/ Z
  69  /
  70  XEQ "GAMZ"
  71  1/Z
  72  Z*B
  73  13
  74  AMOVE
  75  CLX
  76  STO W
  77  LBL 01
  78  B*B1
  79  RCL S
  80  X/2
  81  STO M
  82  RCL R
  83  X+1
  84  X/2
  85  RCL X
  86  .5
  87  +
  88  RCL W
  89  ST+ Z
  90  +
  91  STO N
  92  R^
  93  X<>Y
  94  Z*Z
  95  RCL N
  96  RCL U           
  97  X/2
  98  -
  99  STO O
100  RCL V
101  X/2
102  ST- M
103  CLX
104  RCL M
105  X<>Y
106  Z/Z
107  RCL O
108  .5
109  -
110  RCL M
111  X<>Y
112  Z/Z
113  RCL R 
114  RCL W
115  X+1
116  STO W
117  +
118  RCL S
119  X<>Y
120  Z/Z
121  RCL W          
122  ST/ Z
123  /
124  Z*B
125  DSA
126  X#0?
127  GTO 01
128  31
129  AMOVE
130  RCL 00
131  X/E3
132  ISG X
133  CLA
134  END

 
     ( 240 bytes / SIZE 6n+1 )
 
 

      STACK        INPUT      OUTPUT
           T          Im µ            /
           Z          Ré µ            /
           Y          Im m            /
           X          Ré m         1.2n

   Where   1.2n   is the control number of the result.

Examples:       µ = - 3.14 + 2.718  ,   m = 1.4 + 1.6 i

        b = ( 0.1 + 0.2 i ) + ( 0.3 + 0.4 i ) e1 + ( 0.5 + 0.6 i ) e2 + ( 0.7 + 0.8 i ) e3               ( biquaternion ->  2n = 8  STO 00 )

       0.1  STO 01   0.2  STO 02   0.3  STO 03   0.4  STO 04   0.5  STO 05   0.6  STO 06   0.7  STO 07   0.8  STO 08
 

  •  Bessel Function  JNB  CF 01

       2.718  ENTER^
       3.14    CHS
       1.6      ENTER^
       1.4      XEQ "DJNB"  >>>>  1.008                              ---Execution time = 86s---

And we get in R01 thru R08:

      Dµ Jm (b) = ( -0.081011033 - 0.280385817 i ) + ( -0.095601814 + 0.020153179 i ) e1
                                                                               + ( -0.147526575 + 0.039087105 i ) e2 + ( -0.199451336 + 0.058021031 i ) e3

  •  Modified Bessel Function  INB  SF 01

       2.718  ENTER^
       3.14    CHS
       1.6      ENTER^
       1.4      XEQ "DJNB"  >>>>  1.008                              ---Execution time = 86s---

And we get in R01 thru R08:

      Dµ Im (b) = ( -0.111691407 - 0.292384212 i ) + ( -0.100055670 + 0.030356977 i ) e1
                                                                               + ( -0.153658287 + 0.055361337 i ) e2 + ( -0.207260904 + 0.080365697 i ) e3
 

Note:

-This program doesn't work if  (m+1-µ)/2  or  (m+2-µ)/2  = 0 , -1 , -2 , ....
 

7°)  Bessel & Modified Bessel Functions of the 2nd Kind - Non-Integer Order
 

Formulae:          Assuming  m  is not an integer,
 

     •   Dµ Ym (b) = 2µ-2m (PI)1/2  b-µ-m csc(m.PI) { -16m Gam(1-m)  2F~3 [ (1-m)/2 , (2-m)/2 ; (1-µ-m)/2 , (2-µ-m)/2 , 1-m ; -b2/4 ]

                          + b2m Cos(m.PI) Gam(m+1)  2F~3 [ (m+1)/2 , (m+2)/2 ; (m+1-µ)/2 , (m+2-µ)/2 , m+1 ; -b2/4 ] }

     •   Dµ Km (b) = 2µ-2m-1 (PI)3/2  b-µ-m csc(m.PI) { 16m Gam(1-m)  2F~3 [ (1-m)/2 , (2-m)/2 ; (1-µ-m)/2 , (2-µ-m)/2 , 1-m ; b2/4 ]

                                 - b2m Gam(m+1)  2F~3 [ (m+1)/2 , (m+2)/2 ; (m+1-µ)/2 , (m+2-µ)/2 , m+1 ; b2/4 ] }
 

Data Registers:           •  R00 = 2n > 3                          ( Registers R00 thru R2n are to be initialized before executing "DYNB" )

                                      •  R01   ......  •  R2n = the n components of the bion

                                         Rn+1 ..........  R10n:  temp

  >>>  When the programs stop:     R01   ......  R2n = the n components of the result

Flags:  F04 &  F01        CF 01  <->  Bessel Functions
                                       SF 01   <->  Modified Bessel Functions

Subroutines:  B*B1  Z*B  "B^Z"  "B^X"  "LNB"  ST*A  ST/A  DSA  A-A  1/Z  Z*Z  Z/Z  AMOVE  ASWAP  X+1  X-1  X/E3  X/2  SINH  COSH
                        STO R   RCL R   STO S   RCL S   STO U  RCL U  STO V  RCL V  STO W  RCL W
                        "GAMZ"    ( cf "Gamma Function for the HP-41" paragraph 1°) h-3) )
 
 
 

  01  LBL "DYNB"
  02  STO R
  03  RDN
  04  STO S
  05  RDN
  06  STO U
  07  X<>Y
  08  STO V
  09  12
  10  AMOVE
  11  14
  12  AMOVE
  13  B*B1
  14  4
  15  FC? 01
  16  CHS
  17  ST/A
  18  12
  19  ASWAP        
  20  RCL S 
  21  ST+ X
  22  RCL R
  23  ST+ X
  24  XEQ "B^Z"
  25  FS? 01
  26  GTO 00
  27  RCL S
  28  PI
  29  *
  30  COSH
  31  LASTX
  32  SINH
  33  RCL R
  34  PI
  35  *
  36  RAD
  37  1
  38  P-R
  39  ST* T
  40  RDN
  41  *
  42  CHS
  43  X<>Y
  44  Z*B
  45  LBL 00
  46  SF 04
  47  XEQ 01
  48  35
  49  AMOVE        
  50  CLX
  51  ST*A
  52  RCL S 
  53  16
  54  LN
  55  *
  56  16
  57  RCL R
  58  Y^X
  59  RAD
  60  P-R
  61  STO 01
  62  X<>Y
  63  STO 02
  64  RCL R
  65  CHS
  66  STO R
  67  RCL S
  68  CHS
  69  STO S
  70  LBL 01
  71  RCL S
  72  RCL V
  73  -
  74  X/2
  75  RCL R
  76  RCL U
  77  -
  78  X+1
  79  X/2
  80  XEQ "GAMZ"
  81  1/Z
  82  Z*B
  83  RCL S
  84  RCL V
  85  -
  86  RCL R
  87  RCL U
  88  -
  89  2
  90  ST+ Y
  91  ST/ Z
  92  /
  93  XEQ "GAMZ"
  94  1/Z
  95  Z*B
  96  13
  97  AMOVE
  98  CLX
  99  STO W
100  LBL 02
101  B*B1
102  RCL S
103  X/2
104  STO M
105  RCL R
106  X+1
107  X/2
108  RCL X
109  .5
110  +
111  RCL W          
112  ST+ Z
113  +
114  STO N 
115  R^
116  X<>Y
117  Z*Z
118  RCL N
119  RCL U
120  X/2
121  -
122  STO O
123  RCL V
124  X/2
125  ST- M
126  CLX
127  RCL M
128  X<>Y
129  Z/Z
130  RCL O
131  .5
132  -
133  RCL M
134  X<>Y
135  Z/Z
136  RCL R
137  RCL W
138  X+1
139  STO W          
140  +
141  RCL S 
142  X<>Y
143  Z/Z
144  RCL W
145  ST/ Z
146  /
147  Z*B
148  DSA
149  X#0?
150  GTO 02
151  FS?C 04
152  RTN
153  51
154  AMOVE
155  32
156  AMOVE
157  A-A
158  12
159  AMOVE
160  41
161  AMOVE
162  RCL S
163  RCL V
164  -
165  RCL R
166  RCL U
167  -
168  XEQ "B^Z"
169  RCL V
170  RCL S           
171  ST+ X
172  +
173  2
174  LN
175  *
176  2
177  RCL U
178  RCL R
179  ST+ X
180  +
181  FS? 01
182  X-1
183  Y^X
184  RAD
185  P-R
186  PI
187  SQRT
188  3
189  FC? 01
190  SIGN
191  Y^X
192  FS? 01
193  CHS
194  ST* Z
195  *
196  Z*B
197  RCL S
198  CHS
199  PI
200  *
201  SINH
202  LASTX
203  COSH
204  RCL R           
205  CHS
206  PI
207  *
208  1
209  P-R
210  ST* T
211  RDN
212  *
213  1/Z
214  Z*B
215  B*B1
216  DEG
217  END

 
           ( 374 bytes / SIZE 10n + 1 )
 
 

      STACK        INPUT      OUTPUT
           T          Im µ            /
           Z          Ré µ            /
           Y          Im m            /
           X          Ré m         1.2n

   Where   1.2n   is the control number of the result.

Examples:       µ = - 3.14 + 2.718  ,   m = 1.4 + 1.6 i

        b = ( 0.1 + 0.2 i ) + ( 0.3 + 0.4 i ) e1 + ( 0.5 + 0.6 i ) e2 + ( 0.7 + 0.8 i ) e3               ( biquaternion ->  2n = 8  STO 00 )

       0.1  STO 01   0.2  STO 02   0.3  STO 03   0.4  STO 04   0.5  STO 05   0.6  STO 06   0.7  STO 07   0.8  STO 08
 

  •  Bessel Function YNB  CF 01

       2.718  ENTER^
       3.14    CHS
       1.6      ENTER^
       1.4      XEQ "DYNB"  >>>>  1.008                              ---Execution time = 2m53s---

And we get in R01 thru R08:

      Dµ Ym (b) = ( -1892.715638 + 7911.974088 i ) + ( 2761.990236 + 834.1330057 i ) e1
                                                                                 + ( 4375.435409 + 1080.288271 i ) e2 + ( 5988.880583 + 1326.443537 i ) e3

  •  Modified Bessel Function  KNB  SF 01

       2.718  ENTER^
       3.14    CHS
       1.6      ENTER^
       1.4      XEQ "DYNB"  >>>>  1.008                              ---Execution time = 2m50s---

And we get in R01 thru R08:

      Dµ Km (b) = ( 2353.469212 - 12981.08719 i ) + ( -4547.159624 - 1102.355632 i ) e1
                                                                               + ( -7181.757460 - 1355.902014 i ) e2 + ( -9816.355301 - 1609.448398 i ) e3
 

Note:

-This program doesn't work if  (m+1-µ)/2  or  (m+2-µ)/2  or  (1-µ-m)/2  or  (2-µ-m)/2 = 0 , -1 , -2 , ....
 

8°) Spherical Bessel Functions of the 1st Kind
 

Formula:
 

       Dµ jn (b) = 2µ-2m-1 PI  bm-µ  Gam(m+1) 2F~3 [ (m+1)/2 , (m+2)/2 ; (m+1-µ)/2 , (m+2-µ)/2 , m+3/2 ; -b2/4 ]
 

Data Registers:           •  R00 = 2n > 3                          ( Registers R00 thru R2n are to be initialized before executing "DBS1B" )

                                      •  R01   ......  •  R2n = the n components of the bion

                                         Rn+1 ..........  R6n:  temp

  >>>  When the programs stop:     R01   ......  R2n = the n components of the result

Flags:  /
Subroutines:  B*B1  Z*B  "B^Z"  ST*A  ST/A  DSA  1/Z  Z*Z  Z/Z  AMOVE  ASWAP  X+1  X-1  X/E3  X/2
                        STO R   RCL R   STO S   RCL S   STO U  RCL U  STO V  RCL V  STO W  RCL W
                        "GAMZ"    ( cf "Gamma Function for the HP-41" paragraph 1°) h-3) )
 
 

  01  LBL "DBS1B"
  02  STO R
  03  RDN
  04  STO S
  05  RDN
  06  STO U
  07  X<>Y
  08  STO V
  09  12
  10  AMOVE
  11  B*B1 
  12  4
  13  CHS
  14  ST/A
  15  12
  16  ASWAP
  17  RCL S
  18  RCL V
  19  -
  20  RCL R
  21  RCL U
  22  -
  23  XEQ "B^Z"
  24  RCL S
  25  RCL R
  26  X+1
  27  XEQ "GAMZ"
  28  Z*B
  29  RCL S
  30  RCL V
  31  -
  32  X/2
  33  RCL R
  34  RCL U
  35  -
  36  X+1
  37  X/2
  38  XEQ "GAMZ"
  39  1/Z
  40  Z*B
  41  RCL S
  42  RCL V
  43  -
  44  RCL R
  45  RCL U
  46  -
  47  2
  48  ST+ Y
  49  ST/ Z
  50  /
  51  XEQ "GAMZ"
  52  1/Z
  53  Z*B
  54  RCL S
  55  RCL R
  56  1.5
  57  +
  58  XEQ "GAMZ"
  59  1/Z
  60  Z*B
  61  13
  62  AMOVE       
  63  CLX
  64  STO W
  65  LBL 01
  66  B*B1
  67  RCL S 
  68  X/2
  69  STO M
  70  RCL R
  71  X+1
  72  X/2
  73  RCL X
  74  .5
  75  +
  76  RCL W
  77  ST+ Z
  78  +
  79  STO N
  80  R^
  81  X<>Y
  82  Z*Z
  83  RCL N
  84  RCL U
  85  X/2
  86  -
  87  STO O
  88  RCL V
  89  X/2
  90  ST- M
  91  CLX
  92  RCL M          
  93  X<>Y
  94  Z/Z
  95  RCL O 
  96  .5
  97  -
  98  RCL M
  99  X<>Y
100  Z/Z
101  RCL R
102  .5
103  +
104  RCL W
105  X+1
106  STO W
107  +
108  RCL S
109  X<>Y
110  Z/Z
111  RCL W
112  ST/ Z
113  /
114  Z*B
115  DSA
116  X#0?
117  GTO 01
118  31
119  AMOVE
120  RCL V
121  RCL S           
122  ST+ X
123  -
124  2
125  LN
126  *
127  2
128  RCL U 
129  RCL R
130  ST+ X
131  -
132  X-1
133  Y^X
134  RAD
135  P-R
136  PI
137  ST* Z
138  *
139  Z*B
140  RCL 00
141  X/E3
142  ISG X
143  DEG
144  CLA
145  END

 
          ( 274 bytes / SIZE 6n+1 )
 
 

      STACK        INPUT      OUTPUT
           T          Im µ            /
           Z          Ré µ            /
           Y          Im m            /
           X          Ré m         1.2n

   Where   1.2n   is the control number of the result.

Examples:       µ = - 3.14 + 2.718  ,   m = 1.4 + 1.6 i

        b = ( 0.1 + 0.2 i ) + ( 0.3 + 0.4 i ) e1 + ( 0.5 + 0.6 i ) e2 + ( 0.7 + 0.8 i ) e3               ( biquaternion ->  2n = 8  STO 00 )

       0.1  STO 01   0.2  STO 02   0.3  STO 03   0.4  STO 04   0.5  STO 05   0.6  STO 06   0.7  STO 07   0.8  STO 08
 

       2.718  ENTER^
       3.14    CHS
       1.6      ENTER^
       1.4      XEQ "DBS1B"  >>>>  1.008                              ---Execution time = 1m45s---

And we get in R01 thru R08:

      Dµ jm (b) = ( -0.090245462 - 0.129873520 i ) + ( -0.045563143 + 0.026935641 i ) e1
                                                                               + ( -0.068923652 + 0.045664651 i ) e2 + ( -0.092284161 + 0.064393662 i ) e3

Note:

-This program doesn't work if  (m+1-µ)/2  or  (m+2-µ)/2  or  m+3/2  or  m+1 = 0 , -1 , -2 , ....
 

9°) Hermite Functions
 

Formula:
 

          Dµ Hm (b) = [ 2m+µ (PI) b / Gam((1-m)/2) ] 2F~2 [ 1 , -m/2 ; (1-µ)/2 , (2-µ)/2 ; b2 ]
                           - [ 2m+µ (PI) b1-µ / Gam((-m)/2) ] 2F~2 [ 1 , (1-m)/2 ; 1-µ/2 , (3-µ)/2 ; b2 ]
 

Data Registers:           •  R00 = 2n > 3                          ( Registers R00 thru R2n are to be initialized before executing "DHNB" )

                                      •  R01   ......  •  R2n = the n components of the bion

                                         Rn+1 ..........  R8n:  temp

  >>>  When the programs stop:     R01   ......  R2n = the n components of the result

Flag:  F04
Subroutines:  B*B1  Z*B  "B^Z"  ST*A  ST/A  DSA  A-A  1/Z  Z*Z  Z/Z AMOVE  ASWAP  X+1  X-1  X/E3  X/2
                        STO R   RCL R   STO S   RCL S   STO U  RCL U  STO V  RCL V  STO W  RCL W
                        "GAMZ"    ( cf "Gamma Function for the HP-41" paragraph 1°) h-3) )
 
 

  01  LBL "DHNB"
  02  CHS
  03  STO R
  04  RDN
  05  CHS
  06  STO S
  07  RDN
  08  CHS
  09  STO U           
  10  X<>Y
  11  CHS
  12  STO V
  13  12
  14  AMOVE
  15  B*B1
  16  12
  17  ASWAP
  18  14
  19  AMOVE
  20  RCL V 
  21  RCL U
  22  XEQ "B^Z"
  23  RCL S
  24  X/2
  25  RCL R
  26  X+1
  27  X/2
  28  XEQ "GAMZ"
  29  1/Z
  30  Z*B
  31  SF 04
  32  XEQ 01
  33  41
  34  AMOVE
  35  34
  36  AMOVE
  37  RCL V
  38  RCL U
  39  X+1
  40  STO U
  41  XEQ "B^Z"
  42  RCL S
  43  X/2
  44  RCL R
  45  X/2
  46  XEQ "GAMZ"
  47  1/Z
  48  Z*B
  49  RCL R
  50  X+1
  51  STO R
  52  LBL 01
  53  RCL V
  54  X/2
  55  RCL U
  56  X+1
  57  X/2
  58  XEQ "GAMZ"
  59  1/Z
  60  Z*B
  61  RCL V
  62  X/2
  63  RCL U
  64  X/2
  65  X+1
  66  XEQ "GAMZ"
  67  1/Z
  68  Z*B
  69  13
  70  AMOVE
  71  CLX
  72  STO W
  73  LBL 02
  74  B*B1
  75  RCL S
  76  X/2
  77  RCL R
  78  X/2
  79  RCL U
  80  X+1
  81  X/2
  82  RCL W
  83  ST+ Z
  84  +
  85  RCL V
  86  X/2
  87  STO M
  88  X<>Y
  89  Z/Z
  90  RCL U           
  91  X/2
  92  RCL W
  93  X+1
  94  STO W
  95  +
  96  RCL M
  97  X<>Y
  98  Z/Z
  99  Z*B
100  DSA
101  X#0?
102  GTO 02
103  FS?C 04
104  RTN
105  41
106  AMOVE
107  32
108  AMOVE
109  A-A
110  RCL S
111  RCL V
112  +
113  CHS
114  2
115  LN
116  *
117  2
118  RCL X
119  RCL U           
120  -
121  RCL R
122  -
123  Y^X
124  RAD
125  P-R
126  PI
127  ST* Z
128  *
129  Z*B
130  RCL 00
131  X/E3
132  ISG X
133  DEG
134  CLA
135  END

 
           ( 268 bytes / SIZE 8n+1 )
 
 

      STACK        INPUT      OUTPUT
           T          Im µ            /
           Z          Ré µ            /
           Y          Im m            /
           X          Ré m         1.2n

   Where   1.2n   is the control number of the result.

Examples:       µ = - 3.14 + 2.718  ,   m = 1.4 + 1.6 i

        b = ( 0.1 + 0.2 i ) + ( 0.3 + 0.4 i ) e1 + ( 0.5 + 0.6 i ) e2 + ( 0.7 + 0.8 i ) e3               ( biquaternion ->  2n = 8  STO 00 )

       0.1  STO 01   0.2  STO 02   0.3  STO 03   0.4  STO 04   0.5  STO 05   0.6  STO 06   0.7  STO 07   0.8  STO 08
 

       2.718  ENTER^
       3.14    CHS
       1.6      ENTER^
       1.4      XEQ "DHNB"  >>>>  1.008                              ---Execution time = 3m54s---

And we get in R01 thru R08:

      Dµ Hm (b) = ( -161.6892489 + 1659.074697 i ) + ( 583.8677460 + 91.94274680 i ) e1
                                                                                 + ( 918.1891038 + 96.72126511 i ) e2 + ( 1252.510462 + 101.4997838 i ) e3

Note:

-This program doesn't work if  -m/2  or  (1-m)/2  or  (1-µ)/2  or  (2-µ)/2  = 0 , -1 , -2 , ....
 

10°) Fresnel Integrals
 

Formulae:
 

  •  Fresnel Cosine Integral     Dµ C(b) = 22µ-3/2 PI3/2 b1-µ3F~4 [ 1/4 , 3/4 , 1 ; (2-µ)/4 , (3-µ)/4 , (4-µ)/4 , (5-µ)/4 ; -(PI)2 b4/16 ]

  •  Fresnel Sine Integral         Dµ S(b) = 22µ-11/2 PI5/2 b3-µ3F~4 [ 3/4 , 1 , 5/4 ; (4-µ)/4 , (5-µ)/4 , (6-µ)/4 , (6-µ)/4 ; -(PI)2 b4/16 ]
 

Data Registers:           •  R00 = 2n > 3                          ( Registers R00 thru R2n are to be initialized before executing "DCSB" )

                                      •  R01   ......  •  R2n = the n components of the bion

                                         Rn+1 ..........  R6n:  temp

  >>>  When the programs stop:     R01   ......  R2n = the n components of the result

Flags:  F01      CF 01  <->   Fresnel Cosine Integral
                         SF 01   <->   Fresnel Sine Integral

Subroutines:  B*B1  Z*B  "B^Z"  ST*A  ST/A  DSA  1/Z  Z*Z  Z/Z  AMOVE  ASWAP  X+1  X-1  X/E3  X/2
                        STO U  RCL U  STO V  RCL V  STO W  RCL W
                        "GAMZ"    ( cf "Gamma Function for the HP-41" paragraph 1°) h-3) )
 
 

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

 
        ( 283 bytes / SIZE 6n+1 )
 
 

      STACK        INPUTS      OUTPUTS
           Y          Im(µ)            /
           X          Re(µ)          1.2n

   where       1.2n   is the control number of the result.

Example:           µ = - 3.14 + 2.718

         b = ( 0.1 + 0.2 i ) + ( 0.3 + 0.4 i ) e1 + ( 0.5 + 0.6 i ) e2 + ( 0.7 + 0.8 i ) e3               ( biquaternion ->  2n = 8  STO 00 )

       0.1  STO 01   0.2  STO 02   0.3  STO 03   0.4  STO 04   0.5  STO 05   0.6  STO 06   0.7  STO 07   0.8  STO 08

  •  Fresnel Cosine Integral  CF 01

       2.718  ENTER^
       3.14    CHS   XEQ "DCSB"  >>>>  1.008                              ---Execution time = 2m12s---

And we get in R01 thru R08:

      Dµ C(b) = ( 90.17195748 + 21.68847925 i ) + ( 9.528403749 - 31.46967540 i ) e1
                                                                             + ( 12.34673582 - 49.85496592 i ) e2 + ( 15.16506788 - 68.24025647 i ) e3

  •  Fresnel Sine Integral  SF 01

       2.718  ENTER^
       3.14    CHS   XEQ "DCSB"  >>>>  1.008                              ---Execution time = 2m12s---

And we get in R01 thru R08:

      Dµ S(b) = ( 14.88193371 - 8.573304291 i ) + ( -2.729648778 - 5.445395145 i ) e1
                                                                           + ( -4.693883700 - 8.276444519 i ) e2 + ( -6.658118618 - 11.10749388 i ) e3

Notes:

 CF 01  "DCSB" doesn't work if  µ = 2 , 3 ,  4 , ....
 SF 01  "DCSB" doesn't work if  µ = 4 , 5 ,  6 , ....
 

11°) Airy Functions
 

Formulae:
 

     Dµ Ai(b) = 3µ-4/3 b  { 32/3 Gam(1/3) 2F~3 [ 1/3 , 1 ; (1-µ)/3 , (2-µ)/3 , (3-µ)/3 ; b3/9 ] - b Gam(2/3) 2F~3 [ 2/3 , 1 ; (4-µ)/3 , (2-µ)/3 , (3-µ)/3 ; b3/9 ] }

     Dµ Bi(b) = 3µ-5/6 b  { 32/3 Gam(1/3) 2F~3 [ 1/3 , 1 ; (1-µ)/3 , (2-µ)/3 , (3-µ)/3 ; b3/9 ] + b Gam(2/3) 2F~3 [ 2/3 , 1 ; (4-µ)/3 , (2-µ)/3 , (3-µ)/3 ; b3/9 ] }
 

 "DAIRYB"  calculates  Dµ Ai(b)  &  Dµ Bi(b)  simultaneously and stores the results in R01 thru R4n
 

Data Registers:           •  R00 = 2n > 3         ( Registers R00 thru R2n are to be initialized before executing "DAIRYB" )

                                      •  R01   ......  •  R2n = the n components of the bion

                                        R4n+1 ..........  R8n:  temp

  >>>  When the programs stop:     R01   ......  R2n = the n components of  Dµ Ai(b)
                                                     R2n+1 .....  R4n =  -------------------   Dµ Bi(b)

Flag:  F04
Subroutines:  B*B1  Z*B  "B^Z"  ST*A  ST/A  DSA  A+A  A-A  1/Z  Z*Z  Z/Z  AMOVE  ASWAP  X+1  X-1  X/E3  X/3
                        STO U  RCL U  STO V  RCL V  STO W  RCL W
                        "GAMZ"    ( cf "Gamma Function for the HP-41" paragraph 1°) h-3) )

-Line 25 is  3^(2/.3) Gam(1/3)
-Line 27 is  Gam(2/3)
 
 

  01  LBL "DAIRYB"
  02  CHS
  03  STO U
  04  X<>Y
  05  CHS
  06  STO V 
  07  12
  08  AMOVE
  09  14
  10  AMOVE
  11  B*B1
  12  B*B1
  13  9
  14  ST/A
  15  12
  16  ASWAP
  17  SF 04
  18  LBL 01
  19  RCL V
  20  RCL U
  21  FS? 04
  22  X+1
  23  XEQ "B^Z"
  24  FC? 04
  25  5.572416709
  26  FS? 04
  27  1.354117939
  28  ST*A
  29  RCL V
  30  2
  31  RCL U
  32  +
  33  3
  34  ST/ Z
  35  /
  36  XEQ "GAMZ" 
  37  1/Z
  38  Z*B
  39  RCL V 
  40  3
  41  RCL U
  42  +
  43  3
  44  ST/ Z
  45  /
  46  XEQ "GAMZ"
  47  1/Z
  48  Z*B
  49  RCL V
  50  CHS
  51  3
  52  LN
  53  *
  54  3
  55  RCL U
  56  CHS
  57  Y^X
  58  RAD
  59  P-R
  60  Z*B
  61  RCL V
  62  4
  63  FC? 04
  64  SIGN
  65  RCL U 
  66  +
  67  3
  68  ST/ Z
  69  /
  70  XEQ "GAMZ" 
  71  1/Z
  72  Z*B
  73  13
  74  AMOVE
  75  CLX
  76  STO W
  77  LBL 02
  78  B*B1
  79  SIGN
  80  FS? 04
  81  ST+ X
  82  X/3
  83  RCL W
  84  +
  85  RCL V
  86  X/3
  87  STO M
  88  2
  89  RCL U
  90  +
  91  X/3
  92  RCL W
  93  +
  94  0
  95  RDN
  96  Z/Z
  97  4
  98  FC? 04
  99  SIGN
100  RCL U             
101  +
102  X/3
103  RCL W
104  +
105  RCL M
106  X<>Y
107  Z/Z
108  RCL U
109  X/3
110  RCL W
111  X+1
112  STO W
113  +
114  RCL M
115  X<>Y
116  Z/Z
117  Z*B
118  DSA
119  X#0?
120  GTO 02
121  31
122  AMOVE
123  FC?C 04
124  RTN
125  14
126  ASWAP
127  XEQ 01
128  42
129  AMOVE
130  A+A
131  3
132  5
133  6
134  /
135  Y^X
136  ST/A
137  13
138  ASWAP
139  A-A
140  3
141  4
142  RCL Y             
143  /
144  Y^X
145  ST/A
146  32
147  AMOVE
148  R^
149  CLA
150  END

 
        ( 290 bytes / SIZE 8n+1 )
 
 

      STACK        INPUTS      OUTPUTS
           Y          Im(µ)            /
           X          Re(µ)          1.2n

   where       1.2n   is the control number of the result.

Example:           µ = - 3.14 + 2.718

         b = ( 0.1 + 0.2 i ) + ( 0.3 + 0.4 i ) e1 + ( 0.5 + 0.6 i ) e2 + ( 0.7 + 0.8 i ) e3               ( biquaternion ->  2n = 8  STO 00 )

       0.1  STO 01   0.2  STO 02   0.3  STO 03   0.4  STO 04   0.5  STO 05   0.6  STO 06   0.7  STO 07   0.8  STO 08
 

       2.718  ENTER^
       3.14    CHS   XEQ "DCSB"  >>>>  1.008                              ---Execution time = 3m07s---

We get in R01 thru R08:

      Dµ Ai(b) = ( -120.0272076 - 52.59871479 i ) + ( -21.13210755 + 41.41275647 i ) e1
                                                                              + ( -29.65306724 + 66.29446871 i ) e2 + ( -38.17402699 + 91.17618097 i ) e3

and in registers R09 thru R16:

      Dµ Bi(b) = ( -127.7699680 - 75.03970383 i ) + ( -29.27191706 + 43.70059943 i ) e1
                                                                              + ( -42.16814267 + 70.51468851 i ) e2 + ( -55.06436825 + 97.32877755 i ) e3

Note:

 µ must be different from  1 , 2 , 3 , .....