2011-01-08

シルヴァーマン 「はじめての数論」第3版 第38章練習問題1

38.1
(a)
あるn1, n2, C1, C2が存在して、全てのn n1に対し|f1(n)-g1(n)| C1|h(n)|
全てのn n2に対し|f2(n)-g2(n)|C2|h(n)|であるから、全てのn≥max(n1, n2)に対し、
| f1(n) +f2(n)-g1(n)-g2(n)||f1(n)-g1(n)|+|f2(n)-g2(n)|≤(C1+C2)|h(n)|
となるので、f1(n) +f2(n)=g1(n)+g2(n)+O(h(n))

(b)
(a)と同様にして、全てのn≥max(n1, n2)に対し、
| af1(n) +bf2(n)-ag1(n)-bg2(n)|≤(aC1+bC2)|h(n)|だから、
af1(n) +bf2(n)=ag1(n)+bg2(n)+O(h(n))

(c)
あるn0, Cが存在して、全てのn n0に対し|f(n)-g(n)| C|h(n)|
両辺に|k(n)|をかけて、|k(n)f(n)-k(n)g(n)| C|k(n)h(n)|なので、
k(n)f(n)=k(n)g(n)+O(k(n)h(n))

38.2
あるn1, n2, C1, C2>0が存在して、全てのn n1に対し|f1(n)-g1(n)| C1|h1(n)|
全てのn n2に対し|f2(n)-g2(n)|C2|h2(n)|であるから、全てのn≥max(n1, n2)に対し、
| f1(n) +f2(n)-g1(n)-g2(n)||f1(n)-g1(n)|+|f2(n)-g2(n)|
C1|h1(n)|+C2|h2(n)|≤max(C1, C2)(|h1(n)|+|h2(n)|)≤2max(C1, C2)max(|h1(n)|,|h2(n)|)
これよりf1(n) +f2(n)=g1(n)+g2(n)+O(max(|h1(n)|,|h2(n)|))
O(max(|h1(n)|,|h2(n)|))の中の絶対値は、外しちゃったらおかしいので多分誤植かな。

38.3
(a) n≥1に対し|f(n)|=3/2+37/[2(2n-1)]≤20なのでO(1)
(b) n≥1に対し|f(n)|=3n/2+3/4+37/[4(2n-1)]≤ 3n/2+37/2≤20nなのでO(n)
(c) n≥1に対し|f(n)|=|(3+17/n)/(2n-1/n)| ≤20/nなのでO(1/n)
(d) n≥1に対し|f(n)|=|cos n|≤1なのでO(1)
(e) |x|≤1/2に対し|sin x|≥|x|-(|x|3+|x|5+|x|7+...)=|x|-|x|2/(1-|x|2) ≥|x|-4/3より、
n≥2に対し|f(n)|=|sin(1/n)|-1 ≤|1/n-(1/(3!n3)-1/(5!n5)+...)|-1≤|1/n-1/n3(1-1/n2+1/n4)|-1
=|1/n-1/(n+n3)|-1=n|1+1/n2|≤2nなのでO(n)
(f) (e)より|f(n)|=|n sin(1/n)|-1≤2なのでO(1)

38.4
nx n+1 √(x-1) dx=2n2/3/3 [1-(1-1/n)3/2]
ここで(1-x)3/2=1-3x/2+3[(1/2!)(x/2)2+(1/3!)(x/2)3+(3/4!)(x/2)4+(3·5/4!)(x/2)5+...]>1-3x/2
より2n3/2/3 [1-(1-1/n)3/2]< n1/2 (1)
また、q(n)=∫nx n+1 x dx-√n=2/3 [(n+1)3/2-n3/2]-n1/2 (2)
とおくと、q(1)≈0.22>0, q(n)→0 (n→∞), dq/dn=(n+1)1/2-(2n+1)/2n1/2<0
だから、n≥1に対しq(n)>0 (3)

(1)(2)(3)によりnx n+1 √(x-1) dx<n1/2<∫nx n+1 x dx
この式の1からnまでの総和をとると0x nx dx<√1+√2+...+√n<∫1x n+1 x dxで、
0x nx dxを辺々引けば0<√1+√2+...+√n-∫0x nx dx=√1+√2+...+√n-2n3/2/3
<2/3 [(n+1)3/2-1]-2n3/2/3<(2/3)[ (n+1)3/2-n3/2] (4)
Cを定数としてp(n)=2/3 [(n+1)3/2-n3/2]-Cn1/2とすれば、
十分大きなC(例えばC>2)と、十分大きな全てのnに対しp(n)<0となるので、
(4)は、0<√1+√2+...+√n-2n3/2/3<Cn1/2
となる。したがって、√1+√2+...+√n=(2/3)n3/2+O(n1/2)

38.5
(a)
n≥2に対しq(n)=1/n-∫nx n+1 1/x dx=1/n-log(1+1/n) (1)
とおくと、q(2)≈0.41>0, q(n)→0 (n→∞), dq/dn=1/[n(n+1)]-1/n2<0
だから、n≥2に対しq(n)>0 (2)
また、nx n+1 1/(x-1) dx=-log(1-1/n)=1/n+1/2n2+1/3n3+...>1/n (3)

(1)(2)(3)によりn≥2に対しnx n+1 1/x dx<1/n<∫nx n+1 1/(x-1) dx
この式の2からnまでの総和をとると、log[(n+1)/2]<1/2+1/3...+1/n<log nで、
Hn=1+1/2+1/3...+1/nとおくと、
辺々に1を足し、Hn=1+1/2+1/3...+1/nとおくとlog[(n+1)e/2]< Hn <log ne
log[(n+1)e/2] を辺々引けば
0< Hn - log[(n+1)e/2]<log2-log(1+1/n)<log2 (n≥2) (4)となる。

さらに、0<Hn - log[(n+1)e/2]= Hn-log n-log(1+1/n)-log e/2<Hn-log nだから、
(4)に辺々log(1+1/n)+log e/2を足して(0<) log(1+1/n)+log e/2<Hn -log n
<log 2+ log(1+1/n)+log e/2=1+log(1+1/n)1+log3/2となるので、
Hn = log n+O(1)

(b)
...

38.6
(a)
ボブは一度推測して外れた数はその後選択しないものとすれば、
最悪の場合、n-2回目までの推測はすべて外れ、n-1回目でアリスの選んだ数が確定する
n-1回目が外れたら、それまで一度も選択しなかった数がアリスの選んだ数)。
したがってG(n)=n-1<nなのでG(n)=O(n)

(b)
G(n)=O(√n)とすると、十分大きい全てのnに対し定数Cが存在してG(n)=Cn となる。
一方G(n)=O(n)なので、十分大きい全てのnに対し定数Dが存在して
G(n)=Dn=(D/C) n ·Cn なので、十分大きい全てのnと全ての定数Cに対し
G(n)> Cnとなり矛盾。

(c)
h(n)nと同等か高位の無限大である。

(d)
大小の情報があれば、二分探索アルゴリズムを用いることができる。
二分探索では2G(n)>nとなる最小のG(n)が最大の推測回数だから、
G(n)=O(log2 n)

38.7
(a)
n以下の約数を調べれば十分であるから、約数を見つけるステップ数はn
に比例するのでF(n)=O(√n)

(b)
nまでの素数の数は定理13.1(素数定理)によりn /log√n=2√n/log n程度なので、
F(n)=O(√n/log n)

(c)
x=log nとおくと、
与式=lim x→∞ exp[c√(x log x)-x/2]= lim x→∞ exp[-x/2 (1-2c√(log x/x)]=0
nの代わりにnεに変えても同様。

(d)
x=log nとおくと、x→∞
c'[x(log x)2]1/3-c[x(log x)]1/2
=-c[x(log x)]1/2[1-(c'/c)(log x/x)1/6] →-∞
だから、lim n→∞ M(n)/L(n)=0

0 件のコメント :

コメントを投稿