- (2021年02月16日)投稿
- (2021年03月31日)tex導入
- (2021年05月01日)python導入開始
- (2021年07月30日)同心環Tagに移行
この投稿はほとんど以下の本の内容からの引き写しとなります。
神永正博「超」入門 微分積分 学校では教えてくれない「考え方のコツ」
①理論上$x^a$を微分すると$ax^{a-1}$、$ax^{a-1}$を積分すると$x^a$になる。ところが実際の微分は$a^x*\log_e{x}$と処理される。その理由を明らかにするのがこの投稿の目的である。
#ライブラリ読み込み
library(Ryacas)
#x^aを微分するとax^(a)となる。
> yac("D(x) a ^ x")
[1] "a^x*Ln(a)"
#ax^(a-1)を積分するとx^aとなる。
> yac("Integrate(x) ax^(a-1)")
[1] "ax^(a-1)*x"
#ちなみにax自体を積分するとax^2となる。
> yac("Integrate(x) ax")
[1] "ax*x"
- とりあえず掲げられている演算自体は等比数列における「添字を増減させた場合」と重なるので先に進む。
#ライブラリ読み込み
library(Ryacas)
#aの値を変えて微分してみる。
> yac("D(x) x ^ 0")
[1] "0"
> yac("D(x) x ^ 1")
[1] "1"
> yac("D(x) x ^ 2")
[1] "2*x"
> yac("D(x) x ^ 3")
[1] "3*x^2"
> yac("D(x) x ^ 4")
[1] "4*x^3"
#aの値を変えて積分してみる。
> yac("Integrate(x) 2 * x")
[1] "x^2
> yac("Integrate(x) 3 * x ^ 2")
[1] "x^3"
> yac("Integrate(x) 4 * x ^ 3")
[1] "x^4
#つまり…
> yac("Integrate(x) x ^ 1")
[1] "x^2/2"
> yac("Integrate(x) x ^ 2")
[1] "x^3/3"
> yac("Integrate(x) x ^ 3")
[1] "x^4/4"
これから 以下が導出される。
- $\frac{1}{β+1}x^{β+1}$を微分すると$x^β$となる。
- $x^β$を積分すると$\frac{1}{β+1}x^{β+1}+C$となる(不定積分)。
Cは「定数関数=微分すると0になる関数」で傾きが0、すなわちいつも同じ値を返す関数である。これを加え冪乗算の積分公式を$\int x^β dx=\frac{1}{β+1}x^{β+1}+C$と表現する。また微分して$f(x)$になる原始関数を$\int f(x)dx$と表現する。
②定積分$\int_{a}^{b}f(x)dx$では定数関数Cは消える。$\int_{a}^{b}f(x)dx$=[x=bの時の不定積分の値]-[x=aの時の不定積分の値]である為、うまい具合に互いに打ち消し合ってくれるのである。
\int_{a}^{b}f(x)dx\\
=(\frac{1}{β+1}b^{β+1}+C)-(\frac{1}{β+1}a^{β+1}+C)\\
=\frac{1}{β+1}b^{β+1}-\frac{1}{β+1}a^{β+1}
③ところがこの計算式はβ=-1の時に計算不能となる。$x^β=x^-1=\frac{1}{x}$の時、右肩の分母が0になってしまうのである。
#Integrate(1→2)(x^β)dx
f0<-function(x)(2^(x+1))/(x+1)-1/(x+1)
f0(-1)
#確かに計算不能となる。
> f0(-1)
[1] NaN
#近似値(-1<a)
f0(-1.1)
[1] 0.6696701
> f0(-1.01)
[1] 0.6907505
> f0(-1.001)
[1] 0.692907
> f0(-1.0001)
[1] 0.6931232
> f0(-1.00001)
[1] 0.6931448
> f0(-1.000001)
[1] 0.6931469
> f0(-1.0000001)
[1] 0.6931472
> f0(-1.00000001)
[1] 0.6931472
#近似値(a<-1)
> f0(-0.9)
[1] 0.7177346
> f0(-0.99)
[1] 0.695555
> f0(-0.999)
[1] 0.6933875
> f0(-0.9999)
[1] 0.6931712
> f0(-0.99999)
[1] 0.6931496
> f0(-0.999999)
[1] 0.6931474
> f0(-0.9999999)
[1] 0.6931472
> f0(-0.99999999)
[1] 0.6931472
#ちなみに正解はlog(2)=0.6931472となる。
> log(2)
[1] 0.6931472
#Yacasがa^xの微分結果をa^x*Ln(a)と
#答えたのはこの結果を受けての事だったのである。
f0<-function(x){1/x}
plot(f0,xlim=c(0,3),ylim=c(0,3),main="Inverse Proportional Formula")
#該当箇所の塗り潰し
sqx<-seq(1,2,length=11)
sqy<-f0(sqx)
polygon(
c(1,sqx,2), #x
c(0,sqy,0), #y
density=c(50), #塗りつぶす濃度
angle=c(45), #塗りつぶす斜線の角度
col=c(200,200,200)) #塗りつぶす色
そこで逆に「y=1(面積1)の時のx」を求める事にする。
- $x^{β+1}-\frac{1}{β+1}=y=1$
- 両辺にβ+1を掛けて$x^{β+1}-1=β+1$
- -1を移項して$x^{β+1}=(β+1)+1
- xから乗根を取って$x=((β+1)+1)^\frac{1}{β+1}$
- 式をスッキリ見せる為にt=β+1とし$(t+1)^{\frac{1}{t}}$
βが-1に近づくほどtは0に近づく。計算結果はネイピア数exp(1)(2.718282)となる。
【初心者向け】指数・対数関数の発見とそれ以降の発展について。
lim_{t \to 0}(t+1)^{1/t}=e^1(2.71828)
> f1<-function(x){(1+x)^(1/x)}
> f1(1)
[1] 2
> f1(0.1)
[1] 2.593742
> f1(0.01)
[1] 2.704814
> f1(0.001)
[1] 2.716924
> f1(0.0001)
[1] 2.718146
> f1(0.00001)
[1] 2.718268
計算的には$\int_{1}^{e^1}\frac{1}{x}dx$と同じ($x=exp(1),y=exp(-1),xy=1$)。
【初心者向け】指数・対数関数の発見とそれ以降の発展について。
今度はこの式をyで直接解く。
- $\frac{x^{β+1}-1}{β+1}=y$
- 両辺にβ+1を掛けて$x^{β+1}-1=y(β+1)$
- -1を移項して$x^{β+1}=y(β+1)+1$
- xから乗根を取って$x=(y(β+1)+1)^{\frac{1}{β+1}}$
- t=y(β+1)と置くと$\frac{1}{β+1}=\frac{y}{t}$
- この式の極限は$\lim_{t \to 0}(t+1)^{(1/t)^y}$
- $lim_{t \to 0}(t+1)^{1/t}=e^1(2.71828)$なので$exp(y)$
ここで$x=exp(y)$を満たす式を$y=\log(x)$と置く。
- βを-1に近付ける時$\int_{1}^{x}x^βdx$=$x^{\frac{(β+1)-1}{β+1}}$→$log(x)$(反比例の積分公式)
- $\int_{1}^{x}x^{-1}dx$=$\int_{1}^{x}\frac{1}{x}dx$→$log(x)$
- つまり最初の式の結果は$\int_{1}^{2}\frac{1}{x}dx$=$log(2)$
> f0<-function(x)1/x
> integrate(f0,1,2)
0.6931472 with absolute error < 7.7e-15
> log(2)
[1] 0.6931472
#exp(x)'=exp(x)概念の登場
ところで…
- $x=exp(y)$が$y=log(x)$に対応する。
- $\frac{1}{x}$を積分すると$y=log(x)$となる。
library(Ryacas)
#1/xを積分するとlog(x)
> yac("Integrate(x) 1/x")
[1] "Ln(x)"
#log(x)を微分すると1/x
> yac("D(x) Ln(x)")
[1] "1/x"
すなわち微分積分の基本定理を適用すると…
- $\frac{dy}{dx}=\frac{1}{x}$の分子分母をひっくり返して$\frac{dx}{dy}=x$
- $x=exp(y)$を代入すると$\frac{d}{dy}EXPY=exp(y)$
- yをxに改め、微分を'で表すと$exp(x)'=exp(x)$
つまり指数関数は微分しても(積分しても)変わらない。
指数関数の微分公式…$exp(ax)'=a×exp(ax)$
指数関数の積分公式…$\int exp(ax)dx=1/a×exp(ax)+C$
library(Ryacas)
#Exp(x)は微分しても積分してもExp(x)
> yac("D(x) Exp(x)")
[1] "Exp(x)"
> yac("Integrate(x) Exp(x)")
[1] "Exp(x)"
#指数関数の微分公式
> yac("D(x) Exp(2*x)")
[1] "2*Exp(2*x)"
#指数関数の積分公式
> yac("Integrate(x) Exp(2*x)")
[1] "Exp(2*x)/2"
内容的には以下と同じですね。
ネイピア数eの定義がなぜあの形か,先生は説明をしてくれなかった
①関数$f(x)$が与えられた時,導関数$f′(x)$は,$\lim_{h \to 0}\frac{f(x+h)–f(x)}{h}$で定義される。
②指数関数$f(x)=a^x$の場合、$f′(x)=\lim_{h \to 0}\frac{a^{x+h}–a^x}{h}=\lim_{h \to 0}\frac{a^{x}a^{h}–a^x}{h}=a^x\lim_{h \to 0}\frac{a^{h}–1}{h}$
- $\lim_{h \to 0}\frac{a^{h}–1}{h}=1$
- 両辺にhを掛けると$\lim_{h \to 0}a^{h}–1=\lim_{h \to 0}h$
- 1を左辺から右辺に移行すると$\lim_{h \to 0}a^{h}=\lim_{h \to 0}h+1$
- 両編を$\frac{1}{h}$乗すると$a=\lim_{h \to 0}(1+h)^{\frac{1}{h}}=e(2.718282)$
従って、指数関数$f(x)=a^x$の導関数は$e(2.718282)×a^x(e^{ax}\frac{dy}{dx}=a×e^{ax})$となる。ここに現れる$e^x$を自然指数関数と呼ぶ。
③対数関数$f(x)=log_{a}(x)$の場合、$f′(x)=\lim_{h \to 0}\frac{log_a(x+h)–log_a(x)}{h}$。
- 対数関数の性質より$log_a(x+h)–log_a(x)=log_a\frac{x+h}{x}$なので$\lim_{h \to 0}\frac{log_a\frac{x+h}{x}}{h}=lim_{h \to 0}\frac{1}{h}log_a\frac{x+h}{x}$。
- そして対数関数の性質$a×log(x)=log(x)^a$より$lim_{h \to 0}log_a(\frac{x+h}{x})^{\frac{1}{h}}=lim_{h \to 0}log_a(1+\frac{h}{x})^{\frac{1}{h}}$。
- ここで$\frac{h}{x}=t$と置くと$h=xt$となり、hが0に近づく時、tも0に近くので$lim_{t \to 0}log_a(1+t)^{\frac{1}{xt}}=lim_{t \to 0}log_a(1+t)^{\frac{1}{x}×\frac{1}{t}}=\frac{1}{x}×lim_{t \to 0}log_a(1+t)^{\frac{1}{t}}$
つまり$lim_{t \to 0}log_a(1+t)^{\frac{1}{t}}=1$と置けるなら、その導関数は$\frac{1}{x}$となって色々と都合が良い。底をそうなる数$\lim_{t \to 0}(1+t)^{\frac{1}{t}}=e(2.718282)$に設定したのが自然対数関数となる。
#トーラス座標系との関係
2の冪乗算$f(x)=2^x$の概念からの再出発を試みます。
2^n(n=-\infty→+\infty)=(2^{-\infty}=\frac{1}{\infty}=0,…,2^{-2}=\frac{1}{2^2}=\frac{1}{4},…,2^{-1}=\frac{1}{2},…,2^0=\frac{2}{2}=1,…,2^1=2,…,2^2=4,…,2^{+\infty}=\infty)
2の冪乗算$f(x)=2^x$と「0から2までの正の実数」の組み合わせによって任意の正の実数を表せる。
Values | Explessions | |
---|---|---|
1 | 1 | 2^0 |
2 | 2 | 2^1 |
3 | 3 | 2^0+2^1 / 2^log(3,base=2) |
4 | 4 | 2^2 |
5 | 5 | 2^2+2^0 |
6 | 6 | 2^2+2^1 |
7 | 7 | 2^2+2^log(3,base=2) |
8 | 8 | 2^3 |
ここで突然現れる「0から2までの実数」は、上掲の「自明の場合**(Trival Case)**として導出される冪乗算の冪乗算が正常動作する範囲の半開実数列」1±β(ただし$-1<β \leqq 1$)に対応する様です。
- $\frac{1}{1±β}x^{1±β}$を微分すると$x^β$となる。
- $x^β$を積分すると$\frac{1}{1±β}x^{1±β}+C$となる(不定積分)。
- その定積分結果は$\int_{a}^{b}f(x)dx=\frac{1}{1±β}b^{1±β}-\frac{1}{1±β}a^{1±β}$
この関数は下限があっけなく(それ自体は観測不能な)観測原点(Observasion Origin)0に到達してしまうのに対し、上限は無限に観測限界(Observasion Limit)∞に到達しないので、この様に半開集合をなす訳ですね。
その対数写像、すなわち「0から2までの正の実数」と$\log2$の概念を組み合わせによって任意の正の対数を表せる。
Numbers | Explessions | Values | |
---|---|---|---|
1 | log(1) | log(2^1)+log(1/2) | 0 |
2 | log(2) | log(2^1) | 0.6931472 |
3 | log(3) | log(3/2)+log(2^1) | 1.098612 |
4 | log(4) | log(2^2) | 1.386294 |
5 | log(5) | log(5/4)+log(2^2) | 1.609438 |
6 | log(6) | log(3/2)+log(2^2) | 1.791759 |
7 | log(7) | log(7/4)+log(2^2) | 1.94591 |
8 | log(8) | log(2^3) | 2.079442 |
ちなみに…
- 根の変換公式$\log_{a}b=\frac{\log b}{\log a}$より$log_{2}x=\frac{\log x}{\log 2}$となる。
-
二分法による検索(まず真ん中を見て、それよりも小さいか大きいか判別し、さらにその真ん中を見る)によって目的の数字を見つけるまでに要する検索回数$N=2^x$は$x=\log_{2}N$と表せる。
今度こそ分かる、対数関数(log関数)
こうした考え方を採用せざるを得ないのはexp(1)(2.718282)やexp(-1)(0.3678794)同様、log(2)(0.6931472)自体が直接計算不可能だからですが、実はこの無理数、単位トーラスの座標系における中心点0と外周円の半径2に以下の形で対応するのです。
【Python演算処理】単位トーラスを巡る数理①平坦トーラスとの往復
①トーラス座標系において単位トーラス(大半径と小半径の比1:1)のスカラー倍はその2倍の半径の外周円を形成する(初項0、交差2の等差数列(片側無限数列)で推移)。
2_n(n=0→1→2→3→/infty)=(0,…,2,…,4,…,6,…,/infty)
②これを2の冪乗算の結果=初項1,等比2の等差数列(両側無限数列)の対数写像と考えた場合、単位トーラスの諸元は自然指数・対数と以下の形で結びつく。
- 大半径と小半径の比1は$e^0$。その対数写像を取ると$log(0)=1$
- 中心点0は$e^{-1}(0.3678794)$。その対数写像を取ると$log(\frac{1}{2})(-0.6931472)$
- 外周円2は$e^{+1}(2.718282)$。その対数写像を取ると$log(2)(0.6931472)$
ところでここでいう「単位トーラス(Unit Torus)」は、虚数概念(Imaginal Concept)と複素数表現(Complex Expression)を導入して1を単位元、$e^{xi}$を元、$e^{-xi}$を逆元と置いた場合の「(半径1の単位円を元とする)円周群$S_0$を1回直積した結果としてのリー群(二次元トーラス群)」に他ならず、(整数族を十進法導入によって拡張した均等尺の)実数列(Real Sequance)の正しい対数写像は、あくまで(これにさらに「適切な分岐点切断」を導入した結果としての)それなのです。
【数理考古学】とある実数列の規定例①等差数列から加法整数群へ
ならば(半径1の単位円に該当する)リー群$S_0$と(半径1の球表面に該当する)リー群$S_1$の関係は?
【数理考古学】群論とシミュレーション原理①これまでの投稿内容のまとめ。
- とりあえず「単位トーラス(Unit Torus)」、すなわち大半径(Major Radius)Rと小半径(Minor)rの比が1:1の場合を単位元と置いて出発する。その側面図は隣接する(半径1の単位円に該当する)リー群$S_0$(=円周群)二つと見える。
- このRr比が$\frac{\infty}{0}=\infty$に限りなく近づく時、トーラスの状態は(半径1の球表面に該当する)リー群$S_1$が二重に重なった状態(大半径=0,小半径=1)に限りなく近づく。
- その逆に、このRr比が$\frac{0}{\infty}=0$に限りなく近づく時、トーラスの状態は(半径1の単位円に該当する)リー群$S_0$(=円周群)の半径が2倍となった状態(大半径=2,小半径=0)に限りなく近づく。この操作は(半径1の球表面に該当する)リー群$S_1$の半径を1倍から2倍に推移させる操作に対応させられそうである。
- かかる考え方においてはリー群$S_0$二重状態とリー群$S_1$2倍状態自体には到達不可能なので、その結果得られる観測結果集合(Ovservation Result Set)や演算結果集合(Operation Result Set)はどちらも含まない開集合となる(リー群$S_0$状態とリー群$S_1$状態の特異点化)。
【Python演算処理】特異点を巡る数理の自分なりのまとめ。
どうやらこの辺りの遷移における演算過程で自然指数関数や自然対数関数との関係を使う様なのですが、その一方で実軸(Real Axis)上の整数族(Integer Famiry)を中心点として連続的に配される(半径1の単位円に該当する)リー群$S_0$(=円周群)を元とする演算$±i^{ax}$の結果集合は、独自の形で外接円と内接円との比を推移させるのです(グラフ上の推移自体は複雑だが、変数としては外接円1に対する内接円の比が1と0の間を往復しているに過ぎない)。
【無限遠点を巡る数理】オイラー座標系②複素等比数列による整数概念の再構築。
-
自明の場合(Trival Case)としてリー群$S_0$はリー群$S_1$の、巡回群をなす1の冪根(Root of Unity)の演算結果集合は**リー群$S_0$**の真部分集合をなす。
1の冪根
部分集合と真部分集合の違い - 一方、演算$±i^{ax}$の結果集合において単位元(Identity Element)ないしは分岐切断点(Branch Cut Point)と見做せそうなのはあくまでa=0の場合であり、リー群$S_0$(=円周群)そのものはa=±2の経過点に過ぎなさそうなのである。
どうやら「2の冪乗算$f(x)=2^x$と0から2までの正の実数の組み合わせによって任意の正の実数を表す」表現方法には、かかる数理の導入を回避する目的もありそうだ? そんな感じで、以下続報…