目次

数学計算メモ

 

各種の計算に必要な値や級数展開式、便利な計算式やプログラム等を書く。

 


数列・関数・定数の値

 

n

En

Tn

Bn

ζ(n)

Γ(n/2)

sin(π/n)

cos(π/n)

tan(π/n)

-4

 

 

 

  0

  ±∞

  -1/2

   1/2

  -1

-3

 

 

 

  1/120

(4/3)π

-(3)/2

   1/2

 -3

-2

 

 

 

  0

  ±∞

  -1

   0

 ±∞

-1

 

 

 

 -1/12

-(2 )π

   0

  -1

   0

 0

  1

  0

 1

 -1/2

  ±∞

 

 

 

 1

  0

  1

-1/2

 

     π

   0

  -1

   0

 2

 -1

  0

 1/6

 π2/6

    1

   1

   0

 ±∞

 3

  0

  2

 0

1.2020

(1/2)π

 (3)/2

   1/2

  3

 4

  5

  0

-1/30

 π4/90

    1

   1/2

   1/2

   1

 5

  0

 16

 0

1.0369

(3/4)π

(3-φ)/2

   φ/2

(3-φ)/φ

 6

-61

  0

 1/42

 π6/945

    2

   1/2

 (3)/2

   1/3

 


γ      オイラーの定数
 0.57721566490153286060651209008240243104215933593992359880576723488486772677766

M      12 の算術幾何平均 (π/ω)
 1.19814023473559220743992249228032387822721266321565155826367495294640521414391

ω      レムニスケート周率 (π/M)
 2.62205755429211981046483958989111941368275495143162316281682170380079058707041

π      円周率  (ωM)
 3.14159265358979323846264338327950288419716939937510582097494459230781640628620


級数展開と漸近展開

 

S=sin x , C=cos x , T=tan x と略記する。

 

2S2 =     22x2/2! - 24x4/4! + 26x6/6! - 28x8/8! +

2C2 = 2 - 22x2/2! + 24x4/4! - 26x6/6! + 28x8/8! -

4S3 =     (33-3)x3/3! - (35-3)x5/5! + (37-3)x7/7! - (39-3)x9/9! +

4C3 = 4 - (32+3)x2/2! + (34+3)x4/4! - (36+3)x6/6! + (38+3)x8/8! -

 

ln(1+x+x2+x3+) = x1/1 + x2/2 + x3/3 + x4/4 +

ln(  1+S       ) = S1/1 - S2/2 + S3/3 - S4/4 +

ln( (1+S)/ C   ) = S1/1 + S3/3 + S5/5 + S7/7 +

ln(    1 / C   ) = S2/2 + S4/4 + S6/6 + S8/8 +

 

Σk=1n 1/k  = n/(1(n+1)) + n/(2(n+2)) + n/(3(n+3)) + n/(4(n+4)) +

 

Σk=1n 1/k2 = π2/6 – 0!/(n+1) - 1!/(2(n+1)(n+2)) – 2!/(3(n+1)(n+2)(n+3)) -


Σk=1n 1/k  = ln n + γ - ζ(0)/n + ζ(-1)/n2  + ζ(-3)/n4  + ζ(-5)/n6  + ζ(-7)/n8  +

            = ln n + γ +  1/(2n) -   1/(12n2) +  1/(120n4) -  1/(252n6) +  1/(240n8) -

 

Σk=1n 1/k2 = π2/6 - B0/n -  B1/n2  -  B2/n3  -   B4/n5  -   B6/n7  -   B8/n9  -

            = π2/6 - 1/n + 1/(2n2) - 1/(6n3) + 1/(30n5) - 1/(42n7) + 1/(30n9) -


便利な式

 

連続する奇数の積と自然数の積との相互変換

 

1*3*5**(2n-1) = (2n-1)!/((n-1)!2n-1) = n(n+1)(n+2)(2n-1)/2n-1

                =  (2n)! /( n! 2n ) = (n+1)(n+2)(n+3)(2n)/2n

 

1 = 1/20 = 2/21

1*3 = 2*3/21 = 3*4/22

1*3*5 = 3*4*5/22 = 4*5*6/23

1*3*5*7 = 4*5*6*7/23 = 5*6*7*8/24

1*3*5*7*9 = 5*6*7*8*9/24 = 6*7*8*9*10/25

1*3*5*7*9*11 = 6*7*8*9*10*11/25 = 7*8*9*10*11*12/26

1*3*5*7*9*11*13 = 7*8*9*10*11*12*13/26 = 8*9*10*11*12*13*14/27

  :

1 = (1)20

1*2 = (1)21

1*2*3 = (1)(1*3)21

1*2*3*4 = (1)(1*3)23

1*2*3*4*5 = (1)(1*3*5)23

1*2*3*4*5*6 = (1)(1*3)(1*3*5)24

1*2*3*4*5*6*7 = (1)(1*3)(1*3*5*7)24

1*2*3*4*5*6*7*8 = (1)(1*3)(1*3*5*7)27

1*2*3*4*5*6*7*8*9 = (1)(1*3)(1*3*5*7*9)27

  :


計算方法

 

平方根a の高速計算法。詳細は「級数と乗積 平方根の計算方法」を参照。

v0=2/(a-1), v1=v0(a+1)    v2=v12-2, v3=v22-2, v4=v32-2,   とすると

a=1+1/v0-1/(v0v1)-1/(v0v1v2)-1/(v0v1v2v3)-1/(v0v1v2v3v4)-

   =1+1/v0(1-1/v1(1+1/v2(1+1/v3(1+1/v4(1+))

例えば a=3 の場合は v0=1, v1=4, v2=14, v3=194, v4=37634 であるので

    1+1/1-1/(1*4)-1/(1*4*14)-1/(1*4*14*194)-1/(1*4*14*194*37634)

   =1.732050807568877295254…

√3=1.732050807568877293527…


初期値をx0とする場合の式は以下の通り。上記式は x0=a の場合に相当する。

a0=a/x0, v0=2/(x0-a0), v1=v0(x0+a0)    v2=v12-2, v3=v22-2, v4=v32-2,   とすると

a=a0+1/v0-1/(v0v1)-1/(v0v1v2)-1/(v0v1v2v3)-1/(v0v1v2v3v4)-

例えば a=3, x0=3/2 の場合は a0=2, v0=-4, v1=-14, v2=194, v3=37634 であるので

    2-1/4-1/(4*14)-1/(4*14*194)-1/(4*14*194*37634)

   =1.732050807568877295254…

 

この式はニュートン法による漸化式の級数化となっている。確認のため分数の値で比較する。

ニュートン法による値

高速計算法による値

a=3 , x0=3/2
x1=(x0+a/x0)/2=7/4
x2=(x1+a/x1)/2=97/56
x3=(x2+a/x2)/2=18817/10864
           :

a=3 , x0=3/2 , a0=a/x0=2
v0=2/(x0-a0)=-4   , x1=a0+1/ v0 =7/4
v1=v0(x0+a0)=-14 , x2=x1-1/(v0v1)=97/56
v2=v12-2    = 194 , x3=x2-1/(v0v1v2)=18817/10864
                    :


プログラム

 

カタラン数の漸化式による生成。

c=1:for k=0 to 14:?c;:c*=4-6//(k+2):next

 1  1  2  5  14  42  132  429  1430  4862  16796  58786  208012  742900  2674440

 



tan x の導関数

 

X = tan x とする。diff(y)は多項式yの微分。

y=_x:for k=1 to 10:?y:y=diff(y)*(1+_x^2):next

 X

 X^2 + 1

 2*X^3 + 2*X

 6*X^4 + 8*X^2 + 2

 24*X^5 + 40*X^3 + 16*X

 120*X^6 + 240*X^4 + 136*X^2 + 16

 720*X^7 + 1680*X^5 + 1232*X^3 + 272*X

 5040*X^8 + 13440*X^6 + 12096*X^4 + 3968*X^2 + 272

 40320*X^9 + 120960*X^7 + 129024*X^5 + 56320*X^3 + 7936*X

 362880*X^10 + 1209600*X^8 + 1491840*X^6 + 814080*X^4 + 176896*X^2 + 7936

 

タンジェント数

y=_x:for k=1 to 16:?val(y,0);:y=diff(y)*(1+_x^2):next

 0  1  0  2  0  16  0  272  0  7936  0  353792  0  22368256  0  1903757312

 

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

y=_x:for k=1 to 14:?val(y,1)//2^(k-1);:y=diff(y)*(1+_x^2):next

 1  1  1  2  5  16  61  272  1385  7936  50521  353792  2702765  22368256

係数の和を2のべき乗で割った値は、オイラー数(の絶対値)とタンジェント数になる。

 

階乗で割った tan x の導関数

y=_x:for k=1 to 10:?y:y=diff(y)*(1+_x^2)//k:next

 X

 X^2 + 1

 X^3 + X

 X^4 + (4//3)*X^2 + 1//3

 X^5 + (5//3)*X^3 + (2//3)*X

 X^6 + 2*X^4 + (17//15)*X^2 + 2//15

 X^7 + (7//3)*X^5 + (77//45)*X^3 + (17//45)*X

 X^8 + (8//3)*X^6 + (12//5)*X^4 + (248//315)*X^2 + 17//315

 X^9 + 3*X^7 + (16//5)*X^5 + (88//63)*X^3 + (62//315)*X

 X^10 + (10//3)*X^8 + (37//9)*X^6 + (424//189)*X^4 + (1382//2835)*X^2 + 62//2835

 

tan x のテイラー級数展開の係数

y=_x:for k=1 to 12:?val(y,0);:y=diff(y)*(1+_x^2)//k:next

 0  1  0  1//3  0  2//15  0  17//315  0  62//2835  0  1382//155925

 


理論式の確認

 

素数 Pn P1,P2,P3,,Pn-1 から求める式の確認。本来は s→∞ , zeta=ζ(s)  である。

 


250  point -200:S=500:Zeta=0
260  for J=1 to 80:Zeta+=1/J^S:next
310  for N=1 to 15
320    B=Zeta
330    for K=1 to N-1
340      B*=1-1/prm(K)^S
350    next
360    print using(3),N,prm(N),
370    print using(5,10),1/(B-1)^(1/S)
380  next

  1       2         2.0000000000
  2       3         3.0000000000
  3       5         5.0000000000
  4       7         7.0000000000
  5      11        11.0000000000
  6      13        13.0000000000
  7      17        17.0000000000
  8      19        19.0000000000
  9      23        23.0000000000
 10      29        29.0000000000
 11      31        31.0000000000
 12      37        37.0000000000
 13      41        41.0000000000
 14      43        43.0000000000
 15      47        47.0000000000


250  point -200:S=500:Zeta=0
260  for J=1 to 80:Zeta+=1/J^S:next
310  for N=1 to 15
320    A=log(Zeta)
330    for K=1 to N-1
340      A+=log(1-1/prm(K)^S)
350    next
360    print using(3),N,prm(N),
370    print using(5,10),1/A^(1/S)
380  next

  1       2         2.0000000000
  2       3         3.0000000000
  3       5         5.0000000000
  4       7         7.0000000000
  5      11        11.0000000000
  6      13        13.0000000000
  7      17        17.0000000000
  8      19        19.0000000000
  9      23        23.0000000000
 10      29        29.0000000000
 11      31        31.0000000000
 12      37        37.0000000000
 13      41        41.0000000000
 14      43        43.0000000000
 15      47        47.0000000000

 

          目次