21a14sid05m
Lf:n! /*左辺をn!*/;
Rf:2^(n-1) /*右辺を2^(n-1)*/;
Ef:Lf>=Rf /*与式*/;
print(Ef,"与式")$
k:1 /*k=1の場合*/;
Lfk:subst(n=k,Lf) /*n=1の左辺*/;
Rfk:subst(n=k,Rf) /*n=1の右辺*/;
if Lfk>=Rfk then Ek:">=" else Ek:"////" /*n=1の左辺−右辺の正負*/;
print("Lfk(=",Lfk,")>=Rfk(",Rfk,")...n=",k,"で、与式成立を確認")$
K:5; /*K=3としてみて、*/
k:K /*k=Kの場合*/;
Lfk:subst(n=k,Lf) /*k=Kの左辺*/;
Rfk:subst(n=k,Rf) /*k=Kの右辺*/;
Efk:Lfk>=Rfk /*n=Kでこの式の成立と仮定すると*/;
print("Lfk(=",Lfk,")>=Rfk(",Rfk,")...n=",k,"で、与式成立を仮定して")$
Lfk1:subst(n=k+1,Lf) /*n=K+1のときの左辺*/;
print("Lfk1(=",Lfk1,")...n=",K+1,"での与式の左辺")$
Efk2:(k+1)*lhs(Efk)>=(k+1)*rhs(Efk) /*n=Kでの仮定の両辺に(K+1)をかけて●●●*/;
print("Lfk2(=",lhs(Efk2),").>=Rfk2(",rhs(Efk2),")..n=",K,"での仮定に",(K+1),"をかけて")$
Efk3:(k+1)*rhs(Efk)>=2*rhs(Efk) /*上の式の右辺より仮定の右辺の2倍は小さく*/;
print("Rfk2(=",lhs(Efk3),").>=2*Rfk2(",rhs(Efk3),")...仮定の右辺の",(K+1),"倍より仮定の2倍は小さく")$
Rfk1:subst(n=k+1,Rf) /*上の式の右辺はn=K+1のときの右辺*/;
print("2*Rfk2(",rhs(Efk3),")=Rfk1(",Rfk1,")...仮定の2倍は、n=",K+1,"での与式の右辺")$
if Lfk1>=Rfk1 then Ek1:Ek else Ek1:"////" /*k=K+1の左辺>右辺を判定すると*/;
print("Lfk(=",Lfk,")>=Rfk(",Rfk,")...n=",k,"で、与式成立を仮定すると")$
print("Lfk1(=",Lfk1,")",Ek1,"Rfk1(",Rfk1,")...n=",k+1,"で、与式成立")$
(1)
Efk2:(K+1)*lhs(Efk)>(K+1)*rhs(Efk) /*n=Kでの仮定の両辺に(K+1)をかけて●●●*/;
このコマンドでn=Kでの仮定の両辺に(K+1)をかけている意味を考察せよ。
次のmaximaコマンドを実行せよ。
assume(n>1) /*n>1と設定*/;
assume(k>1) /*k>1と設定*/;
EFk:1/2^(k-1)>1/k! /*前半の結果から*/;
Lf:sum(1/j!,j,1,n),simpsum /*与式の左辺、可能なら簡約●●●*/;
Rf:2 /*右辺=2*/;
uLf:sum(1/2^(j-1),j,1,n),simpsum /*与式の左辺より大きい級数●●●*/;
K:100 /* n=100として */;
uLf:subst(n=K,uLf),numer;
Lf:sum(1/j!,j,1,K),numer;
if uLf>Lf and 2>=uLf then E:"<" else E:"////";
display([Lf,E,Rf]);
(1)
Lf:sum(1/j!,j,1,n),simpsum /*左辺、可能なら簡約●●●*/;
このコマンドの「,simpsum」を消去して実行し、変化を考察せよ。
(2)
Lf1:sum(1/2^(j-1),j,1,n),simpsum /*与式の左辺より大きい級数●●●*/;
このコマンドの「,simpsum」を消去して実行し、変化を考察せよ。