Overview
1°) The Euler Numbers
a) A Series Expansion
b) A Recurrence Relation
2°) The Eulerian Numbers
1°) The Euler Numbers
a) A Series
Expansion
-These integers may be computed by the formula:
E(n) = (-1)n/2 2n+2 n!
pi -n-1 ( 1/1n+1 - 1/3n+1 + 1/5n+1
- ..... + (-1)k / (2k+1)n+1 + ..... )
if n is even
E(n) = 0 if n is odd
-"EULN1" gives E(n) directly if n < 7 or n odd.
-The series expansion is used for n > 7 ; n even.
-The first values are:
n | 0 | 2 | 4 | 6 | 8 | 10 |
E(n) | 1 | -1 | 5 | -61 | 1385 | -50521 |
Data Registers: R00 = n ; R01 to R02:
temp
Flag: /
Subroutine: /
01 LBL "EULN1"
02 STO 00 03 1 04 X>Y? 05 RTN 06 ST+ X 07 MOD 08 0 09 X#Y? 10 RTN 11 LASTX 12 RCL 00 13 X#Y? 14 GTO 00 15 1 |
16 CHS
17 RTN 18 LBL 00 19 5 20 X>Y? 21 RTN 22 CLX 23 6 24 X#Y? 25 GTO 00 26 61 27 CHS 28 RTN 29 LBL 00 30 SIGN |
31 STO Z
32 STO 01 33 + 34 CHS 35 STO 02 36 LBL 01 37 CLX 38 2 39 RCL 01 40 + 41 STO 01 42 RCL 02 43 Y^X 44 X<>Y 45 CHS |
46 ST+ Y
47 X#Y? 48 GTO 01 49 ABS 50 ST+ X 51 2 52 PI 53 / 54 E-10 55 + 56 RCL 02 57 CHS 58 STO 02 59 Y^X 60 * |
61 2
62 RCL 02 63 4 64 MOD 65 - 66 * 67 DSE 02 68 LBL 02 69 RCL 02 70 * 71 DSE 02 72 GTO 02 73 END |
( 97 bytes / SIZE 003 )
STACK | INPUTS | OUTPUTS |
X | n | E(n) |
Example: Find E(78)
78 XEQ "EULN1" yields E(78)
= -7.270601736 1099 ( in 15seconds
)
b) A Recurrence
Relation
-Some authors define these numbers by the relations:
E'(0) = 1 ; E'(1) = -1 and -E'(n) - 1 = C2n2 E'(n-1) + C2n4 E'(n-2) + ..... + C2n2n-2 E'(1) if n > 1 ( actually, E'(n) = E(2n) )
where Cnk = n!/(k!(n-k)!) are the binomial coefficients.
-"EULN2" uses this recurrence relation to calculate and store E'(0)
; E'(1) ; ..... ; E'(n) in registers R00 ; R01 ; ..... ; Rnn
-The first values are:
n | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
E'(n) | 1 | -1 | 5 | -61 | 1385 | -50521 | 2702765 | -199360981 |
Data Registers: R00 = E'(0) ; R01 =
E'(1) ; ....... ; Rnn = E'(n)
Flag: /
Subroutine: /
-Synthetic registers M , N , O may be replaced by any unused data registers.
01 LBL "EULN2"
02 STO O 03 SIGN 04 STO 00 05 STO N 06 CHS 07 STO 01 08 CHS 09 LBL 01 10 RCL 00 |
11 STO M
12 ST+ N 13 CHS 14 LBL 02 15 RCL Y 16 RCL 00 17 + 18 ST* M 19 ST+ X 20 LASTX |
21 -
22 ST* M 23 CLX 24 RCL N 25 R^ 26 - 27 ST/ M 28 ST+ X 29 RCL 01 30 + |
31 ST/ M
32 CLX 33 RCL IND Z 34 RCL M 35 * 36 - 37 DSE Y 38 GTO 02 39 STO IND N 40 RCL O |
41 RCL N
42 X<Y? 43 GTO 01 44 X<>Y 45 SIGN 46 RCL IND L 47 CLA 48 END |
( 79 bytes / SIZE nnn+1 but at least 003 )
STACK | INPUTS | OUTPUTS |
X | n | E(n) |
L | / | n |
Example: Evaluate: E'(10) = E(20)
10 XEQ "EULN2" >>> 3.703711883
1014 ( in 36 seconds ) and E'(0) , E'(1) ,
..... E'(10) in registers R00 , R01 , ...... , R10.
2°) The Eulerian Numbers A(n;k)
-The integers A(n;k) are computed by: A(n;k) =
Cn+10 kn - Cn+11
(k-1)n + Cn+12 (k-2)n
- .......... + (-1)k Cn+1k
(k-k)n ( 0 < k < n+1 )
-The first values are:
1
1 1
1 4
1
1 11 11
1
1 26 66
26 1
1 57 302
302 57 1
.....................................
-Note that some authors define these numbers differently ( with k+1
instead of k )
Data Registers: /
Flags: /
Subroutines: /
01 LBL "EULN3"
02 CLA 03 STO O 04 SIGN 05 STO M 06 CLX 07 ENTER^ |
08 LBL 01
09 X<> L 10 RCL N 11 - 12 R^ 13 Y^X 14 RCL M |
15 *
16 + 17 RCL N 18 R^ 19 - 20 1 21 ST+ N |
22 -
23 ST* M 24 CLX 25 RCL N 26 ST/ M 27 RCL O 28 - |
29 X<= 0?
30 GTO 01 31 RDN 32 CLA 33 END |
( 55 bytes / SIZE 000 )
STACK | INPUTS | OUTPUTS |
Y | n | n |
X | k | A(n;k) |
L | / | k |
Example: Calculate A(16;7)
16 ENTER^
7 XEQ "EULN3" >>>
A(16;7) = 3.207483180 1012 ( in 8 seconds
)
Reference:
[1] "The Book of Numbers" by John H. Conway & Richard K. Guy