関数のテイラー展開の有用性について異論を持つ人は滅多にいない、と思う。そして学習
の初期にお目にかかるその形は、
\begin{align}
f(x)
= f(u)
+ f^\prime(u)\,(x-u)
+ \frac{f^{(2)}(u)}{2 !}{(x-u)}^2
+ \frac{f^{(3)}(u)}{3 !}{(x-u)}^3
+ \cdots
\end{align}
であることが多いと思う。その上で $u = 0$ としてマクローリン展開が出てくる、というのが筋であろ
うか。少なくともわたくしの記憶では、そのような段取りであった。
さてそこで。一度きちんと学習しておくということをもちろんの前提として(勉強するにはいろんな本があ
ると思うけれど、わたくしは田崎さんのこの本(?)http://www.gakushuin.ac.jp/~881791/mathbook/index.html をお勧めしたい。とてもためになります。そして、読んでいて楽しい)、
実践的な運用においては、
\begin{align}
f(u + \varDelta u)
= f(u)
+ f^\prime(u)\varDelta{u}
+ \frac{f^{(2)}(u)}{2 !}{(\varDelta{u})}^2
+ \frac{f^{(3)}(u)}{3 !}{(\varDelta{u})}^3
+ \cdots
\end{align}
という形を記憶しておくのが有用であるのではと考えている。この式から諸々がおまけ付きで導き出せるし、
何よりずらした量 $\varDelta{u}$ で冪乗の部分が構成される点がわたくし的には覚えやすい(もちろん人それぞれではあるけれど)。
例えば $x := u + \varDelta{u} \quad (\text{i.e.}\; \varDelta{u} = x - u)$ とすると
\begin{align}
f(x)
= f(u)
+ f^\prime(u)\,(x-u)
+ \frac{f^{(2)}(u)}{2 !}{(x-u)}^2
+ \frac{f^{(3)}(u)}{3 !}{(x-u)}^3
+ \cdots
\end{align}
というように、はじめに述べた $u$ の周りのテイラー展開の基本形が得られるし、これに対して $u = 0$
とすれば、マクローリン展開
\begin{align*}
f(x)
= f(0)
+ f^\prime(0)\,x
+ \frac{f^{(2)}(0)}{2 !}x^2
+ \frac{f^{(3)}(0)}{3 !}x^3
+ \cdots
\end{align*}
が出てくる。
さて。(2)に戻り、2次以上の項をまとめると
\begin{align*}
f(u + \varDelta u) =
f(u) + f^\prime(u)\varDelta{u} + O\left((\varDelta{u})^2\right)
\end{align*}
とあらわすことができて、2次以上の項をネグれば
\begin{align*}
f(u + \varDelta u) \simeq f(u) + f^\prime(u)\varDelta{u}
&\quad\iff\quad f(u + \varDelta u) - f(u) \simeq f^\prime(u)\varDelta{u} \\
&\quad\iff\quad \frac{f(u + \varDelta u) - f(u)}{\varDelta{u}} \simeq f^\prime(u)
\end{align*}
となる。2次以上の項をネグルということを「微分である」と捉える(物理屋が、いつもなんの躊躇もなく
2次以上の項を無視する、という論を立てるのはこれが理由なのだろうとふと思った)。
すなわち、$\varDelta \mapsto d$ とすれば $(\simeq) \mapsto (=)$ となって
\begin{align*}
f(u + du) = f(u) + f^\prime(u)\,du
&\quad\iff\quad f(u + du) - f(u) = f^\prime(u)\,du \\
&\quad\iff\quad \frac{f(u + du) - f(u)}{du} = f^\prime(u)
\end{align*}
となる。導関数そのもの定義式が、おまけとして、出てくる。
さらに(3)においても2次以上の項をネグレば
\begin{align*}
\frac{f(x) - f(u)}{x-u} \simeq f^\prime(u)
\end{align*}
となる。この形式で2次以上の項をネグルということを「$\lim_{x \to u}$」と捉えると、微分係数の定義
が得られる:
\begin{align*}
\frac{f(x) - f(u)}{x-u} \simeq f^\prime(u)
\quad\Longrightarrow\quad
\lim_{x \to u} \frac{f(x) - f(u)}{x-u} = f^\prime(u) = \left. \frac{df(x)}{dx} \right|_{x=u} \;.
\end{align*}
これもおまけといってよいと思う。
そもそもテイラー展開は、まず微分概念とそれに基づく導関数というものを土台にしたのちに、導出される
ものであった。しかしながら、上記の筋道はその逆で、テイラー展開の形式を先に認めて、そこから導関数
や微分係数を導くという道を辿っている。とはいえ、テイラー展開の形式においてすでに導関数を使ってい
るので、循環した論法になってしまっているところがご愛敬ではある。
としてもである。先に微分、導関数、テイラー展開というものの正当な道筋をきちんと学習したあとであれ
ば、「2次以上の項をネグル」ことにより、上記のような思考経済を適用しても、ま、いいのではないか、
とつらつら思う正月である。
定義は存在に先立つ(のか?)
実存は本質に先立つ、と言ったのはサルトルであったと思いますが、サルトルが言ったかどうかのその真偽はともかく、それをパクった表題であることは事実であります。
ただこのような言明に出くわした時、「実存」とは何かとか、ここで申し述べられている「本質」というものは何かとてつもなく深遠なるものなのではあるまいかわたくしごときがおいそれと近寄ってはならぬのではないか、という、絶壁の前に立ちすくした際に感じる畏怖の念が生じてしまうのでもあります。
数学についてもしかり。
以前、関数の停留、極大極小などについてなんとはなしに書き綴ったこんなもの、の中で、わたくしは
でも無限集合にまつわる一連のものや、微分積分、そんな感じで会得してきたのではないのでしょうかね。ま、もちろんわたくしの「才能」については棚上げお手上げでありますけれども。
ただこのような言明に出くわした時、「実存」とは何かとか、ここで申し述べられている「本質」というものは何かとてつもなく深遠なるものなのではあるまいかわたくしごときがおいそれと近寄ってはならぬのではないか、という、絶壁の前に立ちすくした際に感じる畏怖の念が生じてしまうのでもあります。
数学についてもしかり。
以前、関数の停留、極大極小などについてなんとはなしに書き綴ったこんなもの、の中で、わたくしは
数学的な概念やタームを説明する場合,まず始めににその対象の定性的性質を描き,その性質を満たすも のを「『何某』であると定義する」という形がとられることが多いと思う.対象の定性的性質がわかりやす い場合には有効な形式であるけれども,いろいろ込み入ってくるとなかなかそうもいかない.そして往往に して,定性的性質を描く際には,その「『何某』の定義」が暗黙に前提され背景化されている場合が多く, 初めて学ぶうぶな時には定性的性質を把握しづらいというのも事実であるなどと生意気にも書き記し、さらに、
イメージ豊かに生き生きとその定性的性質を思い描ける,というのが「才能」であるのだろう.そこで我々 のような凡人は,定性的性質の不完全なイメージと実際の定義をあわせもって微修正しつつ,自らのイメー ジを作成するという方法をとる.それが学習というものなんだろうと思ったりする.
ある場合には,その『何某』であるという定義を先に認めてしまい,そこから定性的性質をイメージする努 力をするということも効果的な方法なのだ,と考えたりもする.なにより「はっきり」と論が進められるよ うな気になれるのがよい.などとグダ沼化した言い訳めいたものをも書き殴っていたのでありました。
でも無限集合にまつわる一連のものや、微分積分、そんな感じで会得してきたのではないのでしょうかね。ま、もちろんわたくしの「才能」については棚上げお手上げでありますけれども。
ささやかだけれど大切な 1
数学の世界には特徴のある「数」が色々とあるけれど、その中で $1$ には、なんというのか、とくべつ地味な味わいが感じられる。
どんな数に $1$ 掛けても値は変わらないという「掛け算の群の単位元」という位置取りや、全ての数の約数であるという位置、さらに、ある自然数に $1$ を足すと次の自然数が得られる(整数でも同じか)という、なんとなくあたりまえで「ふむ、はいそうですか」としか言いようがない感じが、$1$ の地味さ加減をかもし出しているような気がする。
そして $1$ は $1$ 以外の約数を持たないのに、素数の仲間に入れてもらえていない。素因数分解の一意性てなものに仁義を切ったがために、素数から除外されてしまった。気の毒である。このような軽い扱い(?)をされてしまうことも地味さを感じる一因なのかもしれない。
そんな健気な $1$ であるけれど、局面局面に置いていろんな形態で用いられる、という特徴もある。例えば、$1 = \{\phi\} $ とか、$1 = 0\,!, \quad 1 = p^0, \quad 1 = \log_e{e}$ などであったり。この最後の対数の形は、
$$
\log_e{a} - 1 = \log_e{a} - \log_e{e} = \log_e\Big(\frac{a}{e}\Big)
$$
などと働いて、重要な結果を導き出す時の手助けにもなる(スターリングの近似公式など)。
ある時、思いもかけない場面でこの $1$ の働きに気づき、ハッとさせられた。$f(x)$ が単調増加関数である場合には
$$ \int_{t-1}^t f(x)\,dx \leq f(t) \leq \int_t^{t+1} f(x)\,dx $$
が成り立つということの説明と、量子力学のアクロバッター(という言い方は失礼かもしれないけれどご容赦)の Dirac の
$$e^{\pm \frac{i\Theta}{\hbar}} \psi(N) = \psi(N \pm 1)$$
の導出においての $1$ の効用についてである。実際に計算もしてみたので、ちょっとそれを記してみた(上記の数式のところからリンクを貼った。しかし、この説明、自慢になるのか?)。
きっと、色々なところで、$1$ は地味に働いているんだろう。
どんな数に $1$ 掛けても値は変わらないという「掛け算の群の単位元」という位置取りや、全ての数の約数であるという位置、さらに、ある自然数に $1$ を足すと次の自然数が得られる(整数でも同じか)という、なんとなくあたりまえで「ふむ、はいそうですか」としか言いようがない感じが、$1$ の地味さ加減をかもし出しているような気がする。
そして $1$ は $1$ 以外の約数を持たないのに、素数の仲間に入れてもらえていない。素因数分解の一意性てなものに仁義を切ったがために、素数から除外されてしまった。気の毒である。このような軽い扱い(?)をされてしまうことも地味さを感じる一因なのかもしれない。
そんな健気な $1$ であるけれど、局面局面に置いていろんな形態で用いられる、という特徴もある。例えば、$1 = \{\phi\} $ とか、$1 = 0\,!, \quad 1 = p^0, \quad 1 = \log_e{e}$ などであったり。この最後の対数の形は、
$$
\log_e{a} - 1 = \log_e{a} - \log_e{e} = \log_e\Big(\frac{a}{e}\Big)
$$
などと働いて、重要な結果を導き出す時の手助けにもなる(スターリングの近似公式など)。
ある時、思いもかけない場面でこの $1$ の働きに気づき、ハッとさせられた。$f(x)$ が単調増加関数である場合には
$$ \int_{t-1}^t f(x)\,dx \leq f(t) \leq \int_t^{t+1} f(x)\,dx $$
が成り立つということの説明と、量子力学のアクロバッター(という言い方は失礼かもしれないけれどご容赦)の Dirac の
$$e^{\pm \frac{i\Theta}{\hbar}} \psi(N) = \psi(N \pm 1)$$
の導出においての $1$ の効用についてである。実際に計算もしてみたので、ちょっとそれを記してみた(上記の数式のところからリンクを貼った。しかし、この説明、自慢になるのか?)。
きっと、色々なところで、$1$ は地味に働いているんだろう。
ハイライトのぐあいはどうだ?
ハイライトを少し試して見る。まずはふざけた C 言語プログラム。こんなコードは書いてはいけない。
次に Makefile。もう少しハイライトされるといいんだけど、default ではこんな感じのようだ。js を追加すれば見栄えはもっと良くなるのだろうとは思う。
#include <string.h>
#include <stdio.h>
int
main(int argc, char *argv[])
{
char c;
char *p;
int i;
c = "string"[3];
printf("%c\n", c);
c = 3["string"];
printf("%c\n", c);
p = "string";
for (i = 0; i < strlen(p); i++) {
c = i[p];
printf("%c\n", c);
}
}
次に Makefile。もう少しハイライトされるといいんだけど、default ではこんな感じのようだ。js を追加すれば見栄えはもっと良くなるのだろうとは思う。
NAME = noname
#.SUFFIXES: .pdf .gplt
all: $(NAME).ps
$(NAME).ps: $(NAME).tex \
relation.tex \
real-explow.tex
platex $(NAME).tex
pbibtex $(NAME)
platex $(NAME).tex
dvips $(NAME).dvi
dvipdfmx $(NAME).dvi
.PRECIOUS: %.pdf
%.xbb: %.pdf
extractbb $*.pdf
%.pdf: %.gplt
$<
epstopdf $*.ps
.PHNOY: clean
clean:
rm -f *.ps *.pdf *.dvi *.log *.pic *.gpic *.gif *.aux *.toc *.xbb *.bbl *.blg *~
pandoc:
pandoc --mathjax -s $(NAME).tex -o $(NAME).pandoc.html
pandoc2:
pandoc --mathjax --template=./template.html -s $(NAME).tex -o $(NAME).pandoc.html
最後は sh。どうしてこういうコードになっているかはもはや思い出せない(タイムスタンプ見たら、Jun 15 1992 だった…)。
#! /bin/sh
#
# $Id: chkdef,v 1.1 1992/06/15 01:43:52 hisasima Exp hisasima $
#
# $Author: hisasima $
#
# Check multiple define symbol in C source files.
#
TMP=/tmp/aho.$$
IDFILE=/tmp/id.$$
trap '/bin/rm -f $TMP $IDFILE; exit 1' 1 2 9 15
egrep '^#[ ]*define' "$@" /dev/null | \
sed 's:#[ ]*define:#define' | sort > $TMP
cat $TMP | while read DUMMY1 IDENT DUMMY2
do
IDENT=`echo $IDENT | sed 's:(.*::'`
echo $IDENT
done | sort | uniq > $IDFILE
cat $IDFILE | while read IDENT
do
LOTS=`egrep $IDENT $TMP | wc -l`
if [ $LOTS -ne 1 ]
then
egrep $IDENT $TMP
fi
done
/bin/rm -fr $TMP $IDFILE
お試しアゲイン
やり方を忘れていたので、試してみる。そして code のハイライトができていなかったので、再度テンプレートにそれ用のものを書いた。
https://highlightjs.org/static/demo/
https://blue-leaf81.net/archives/1010/
にお世話になった。
#! /usr/bin/env perl
use strict;
use warnings;
while (<>) {
chomp;
my @plist = split(/\s+/);
print "$plist[1], $plist[2]\n";
}
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {
inlineMath: [ ['$','$'], ["\\(","\\)"] ],
displayMath: [ ['$$','$$'], ["\\[","\\]"] ]
}
});
</script>
<script type="text/javascript"
src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML">
</script>
<meta http-equiv="X-UA-Compatible" CONTENT="IE=EmulateIE7" />
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.0.0/styles/default.min.css">
<script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.0.0/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
ハイライトについては、
https://highlightjs.org/static/demo/
https://blue-leaf81.net/archives/1010/
にお世話になった。
MathJax 利用の試み
「デザイン -> HTMLL の編集」を選び、テンプレートに手を加える。手を加えるまえに、今のテンプレートをダウンロードしておくと安心である。そののち、<head> -- </head> の間に次の物を入れた。
次に「投稿」の機能で中身を書く。さっそく試してみる。まずは inlineMath の場合。
\(\sum_{n=1}^\infty \frac{1}{n^2} = \frac{\pi^2}{6}\)
次は display math だ。
\[
\sum_{n=1}^\infty \frac{1}{n^2} = \frac{\pi^2}{6}
\tag{1}
\]
n 次元直行空間(n 次元ユークリッド空間とも言う)での 2 点間の距離である。2 点を \(x\)、\(y\) とおき、それぞれの \(k\) 軸成分を \(x_{k}\)、\(y_{k}\) とすれば、\(x\) と \(y\) のユー クリッド距離 \(d(x, y)\) は次の様になる。
\[
d(x, y) = \sqrt{ \sum_{k=1}^{n} (x_{k} - y_{k})^2 }
\]
ベクトル表記で内積表現で書けば少し簡潔になるが、程度問題(趣味の問題)であるといえよう。
\[
d(x, y) = \sqrt{ \langle \vec{xy}, \vec{xy} \rangle }
\]
数式は、Firefox や Opera の方が綺麗にみえる。Safari や Chrome は今ひとつのような気がする。なんとかなるものなのだろうか。
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {
inlineMath: [ ['$','$'], ["\\(","\\)"] ],
displayMath: [ ['$$','$$'], ["\\[","\\]"] ]
}
});
</script>
<script type="text/javascript"
src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML">
</script>
<meta http-equiv="X-UA-Compatible" CONTENT="IE=EmulateIE7" />
次に「投稿」の機能で中身を書く。さっそく試してみる。まずは inlineMath の場合。
\(\sum_{n=1}^\infty \frac{1}{n^2} = \frac{\pi^2}{6}\)
次は display math だ。
\[
\sum_{n=1}^\infty \frac{1}{n^2} = \frac{\pi^2}{6}
\tag{1}
\]
n 次元直行空間(n 次元ユークリッド空間とも言う)での 2 点間の距離である。2 点を \(x\)、\(y\) とおき、それぞれの \(k\) 軸成分を \(x_{k}\)、\(y_{k}\) とすれば、\(x\) と \(y\) のユー クリッド距離 \(d(x, y)\) は次の様になる。
\[
d(x, y) = \sqrt{ \sum_{k=1}^{n} (x_{k} - y_{k})^2 }
\]
ベクトル表記で内積表現で書けば少し簡潔になるが、程度問題(趣味の問題)であるといえよう。
\[
d(x, y) = \sqrt{ \langle \vec{xy}, \vec{xy} \rangle }
\]
数式は、Firefox や Opera の方が綺麗にみえる。Safari や Chrome は今ひとつのような気がする。なんとかなるものなのだろうか。
source code を書く
味付けをしようと思い、テンプレートに
Perl
html ("<" => "<", ">" => ">" が必要だ…(お手軽にやりたいんだけど))
pre {
font-family: Courier New;
border:1px solid #aaa;
background:#eee;
padding:0.5em;
overflow: auto;
}
をいれてやってみた。Perl
#! /usr/bin/env perl
use strict;
use warnings;
while (<>) {
chomp;
my @plist = split(/\s+/);
print "$plist[1], $plist[2]\n";
}
html ("<" => "<", ">" => ">" が必要だ…(お手軽にやりたいんだけど))
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {
inlineMath: [ ['$','$'], ["\\(","\\)"] ],
displayMath: [ ['$$','$$'], ["\\[","\\]"] ]
}
});
</script>
<script type="text/javascript"
src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML">
</script>
<meta http-equiv="X-UA-Compatible" CONTENT="IE=EmulateIE7" />
登録:
投稿 (Atom)