2020年1月20日月曜日

学習環境

解析入門(上) (松坂和夫 数学入門シリーズ 4) (松坂 和夫(著)、岩波書店)の第8章(積分の計算)、8.2(定積分の計算)、問題9の解答を求めてみる。


  1. 0 < α 1

    の場合、 x が0のとき特異点ではないので、

    lim x 0 + sin x x α

    は収束し、 極限をもつ。

    また、

    0 < p < q

    のとき、 部分積分法により、

    p q sin x x α dx = - cos x x α q p - p q α - 1 x α - 1 cos x x 2 α dx = - cos p p α + cos q q α - α - 1 p q cos x x α + 1 dx

    であり、

    cos x 1

    であるから

    p q sin x x α dx 1 p α + 1 q α + p q 1 x α + 1 dx = 1 p α + 1 q α - 1 α x - α p q = 1 p α + 1 q α - 1 α 1 q α - 1 p α = 1 p α + 1 q α - 1 α · 1 q α + 1 α · 1 p α 1 α p α + 1 q α - 1 q α + 1 α 1 p α = 2 α p α

    よって 任意の正の実数

    ε > 0

    に対し、

    ε < 2 α p α

    を満たすように p をとれば、

    p q sin x x α dx < ε

    よって、 積分

    0 sin x x α dx

    は収束する。

    また、

    1 < α < 2

    の場合、

    0 < α - 1 < 1 lim x 0 + x α - 1 sin x x α = lim x 0 + sin x x = 1

    より、 x が0のとき、積分は絶対収束する。

    無限区間のとき、

    0 < α 1

    のときと同様に積分は収束する。

    よって、

    0 < α < 2

    ならば、 積分

    0 sin x x α dx

    は収束する。

    また、

    1 < α < 2

    の場合、

    1 sin x x α dx 1 1 x α dx

    となり、

    1 1 x α dx

    は収束するので、 上記のことと合わせて、

    0 sin x x α dx

    は絶対収束である。

    また、

    0 < α 1

    の場合、

    1 sin x x α dx 1 sin x x dx 1 1 x dx

    となり、

    1 1 x dx

    は発散するから、

    0 sin x x α dx

    は絶対収束ではない。

    (証明終)

コード

#!/usr/bin/env python3
from sympy import pprint, symbols, Integral, sin, oo, plot, Rational

print('9.')

x, a = symbols('x, a', real=True)
f = sin(x)
g = x ** a
h = f / g
I = Integral(h, (x, 0, oo))
for o in [I, I.doit()]:
    pprint(o)
    print()

for a0 in [Rational(1, 2), 1, Rational(3, 2)]:
    Ia = I.subs({a: a0})
    for o in [Ia, Ia.doit()]:
        pprint(o)
        print()

Iabs = Integral(abs(h), (x, 0, oo))

for o in [Iabs, Iabs.doit()]:
    pprint(o)
    print()

p = plot(f, *[t.subs({a: a0})
              for t in [g, h, abs(h)]
              for a0 in [Rational(1, 2), 1, Rational(3, 2)]],
         (x, 0.1, 10),
         ylim=(-5, 5),
         legend=False,
         show=False)

colors = ['red', 'green', 'blue', 'brown', 'orange',
          'purple', 'pink', 'gray', 'skyblue', 'yellow']

for o, color in zip(p, colors):
    o.line_color = color

for o in zip(p, colors):
    pprint(o)

p.show()
p.save('sample9.png')

入出力結果(Zsh、PowerShell、Terminal、Jupyter(IPython))

% ./sample9.py
9.
∞              
⌠              
⎮  -a          
⎮ x  ⋅sin(x) dx
⌡              
0              

⎧     a   1                               
⎪   - ─ - ─                               
⎪     2   2     ⎛    a⎞                   
⎪2⋅4       ⋅√π⋅Γ⎜1 - ─⎟                   
⎪               ⎝    2⎠                   
⎪──────────────────────  for a > 0 ∧ a < 2
⎪        ⎛a   1⎞                          
⎪       Γ⎜─ + ─⎟                          
⎨        ⎝2   2⎠                          
⎪                                         
⎪   ∞                                     
⎪   ⌠                                     
⎪   ⎮  -a                                 
⎪   ⎮ x  ⋅sin(x) dx          otherwise    
⎪   ⌡                                     
⎪   0                                     
⎩                                         

∞          
⌠          
⎮ sin(x)   
⎮ ────── dx
⎮   √x     
⌡          
0          

√2⋅√π
─────
  2  

∞          
⌠          
⎮ sin(x)   
⎮ ────── dx
⎮   x      
⌡          
0          

π
─
2

∞          
⌠          
⎮ sin(x)   
⎮ ────── dx
⎮   3/2    
⎮  x       
⌡          
0          

√2⋅√π

∞            
⌠            
⎮ │sin(x)│   
⎮ ──────── dx
⎮   │ a│     
⎮   │x │     
⌡            
0            

∞            
⌠            
⎮ │sin(x)│   
⎮ ──────── dx
⎮   │ a│     
⎮   │x │     
⌡            
0            

(cartesian line: sin(x) for x over (0.1, 10.0), red)
(cartesian line: sqrt(x) for x over (0.1, 10.0), green)
(cartesian line: x for x over (0.1, 10.0), blue)
(cartesian line: x**(3/2) for x over (0.1, 10.0), brown)
(cartesian line: sin(x)/sqrt(x) for x over (0.1, 10.0), orange)
(cartesian line: sin(x)/x for x over (0.1, 10.0), purple)
(cartesian line: sin(x)/x**(3/2) for x over (0.1, 10.0), pink)
(cartesian line: Abs(sin(x))/Abs(sqrt(x)) for x over (0.1, 10.0), gray)
(cartesian line: Abs(sin(x))/Abs(x) for x over (0.1, 10.0), skyblue)
(cartesian line: Abs(sin(x))/Abs(x**(3/2)) for x over (0.1, 10.0), yellow)
%

0 コメント:

コメントを投稿