Quaternionic Catalan Numbers for the HP-41
Overview
-The Catalan numbers may be defined by C(n) = 4n Gam(n+1/2)
/ [ sqrt(PI) Gam(n+2) ]
-This formula is used hereunder after replacing n by a quaternion q
Program Listing
Data Registers: R00 unused
R01 to R24: temp
Flags: /
Subroutines: "Q*Q" "1/Q"
"Q^Q" ( cf "Quaternions for the HP-41" )
"GAMQ" or "1/GMQ" ( cf "Quaternionic Special Functions" )
-Line 49 XEQ "Q^Q" both definitions give the same result.
-Lines 57 to 64 may be replaced by 17.005004
REGMOVE
-Lines 73 to 80 may be replaced by 21.001004
REGMOVE
| 01 LBL "CATQ"
02 STO 17 03 RDN 04 STO 18 05 RDN 06 STO 19 07 RDN 08 STO 20 09 RDN 10 SIGN 11 CLX 12 2 13 ST+ L 14 X<> L 15 XEQ "GAMQ" 16 XEQ "1/Q" 17 STO 21 18 RDN |
19 STO 22
20 RDN 21 STO 23 22 X<>Y 23 STO 24 24 .5 25 RCL 17 26 + 27 RCL 20 28 RCL 19 29 RCL 18 30 R^ 31 XEQ "GAMQ" 32 X<> 17 33 STO 05 34 RDN 35 X<> 18 36 STO 06 |
37 RDN
38 X<> 19 39 STO 07 40 X<>Y 41 X<> 20 42 STO 08 43 4 44 STO 01 45 CLX 46 STO 02 47 STO 03 48 STO 04 49 XEQ "Q^Q" 50 STO 01 51 RDN 52 STO 02 53 RDN 54 STO 03 |
55 X<>Y
56 STO 04 57 RCL 17 58 STO 05 59 RCL 18 60 STO 06 61 RCL 19 62 STO 07 63 RCL 20 64 STO 08 65 XEQ "Q*Q" 66 STO 05 67 RDN 68 STO 06 69 RDN 70 STO 07 71 X<>Y 72 STO 08 |
73 RCL 21
74 STO 01 75 RCL 22 76 STO 02 77 RCL 23 78 STO 03 79 RCL 24 80 STO 04 81 PI 82 SQRT 83 ST/ 01 84 ST/ 02 85 ST/ 03 86 ST/ 04 87 XEQ "Q*Q" 88 END |
( 154 bytes / SIZE 025 )
| STACK | INPUTS | OUTPUTS |
| T | t | t' |
| Z | z | z' |
| Y | y | y' |
| X | x | x' |
where C (x+y.i+z.j+t.k) = x'+y'.i+z'.j+t'.k
Example: q = 1 + i/2 + j/3 + k/4
4 1/X
3 1/X
2 1/X
1 XEQ "CATQ" >>>>
0.844036224
---Execution time = 66s---
RDN 0.239299402
RDN 0.159532935
RDN 0.119649701
-Thus, C ( 1 + i/2 + j/3 + k/4 ) = 0.844036224
+ 0.239299402 i + 0.159532935 j + 0.119649701 k