オイラー数タンジェント数

Last-modified: 2010-03-31 (水) 23:12:34

オイラー数E(n)は,sec(x)のテイラー級数の項で,

sec(x) = sum E(n)/n! * x^n (n=0,1,...)

となる.nが奇数ならE(n)=0で,符号が交代する定義もある.
タンジェント数T(n)は,tan(x)のテイラー級数の項で,

tan(x) = sum T(n)/n! * x^n (n=0,1,...)

となる.nが偶数ならT(n)=0で,符号が交代する定義もある.
以下に,面白い算出方法を示す. 「sugimoto氏の数学研究ノート」より引用

**************************************************************
EulerTangent.sas
20100327 翔
オイラー数,タンジェント数の算出
reference
sugimoto氏の数学研究ノート オイラー数とタンジェント数(1) http://homepage3.nifty.com/y_sugi/gf/gf17.htm
wikipediaオイラー数 http://ja.wikipedia.org/wiki/%E3%82%AA%E3%82%A4%E3%83%A9%E3%83%BC%E6%95%B0
wikipediaタンジェント数 http://ja.wikipedia.org/wiki/%E3%82%BF%E3%83%B3%E3%82%B8%E3%82%A7%E3%83%B3%E3%83%88%E6%95%B0
**************************************************************;

options nocenter;

data;
file print;
array x(0:20,0:20) x1-x441;
x(0,0)=1;
put @4 "n" @21 "E(n)" @41 "T(n)";
put @4 "0" @24 x(0,0) @41 "   0";

do n=1 to 20;

  /*n:奇数 タンジェント数 T(n)=x(n,n)の算出*/
  if mod(n,2)=1 then do;
    x(n,0)=0;
    do j=1 to n;
      x(n,j)=x(n,j-1)+x(n-1,j-1);
    end;
  end;

  /*n:偶数 オイラー数 E(n)=x(n,0)の算出*/
  else do;
    x(n,n)=0;
    do j=n-1 to 0 by -1;
      x(n,j)=x(n,j+1)+x(n-1,j);
    end;
  end;

  /* E(n) T(n)の表示 */
  put n 4. x(n,0) comma20. x(n,n) comma20.;
end;

/*算出過程*/
do n=0 to 9;
  indent=(9-n)*5+1;
   put @indent  @;
   do j=0 to n;put x(n,j) best10. @@;end;
   put;
end;
run;
/*
   n                E(n)                T(n)
   0                   1                   0
   1                   0                   1
   2                   1                   0
   3                   0                   2
   4                   5                   0
   5                   0                  16
   6                  61                   0
   7                   0                 272
   8               1,385                   0
   9                   0               7,936
  10              50,521                   0
  11                   0             353,792
  12           2,702,765                   0
  13                   0          22,368,256
  14         199,360,981                   0
  15                   0       1,903,757,312
  16      19,391,512,145                   0
  17                   0     209,865,342,976
  18   2,404,879,675,441                   0
  19                   0  29,088,885,112,832
  20 370,371,188,237,525                   0
                                                      1
                                                 0         1
                                            1         1         0
                                       0         1         2         2
                                  5         5         4         2         0
                             0         5        10        14        16        16
                       61        61        56        46        32        16         0
                   0        61       122       178       224       256       272       272
           1385      1385      1324      1202      1024       800       544       272         0
         0      1385      2770      4094      5296      6320      7120      7664      7936      7936
  */