驚きの少数 1/81

\begin{align*} 1/81 = 0.0123456790123456790123456790123456790123 \cdots \end{align*} である。 この循環性と $8$ が存在しないことはどこからくるのか?


$S = P \cdot P$ において、$P$ が多項式 $a_1 + a_2 + a_3 + \cdots$ とあらわされる場合には \begin{align*} S = PP = (a_1 + a_2 + a_3 + \cdots )P = a_1 P + a_2 P + a_3 P + \cdots \end{align*} となる。ここまでは一般論。 そしてここからは、具体的な計算結果が必要。 まず、$P = 1/9$ のとき、つまり $S = (1/9) \cdot (1/9) = 1/81$ を考えてみると、 \begin{align*} P = 0.11111111111111111111\cdots = 0.1 + 0.01 + 0.001 + \cdots \end{align*} となるから \begin{align*} S = PP = 0.1 P + 0.01 P + 0.001 P + \cdots \;. \end{align*} さて、この式において、$P$ の係数はそれぞれ $P$ の小数点を右にひとつ、2つ、3つ‥‥とずらす作用があるから 各項の小数点を揃えて、行番号を付けて書くと \begin{alignat*}{3} &(1)\quad & &0.1 P & &= 0.011111111111111111111\cdots \\ &(2)\quad & &0.01 P & &= 0.0011111111111111111111\cdots \\ &(3)\quad & &0.001 P & &= 0.00011111111111111111111\cdots \\ &(4)\quad & &0.0001 P & &= 0.000011111111111111111111\cdots \\ &(5)\quad & &0.00001 P & &= 0.0000011111111111111111111\cdots \\ &(6)\quad & &0.000001 P & &= 0.00000011111111111111111111\cdots \\ &(7)\quad & &0.0000001 P & &= 0.000000011111111111111111111\cdots \\ &(8)\quad & &0.00000001 P & &= 0.0000000011111111111111111111\cdots \\ &(9)\quad & &0.000000001 P & &= 0.00000000011111111111111111111\cdots \\ &(10)\quad & &0.0000000001 P & &= 0.000000000011111111111111111111\cdots \\ &(11)\quad & &0.00000000001 P & &= 0.0000000000011111111111111111111\cdots \\ &\cdots & &\cdots & &\cdots \end{alignat*} となる。(1) から (9) までを縦に足して左側の桁に注目すると \begin{align*} 0.0123456789 + (something) \end{align*} これに (10) をくわえると \begin{align*} 0.0123456790 + (something) \end{align*} なので $8$ が消える、、、


などと書き連ねましたが、これはあまりにも効率が悪い。 やり直しである。 \begin{align*} P = 0.11111111111111111111\cdots = 0.1 + 0.01 + 0.001 + \cdots = a_1 + a_2 + a_3 + \cdots \end{align*} とすると \begin{align*} S = PP =&\; (a_1 + a_2 + a_3 + \cdots) \cdot (a_1 + a_2 + a_3 + \cdots) \\ =&\; a_1(a_1 + a_2 + a_3 + \cdots + a_n + \cdots) \\ &\;\quad\quad + \\ &\; a_2(a_1 + a_2 + a_3 + \cdots + a_n + \cdots) \\ &\; \quad\quad + \\ &\; a_3(a_1 + a_2 + a_3 + \cdots + a_n + \cdots) \\ &\;\quad\quad + \cdots \end{align*} である。さてこのとき $a_1, a_2$ の生態から \begin{align*} & a_1 a_1 = a_2,\quad a_1 a_2 = a_3, \\ & a_2 a_1 = a_3,\quad a_2 a_2 = a_4 \end{align*} であることがわかる。 一般化すれば、$a_m = 1/10^m,\, a_n = 1/10^n$ であることから、 \begin{align*} a_m a_n = a_{m+n} \;. \end{align*} これをもちいると \begin{align*} S =&\; a_1(a_1 + a_2 + a_3 + \cdots + a_n + \cdots) \\ &\;\quad\quad + \\ &\; a_2(a_1 + a_2 + a_3 + \cdots + a_n + \cdots) \\ &\; \quad\quad + \\ &\; a_3(a_1 + a_2 + a_3 + \cdots + a_n + \cdots) \\ &\;\quad\quad + \cdots \\ =&\; a_2 + a_3 + a_4 + \cdots + a_{n+1} + \cdots \\ &\;\quad\quad + \\ &\; a_3 + a_4 + a_5 + \cdots + a_{n+2} + \cdots \\ &\; \quad\quad + \\ &\; a_4 + a_5 + a_6 + \cdots + a_{n+3} + \cdots \\ &\;\quad\quad + \cdots \\ =&\; a_2 + 2a_3 + 3a_4 + 4a_5 + \cdots + na_{n+1} + \cdots \\ =&\; 0.01 + 0.002 + 0.003 + 0.0004 + \cdots \end{align*} となって、 \begin{align*} S_1 :& = a_2 + 2a_3 + 3a_4 + 4a_5 + 5a_6 + 6a_7 + 7a_8 + 8a_9 + 9a_{10} \\ & = 0.0123456789 \end{align*} になることがわかる。 変化が起きるのは $10a_{11}$ からである。 具体的に書き記すと \begin{align*} S_2 :& = 10a_{11} + 11a_{12} + 12a_{13} + 13a_{14} + 14a_{15} + 15a_{16} + 16a_{17} + 17a_{18} + 18a_{19} + 19a_{20} \\ & = 10a_{11} + (10+1)a_{12} + (10+2)a_{13} + \cdots + (10+9)a_{20} \\ & = 10(a_{11} + a_{12} + \cdots + a_{20}) + (a_{12} + 2a_{13} + \cdots + 8a_{19} + 9a_{20}) \end{align*} となるのであるが、ここでまた $a_n$ の生態から $10a_n = a_{n-1}$ があきらかなので \begin{align*} & = (a_{10} + a_{11} + \cdots + a_{19}) + (a_{12} + 2a_{13} + \cdots + 7a_{18} + 8a_{19} + 9a_{20}) \\ & = a_{10} + a_{11} + 2a_{12} + 3a_{13} + \cdots + 8a_{18} + 9a_{19} + 9a_{20} \end{align*} となる。したがって、 \begin{align*} S_1 + S_2 & = a_2 + 2a_3 + 3a_4 + \cdots + 19a_{20} \\ & = a_2 + 2a_3 + 3a_4 + 4a_5 + 5a_6 + 6a_7 + 7a_8 + 8a_9 + 9a_{10} + a_{10} + a_{11} + 2a_{12} + 3a_{13} + \cdots + 8a_{18} + 9a_{19} + 9a_{20} \\ & = a_2 + 2a_3 + \cdots + 7a_8 + 8a_9 + 10a_{10} + a_{11} + 2a_{12} + 3a_{13} + \cdots + 8a_{18} + 9a_{19} + 9a_{20} \\ & = a_2 + 2a_3 + \cdots + 7a_8 + 9a_9 + a_{11} + 2a_{12} + 3a_{13} + \cdots + 8a_{18} + 9a_{19} + 9a_{20} \end{align*} となって、最初の $8$ が消えてしまうことがわかる。

もう $10$ 個やってみよう。 \begin{align*} S_3 & := 20a_{21} + 21a_{22} + 22a_{23} + \cdots + 29a_{30} \\ & = 20(a_{21} + a_{22} + \cdots + a_{30}) + (a_{22} + 2a_{23} + \cdots + 8a_{29} + 9a_{30}) \\ & = (2a_{20} + 2a_{21} + \cdots + 2a_{29}) + (a_{22} + 2a_{23} + \cdots + 8a_{29} + 9a_{30}) \\ & = 2a_{20} + 2a_{21} + 3a_{22} + 4a_{23} + \cdots + 7a_{26} + 8a_{27} + 9a_{28} + 10a_{29} + 9a_{30} \\ & = 2a_{20} + 2a_{21} + 3a_{22} + 4a_{23} + \cdots + 7a_{26} + 8a_{27} + 10a_{28} + 9a_{30} \\ & = 2a_{20} + 2a_{21} + 3a_{22} + 4a_{23} + \cdots + 7a_{26} + 9a_{27} + 9a_{30} \end{align*} となるから、 \begin{align*} S_1 + S_2 + S_3 & = a_2 + 2a_3 + 3a_4 + \cdots + 29a_{30} \\ & = a_2 + 2a_3 + \cdots + 7a_8 + 9a_9 + a_{11} + 2a_{12} + 3a_{13} + \cdots + 7a_{17} + 8a_{18} + 9a_{19} + 9a_{20} + 2a_{20} + 2a_{21} + 3a_{22} + 4a_{23} + \cdots + 7a_{26} + 9a_{27} + 9a_{30} \\ & = a_2 + 2a_3 + \cdots + 7a_8 + 9a_9 + a_{11} + 2a_{12} + 3a_{13} + \cdots + 7a_{17} + 8a_{18} + 9a_{19} + 11a_{20} + 2a_{21} + 3a_{22} + 4a_{23} + \cdots + 9a_{27} + 9a_{30} \\ & = a_2 + 2a_3 + \cdots + 7a_8 + 9a_9 + a_{11} + 2a_{12} + 3a_{13} + \cdots + 7a_{17} + 8a_{18} + 9a_{19} + 10a_{20} + a_{20} + 2a_{21} + 3a_{22} + 4a_{23} + \cdots + 9a_{27} + 9a_{30} \\ & = a_2 + 2a_3 + \cdots + 7a_8 + 9a_9 + a_{11} + 2a_{12} + 3a_{13} + \cdots + 7a_{17} + 8a_{18} + 10a_{19} + a_{20} + 2a_{21} + 3a_{22} + 4a_{23} + \cdots + 9a_{27} + 9a_{30} \\ & = a_2 + 2a_3 + \cdots + 7a_8 + 9a_9 + a_{11} + 2a_{12} + 3a_{13} + \cdots + 7a_{17} + 9a_{18} + a_{20} + 2a_{21} + 3a_{22} + 4a_{23} + \cdots + 9a_{27} + 9a_{30} \end{align*} となって、2個目の $8$ も消えてしまう。 10 桁づつやると、繰り上がりが発生して、それが前方の $8$ のところに及ぶのである。 以下、気が遠くなるくらいこれを繰り返せば \begin{align*} 1/81 = 0.0123456790123456790123456790123456790123 \cdots \end{align*} が得られる(記述にミスがないことを願っている)。


さてさて。 $1/9801 = (1/99)\cdot(1/99)$ であるから、 \begin{align*} 1/99 = 0.01010101010101010101 \cdots \end{align*} を利用して同様な方法論でやれば、 \begin{align*} 1/9801 = 0.0001020304050607080910111213141516171819 \cdots \end{align*} が得られる。$1/998001 = (1/999)\cdot(1/999)$ も \begin{align*} 1/999 = 0.0010010010010010010010010010010010010010 \cdots \end{align*} なので \begin{align*} 1/998001 = 0.0000010020030040050060070080090100110120 \cdots \end{align*} となる。「同様な方法論で」と書いたけれど、実際にやってみる気にはならないなぁ。 それに、そもそもやり直した割には、力づくの計算になっている。 エレガントさからは遠い。 Internet 上にはもっと良質な説明があるに違いない。

mobile phone でも mathjax を有効にするには

この blogspot において、mobile phone でも mathjax を有効にするには、
  • テーマからモバイルをえらび(gear mark)
  • そのモバイルテーマを「カスタム」にする
と言う手順を踏まなければならないのであった。
# その前に <head> ... </head> 内で mathjax を有効化しておかなくてはならないのはもちろんである。

関数の大人の書き方

関数の表記において,合成関数を扱うときには,しばしば「大人の書き方」が使われる.「大人の書き方」というのは,例えば,$u = u(x)$ とか,$X = X(x, y)$ という書き方である.これは,あるときは変数と見立て,あるときは関数と見立てるときに重宝される記である.このような見立ては,合成関数の微分操作の際に顕著である.

関数 $F$ が $u$ の関数である場合,それを $F(u)$ と書くことについては抵抗がない.そしてこの $u$が単なる変数であれば,関数の微分は
\begin{align*}
  dF = \frac{dF}{du}\,du
\end{align*}
である.さてここで,$u$ が関数である場合はどうであるか?礼儀正しく $u = f(x)$ としてみると,$du = (df/dx)\,dx$ であるから,
\begin{align*}
  dF = \frac{dF}{du}\frac{df}{dx}\,dx
\end{align*}
となる.ここで「大人の書き方」を採用して $u = u(x)$ とすると,$du = (du/dx)\,dx$ であるから
\begin{align*}
  dF = \frac{dF}{du}\frac{du}{dx}\,dx
\end{align*}
というように,微分の chain rule が見やすくなってくる.とりわけ,微分操作を演算子化するような場合,
\begin{align*}
  dF = \frac{dF}{du}\frac{df}{dx}\,dx
  \quad\Longrightarrow\quad
  \frac{dF}{dx} = \frac{dF}{du}\frac{df}{dx}
  \quad\Longrightarrow\quad
  \frac{d}{dx} = \frac{df}{dx}\frac{d}{du}
\end{align*}
であるよりは
\begin{align*}
  dF = \frac{dF}{du}\frac{du}{dx}\,dx
  \quad\Longrightarrow\quad
  \frac{dF}{dx} = \frac{dF}{du}\frac{du}{dx}
  \quad\Longrightarrow\quad
  \frac{d}{dx} = \frac{du}{dx}\frac{d}{du}
\end{align*}
の方が見通しがきく.

この論法に抱くなんとはなしの違和感は,$u = u(x)$ のように関数と関数名に同じ名前を使っていることにあるのだろうと思う.関数と言うと,変数も「数」,関数値も「数」と認識しているから,$u = f(x)$を見た時のインスピレーションは「$u,\; x$ は数,関数は $f$」であるが,$u = u(x)$ となると「$u,\; x$ は数,関数も $u$」となって一瞬まごつくのだろう.これを,「$u$ は数(関数値)でもありかつ $x$ を変数とする関数でもある」,ということをまとめて述べたものであるのだろうと捉えることが,大人になるということなのだと思う.
 ところが.実は,この変数名と関数名が同一ということを無意識に諒解していたものがある.物理でおなじみの座標変数である.点を $P(x, y)$ と書き,$x,\, y$ は座標値と考える.そして実は$x(t),\, y(t)$ であるから,縦横無尽に $x$ や $y$ を $t$ で微分したり積分したりしていたのであった.あるときは変数,あるときは関数.数学では(少なくとも筆者の高校時代では)こういうことをきちんとし区別していて,関数として $x(t), y(t)$ を扱う場合には,点の「軌跡を考える」,という物言いをしていたように思う.やはり物理はおおらかだったのだろうか?というか,数学がきちんとしている,ということだろうか?
この「大人の書き方」のご利益は,多変数関数の偏微分を駆使する際によりあらわになると思われる.$F(X, Y)$ で,$X,\, Y$ が各々 $x,\, y,\, t$ の関数であるというような場合,礼儀正しく行けば $X = \phi(x, y, t),\;Y = \psi(x, y, t)$として,
\begin{align*}
  dF
  &=
  \frac{\partial F}{\partial X}\,dX + \frac{\partial F}{\partial Y}\,dY \\
  &=
  \frac{\partial F}{\partial X}\left(
  \frac{\partial \phi}{\partial x}\,dx
  +
  \frac{\partial \phi}{\partial y}\,dy
  +
  \frac{\partial \phi}{\partial t}\,dt
  \right)
  +
  \frac{\partial F}{\partial Y}\left(
  \frac{\partial \psi}{\partial x}\,dx
  +
  \frac{\partial \psi}{\partial y}\,dy
  +
  \frac{\partial \psi}{\partial t}\,dt
  \right) \\
  &=
  \left(
  \frac{\partial F}{\partial X}\frac{\partial \phi}{\partial x}
  +
  \frac{\partial F}{\partial Y}\frac{\partial \psi}{\partial x}
  \right)\,dx
  +
  \left(
  \frac{\partial F}{\partial X}\frac{\partial \phi}{\partial y}
  +
  \frac{\partial F}{\partial Y}\frac{\partial \psi}{\partial y}
  \right)\,dy \\
  &\qquad\qquad\qquad
 +
  \left(
  \frac{\partial F}{\partial X}\frac{\partial \phi}{\partial t}
  +
  \frac{\partial F}{\partial Y}\frac{\partial \psi}{\partial t}
  \right)\,dt
\end{align*}
となる.だけれども,$X = X(x, y, t),\;Y = Y(x, y, t)$という「大人の書き方」を採用すれば
\begin{align*}
  dF
  &=
  \frac{\partial F}{\partial X}\,dX + \frac{\partial F}{\partial Y}\,dY \\
  &=
  \frac{\partial F}{\partial X}\left(
  \frac{\partial X}{\partial x}\,dx
  +
  \frac{\partial X}{\partial y}\,dy
  +
  \frac{\partial X}{\partial t}\,dt
  \right)
  +
  \frac{\partial F}{\partial Y}\left(
  \frac{\partial Y}{\partial x}\,dx
  +
  \frac{\partial Y}{\partial y}\,dy
  +
  \frac{\partial Y}{\partial t}\,dt
  \right) \\
  &=
  \left(
  \frac{\partial F}{\partial X}\frac{\partial X}{\partial x}
  +
  \frac{\partial F}{\partial Y}\frac{\partial Y}{\partial x}
  \right)\,dx
  +
  \left(
  \frac{\partial F}{\partial X}\frac{\partial X}{\partial y}
  +
  \frac{\partial F}{\partial Y}\frac{\partial Y}{\partial y}
  \right)\,dy \\
  &\qquad\qquad\qquad
 +
  \left(
  \frac{\partial F}{\partial X}\frac{\partial X}{\partial t}
  +
  \frac{\partial F}{\partial Y}\frac{\partial Y}{\partial t}
  \right)\,dt
\end{align*}
となり,やはり見通しがよくなる.そして記号のインフレも起きにくい.

ま,もちろん,世のことわりどうり,ケース・バイ・ケースな事柄では,ある.

テイラー展開の覚え方

関数のテイラー展開の有用性について異論を持つ人は滅多にいない、と思う。そして学習 の初期にお目にかかるその形は、 \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$ は地味に働いているんだろう。

ハイライトのぐあいはどうだ?

ハイライトを少し試して見る。まずはふざけた C 言語プログラム。こんなコードは書いてはいけない。

#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