複素数(虚数)って存在するの?

このトピックについては,何から話せばよいだろうか. 少なくとも「存在」の定義を議論することから始めるのは,煙に巻きそうで悪手だろう.

さて複素数というとしばしば次の疑問がなされる.

「二乗して負になる数が存在するんですか?そんな架空の数を考えて意味あるんですか?」

  • 数えることを念頭に置いていると,大小比較できない複素数の理解や対応物を見いだせない.
  • ひどいときには「現実には存在しない数だ」とまで断言する人が現れる.

「量子論に使われるって聞きました.とても便利な数ということですか?」

  • ただ単に道具として見ていると,機械的に処理しがちになり,だんだん何を計算しているのかわからなくなってきやすい.
  • ひどいときには「量子論を実在論と複素数で味付け」したようなオカルトな印象を抱く人が現れる.
  • 「量子論で使われているってことは,つまり複素数は実在するんです」という飛躍した説得を試みる人もいる.何も量子論を持ち出すまでもない話であるにもかかわらず!
  • 相対論についてもタキオンと関連して,不用意に吹聴されることがある.

これらの疑問はまだまだ盲目的で野蛮な時代を生きていることを物語るようなものである. そこで今回はできる限り,平易に述べて複素数から虚構を取り除きたいと思う.

複素数と神秘性

現代ではいろいろな数にあふれている. 定番どころだと次になる.

  • 自然数 $\mathbb{N}$
  • ゼロ1 $0$
  • 整数 $\mathbb{Z}$
  • 有理数 $\mathbb{Q}$
  • 無理数 $\mathbb{P}$
  • 実数 $\mathbb{R}$
  • 複素数 $\mathbb{C}$

もっともっと他にもあるが,割愛しよう.

そして複素数だけが残った

どの数も歴史があり,文明が何もない状態からスタートしたとしたら, 不完全な自然数と有理数をなんとか手に入れて,そこから何千年という時間が必要になろう. ここでの「不完全な」は現代の定義との食い違いであるが, 例えば $1,2,3$ ときて,後は「たくさん」というようなものである. 関連して「百」と書いたとき,これが $100$ なのか $1000$ なのか, その辺りに頓着しないようなものである.

他にもかつては無理数を口外したことで処刑された者すらいたという. 「数」を理解するというのは時に命がけになるわけだ.

Hippasus

そういう意味では現代の私達は幸運だ. しかし一方で我々はファンタジーから遠のいたとも言えるかもしれない. 天国や地獄,幽霊だとかスピリチュアルな事柄は, 想像力豊かな空虚な作り話になっている. そんな現代人の桃源郷は異世界だとある人はいう.

そしてかつて「数」はこれらに結びつけて呪術的な意味合いを帯びることが常だった. その神秘のベールが剥がれている中で,複素数がどうやら残っている,というところだ.

複素数とフィクション (虚構)

アニメの題材でもしばしば神秘的な表現をするのに, この複素数が引き合いに出される.

「どうやらこの空間は閉鎖された虚数空間らしいの.つまりね.理論上では私達のいた実数空間とは三次元どうしでは直接繋がっていなくて,二次元どうしでのみ正と負の逆位相で0次元を仲介して繋がっているはずなんだけど・・・」 — セーラーマーキュリー 美少女戦士セーラームーン 第35話「よみがえる記憶!うさぎと衛の過去」

とか,

「直径 680 m、厚さ約 3 nm の極薄の空間を内向きの A.T. フィールドで支え,内部は『ディラックの海』と呼ばれる虚数空間,多分,別の宇宙に繋がっているんじゃないかしら.」 — 赤木リツコ 新世紀エヴァンゲリオン 第拾六話 死に至る病、そして/EPISODE:16 Splitting of the Breast

である.他にも虚数は架空元素であったり,枚挙にいとまがない. (ここでは何も野暮なことを言いたいわけではない)

フィクションでも荒唐無稽な説明をすると脈絡がなくなってしまう. その中でそれらしくなんとかして非日常をさもそうであるように説明しないと, 世界観を壊してしまいかねない. そういう努力がなされるわけである.

かつては死後の世界とか霊界とか,そういうので,そういうものか,とできたところがあるが, 現代はそういうようにサクッとできないところがある.

なので,まるっと,異世界,ということにしてしまえば,リセットできて, 何かそれらしく思えてしまうかもしれない.

虚数空間という言葉

虚数空間という言葉は複素数を日常的に扱っている人にとっては, 奇異な言葉に聞こえることだろう.

というのも虚数空間という用語がないからである. 複素平面ならあるが,決して虚数空間とは言わない (ハズ). とは言え,きっと複素平面のことだろうなぁ,と想像するわけである.

複素数のおさらい

話がだいぶ脱線してきたようだが,ここで複素数や虚数についておさらいしておこう.

湧き出てくる疑問

複素数 $z$ とは次の数だった.

\[z = x + i y ~~ (x,y\in\mathbb{R})\]

ここで $i$ を虚数単位といい, $y \neq 0$ なる $z$ を虚数という. そして $x=0$ なる $z$ を純虚数という. また $x$ を実部,$y$ を虚部という.

虚数単位 $i$ は実数ではなく,次を満たす数として定義される.

\[i^2 = -1\]

はい,これです.コイツです.でてきちゃいました. 同じものを掛けるとマイナスになるのです.驚きますよね. そこで次の疑問が湧いてくる.

$i$ が存在するのか?

と.

海外でもこの手の質問はとても盛り上がるようで, 万国共通の疑問だろう.

Do complex numbers really exist?

また複素数を imaginare (空想的な) と形容詞をつけて冷遇したのがDescartesであり, 虚数単位に $i$ を最初に用いたのがEulerとされている.

日本人と複素数

日本人が複素数を手にしたのはここ二十世紀に入ってからと言っても過言ではなく, このような疑問を抱くのは素直なところだろう. (これだけ切り出しても二十世紀は激動の時代だったことが想像できる)

和算の時代に関孝和は今で言うところの高次方程式を解いていたが, 彼は正の解のみを認めていた. 負の解がでてしまうことは認めつつも, 正の解をもたない題を病題,今で言うところの病的なものとして嫌った. そして虚数解が出ざるを得ない方程式に出くわすと, なんとかして正の解にならないかと努力したという.

和算史概論

和算含め,東アジアでは自力で複素数の概念に到達できなかった. それだけ難しい話なわけだ.

複素平面という平面

複素数は掛け算がとても重要.そのことを見て行こう.

平面とベクトル

さて複素数のことは忘れて,ここで二次元平面を考えてみよう. 平面上の点は $x$ と $y$ の二つの座標軸の値で一意に指定される. これをベクトルで書けば次のようになる.

\[\vec{v} = \begin{pmatrix} x \\ y \end{pmatrix}\]

このベクトルという考え方には複素数ほど疑問を挟むことはないだろう. 地図上の点を示しているとか,適当で身近な例がいくらでも思い浮かぶ.

このベクトルには足し算が次のように定義されている.

\[\begin{pmatrix} x_1 + x_2 \\ y_1 + y_2 \end{pmatrix}= \begin{pmatrix} x_1 \\ y_1 \end{pmatrix}+ \begin{pmatrix} x_2 \\ y_2 \end{pmatrix}\]

まぁこれも何のことはない.そして改めて書かないが引き算も定義されている. ところが掛け算が定義されていない.ここが重要である.

内積や外積があるじゃないか?

そういうご指摘があるかもしれない. しかしこれらは次の意味で欲しい掛け算になっていない.

  • 内積を取った結果はベクトルではなくなっている.
  • 外積を取った結果は平面に直行する方向へと,はみだしたベクトルになってしまっている.

ここで欲しい掛け算とは再び平面上の何かしらのベクトルになっているような掛け算である. おお,確かにない.

複素平面と複素数

それでは複素数の話に戻ってみよう. 複素数という数を視覚的に表す方法として複素平面を用いた方法がある. 複素平面とは複素数 $z=x+iy$ のを実部 $x$ と虚部 $y$ をそれぞれ水平方向と垂直方向にとった軸方向の値として描かれる平面である. 虚部の軸を虚軸と言って,$i,2i,3i,\ldots$ と刻んでいく.

このように複素平面は先に考えた二次元平面とほとんど同じである. 違いは虚軸であって,軸の目盛付を虚数単位で行うか点である.

またその甲斐あって,複素平面上の点は複素数そのものとなる. 複素数どうしの足し算・引き算はベクトルどうしの足し算・引き算と同様に並進移動になる.

そして複素数には掛け算があった.そう $i^2 = -1$ を用いた掛け算である. 複素数どうし掛け算した結果は再び複素数となり,回転移動に対応している.

複素平面と通常の平面

「ベクトルにも複素数と同じような掛け算を定義してやればどうなるの?」

という疑問が生まれるかもしれない. それは実際に次の積 $\star$ を定義することでできて, これによってベクトルは複素数と同じになるのである. このようなアイデアはHamiltonにまで遡る.

\[\begin{pmatrix} x_1 \\ y_1 \end{pmatrix}\star \begin{pmatrix} x_2 \\ y_2 \end{pmatrix}:= \begin{pmatrix} x_1x_2 - y_1y_2 \\ x_1y_2 + y_1x_2 \end{pmatrix}\]

これは何のことはなく,二つの複素数の積の結果を用いて定義しただけである.

ただ,普通は行列をベクトルに乗じることで二次元平面上の変換を記述するので, そのようなことはあまりしない. というのも線型ではなくなってしまい,ベクトル空間たりえなくなるからである. そういう非線形なものは次のように行列に押し付ける.

\[(x_1+iy_1)(x_2+iy_2) \cong \begin{pmatrix} x_1 & -y_1 \\ y_1 & x_1 \end{pmatrix} \begin{pmatrix} x_2 \\ y_2 \end{pmatrix}\]

行列であれば,行列積がそもそも標準的にあるので, 特別な積を仮定する必要がない.

もしくはベクトル空間を拡張して多元環を考えるということになる.

絶対値とノルム

ノルムのことをしばしば絶対値と読 (呼) んでしまうことがある. 記号もよく似ているので,この違いがいまいちピンと来ないかもしれない.

絶対値とノルムの (見つけやすい) 違いは乗算ができるかどうかである. 例えば絶対値であれば,$ x   y = xy $ であって,絶対値同士の積は,絶対値の引数同士の積の絶対値に等しい.つまり引数同士の積が可能であることを前提にしている.

複素数は複素数同士の乗算が定義されているので, この点,問題なく,絶対値を考えることができる.

ところがベクトルはベクトル同士の乗算が定義されていないから, 今述べている絶対値の性質を満たせない. つまりベクトルには絶対値がない. 何か似た概念があって,それがノルムになっているのだ.

つまるところは?

ここまでで複素数をどう考えたら良いか想像がつくことだろう. それは次のとおり.何ともあっけない.

  • 複素数は平面上の点である.
  • 複素数どうしの和や差は平面上の並進である.
  • 実数との積や商は平面上の拡大・縮小である.
  • 虚数単位との積や商は平面上の $\pm 90^{\circ}$ 回転である.

というわけで,平面上を歩き回っていれば,自然と複素数がそこにあるわけだ.

我々は虚数という言葉に踊らされてしまいがちだが, 以上のように二次元平面上の点と対応付けて考えることが望ましいだろう. 実際,複素平面を考案した (一人である) かの Gauss も次のように述べていた.

“That this subject [imaginary numbers] has hitherto been surrounded by mysterious obscurity, is to be attributed largely to an ill adapted notation. If, for example, +1, -1, and the square root of -1 had been called direct, inverse and lateral units, instead of positive, negative and imaginary (or even impossible), such an obscurity would have been out of the question.” — Carl Friedrich Gauss

虚部はどこにある?

複素数が二次元平面上のベクトルに乗法を追加した数であることを述べた. これによって平面上の点を複素数と同一視できることを述べた.

対応付け

さて,数とは数学的な概念であって, 「はい,これが『$3$』です.」 とはできない.

せいぜい, 「はい,これは『$3$』と対応付けられます.」 ができるくらいである.

とは言え,それでいい,というのが本音ではないだろうか. 例えば「コタツの上ににミカンが三個あります.」で, 『$3$』という概念を十分に感じられるだろう.

他のゼロや負の数,整数,有理数に無理数,そして実数についても, まぁ同じような調子で何が対応付けられているかを身近な例の範囲で理解可能だろう.

複素数についても平面上の点として合点がいったかもしれない. もしくは下記で述べているように,色と対応付けると自然に思うかもしれない. 適当な対応の下で,色々な色の薔薇が何本あるかを複素数で表してみるのも面白いだろう. ミカンの色に至っては黄色や緑色のレンジしかないから, 適当なブランチカットを入れて対応付けできるか考えるのは応用問題だろう.

複素解析での特異点とは

残った話

だが,そうはいってもその「平面」が自明でない場合が複素数についてはある.

というのも不思議なことは一次元の問題を考えているにも関わらず, 複素数を持ち出すことではないかと思われる.

例えばある実定積分を求めるのに, 変数の定義域を複素平面へと拡大して, 留数定理を用いて,そのある実定積分を求積するような場合である.

このような場合に虚部へは何が対応付けられたのだろうか?

ただただ単純に定積分を求める,という問題であれば, そういったことは気にしなくても計算の便宜で済ませられる. 端っから何も対応付けていないからである

しかし実数を我々の空間や時間軸と対応付けた場合には, 以下のようなことを考えはしたが, 残念ながら,私はこの疑問に対する上手い答えを持ち合わせていない.

物理量の複素化 (相空間での回転)

「途中の計算は最後の結果には表れないから考えても仕方がない.」 という立場をとるのが無難なところである.

複素数へ再訪

複素数に関連する話題について少し述べておこう.

複素数と行列

複素数をベクトルだけでなく,行列と以下のように対応させることができることを述べた.

\[z = x + iy \cong Z = \begin{pmatrix} x & -y \\ y & x \end{pmatrix}\]

この対応に対して,幾つかのことがわかる.

  • $1$ と $i$ は以下のように対応する.

\begin{eqnarray} 1 &\cong& E := \begin{pmatrix} 1 & 0 \ 0 & 1 \end{pmatrix}, \ i &\cong& I := \begin{pmatrix} 0 & -1 \ 1 & 0 \end{pmatrix} \end{eqnarray}

  • 複素数を表す行列どうしは可換である.
\[Z_1Z_2 = Z_2Z_1\]
  • 対応する行列の余因子行列は自身に一致する.
\[\mathrm{cofactor}(Z) = Z\]
  • 行列への基本的な演算が複素数への基本的な演算と対応する.
\begin{eqnarray} z^{-1} &\cong& Z^{-1}, \ z^* &\cong& Z^{\top} = PZP^{-1},~ P := \begin{pmatrix} 0 & 1 \ 1 & 0 \end{pmatrix} \ z ^2 &\cong& \det Z, \ z^2 + z^{*2} &\cong& \mathrm{perm} Z, \ \Re[z] &\cong& \frac{1}{2}(Z + Z^{\top}), \ \Im[z] &\cong& \frac{1}{2}I^{-1}(Z - Z^{\top}) \end{eqnarray}

以上のような対応は行列算法が複素数やその部分的な要素である実数へと閉じている場合に有効なものであって,例えばHadamard積のように積の結果が複素数に対応する行列集合に属さない場合には,複素数の何かしらとの対応物はない.

冪級数

複素数と二次元ベクトルは積があるかないかが重要な違いだった. 複素数には積があるため,例えば指数関数を冪級数として自然に導入できる.

\[e^z := \sum_{n=1}^{\infty} \frac{z^n}{n!}\]

二次元ベクトルではそうはいかない. 必然,$e^{\vec{v}}$ のようなものを見たことがないわけだ. 先にも述べたが,この辺りの一切は行列に押し付けるわけで, 行列の冪級数で指数関数を定義したりするのだ.

\[\exp[M] := \sum_{n=1}^{\infty} \frac{M^n}{n!}\]

これから次のような対応も見い出すこともできる.

\[e^{i\theta} \cong \exp[\theta I] = \begin{pmatrix} \cos\theta & -\sin\theta \\ \sin\theta & \cos\theta \end{pmatrix}\]

ここで面白いのは行列 $M$ は何も複素数を表すような行列集合の元に限らないという点である. そのような意味では複素数よりも有用なことが多々ある.例えば指数写像のように!

Exponential Map

次元

物理学では空間や時間そして質量といった量概念を次元でわけて自然界を記述しようとする. 例えば空間の次元を $L$ と時間の次元を $T$ とすれば, 速度の次元は $LT^{-1}$ といった具合である.

異なる次元の物理量は足し合わせることができない. 例えば $1$ m (メートル) と $1$ s (秒) は足すことはできない.

さてそれでは $z=x+iy$ という複素数の次元はどう考えればよいだろうか. これを考えるためには,複素数が二次元平面上のベクトルとして捉えることができることを思い出せばよい. ベクトルであれば,各成分に異なる次元の物理量を並べても良い.

つまり実部と虚部で異なる次元を持ちうるのである. このことからもわかるように虚数単位それ自身には次元という概念が付与されることはない. 虚数単位は基底ベクトルのようなもので,異なる次元の方向を指すものである.

ところで複素数はベクトルと違って,積が定義されていた. このため仮に異なる次元の物理量を実部と虚部で設定したとしても, 例えば虚数単位を乗じてしまえば,実部と虚部が入れ換わることになる.

すると次元の異なるものが混ざってしまって都合が悪い.

このため複素数で物理量を同時に二つ実部と虚部にあてがいたい場合は, 次元を揃えるか,異なる次元であれば何か次元を等しくとる (もしくは無次元化する) ための換算定数を仮定しなければならない.

例えば実部と虚部に空間と時間をあてがったら, 時間の方には何か速度の次元を持った定数を乗じて置かなければならない. 相対論では空間と時間が Lorentz 変換で混ざり合う時空という空間を考えなければならないが, その場合には光速度がそれら異なる次元を持った物理量を換算する定数としての役割を果たしている.

Riemann 面

ベクトルに特別な積を定義すれば,複素数と同一視できることを述べたが, 複素数には冪について多価性がある. この多価性を扱うために Riemann 面なる空間を考えるのだが, これと同じものをベクトルで扱って種々の計算を行おうとすると大変辛い (だろう). そういう意味でも二次元自由度を複素数で扱うことは経済的な選択といえる.

ギャップ

実変数の議論から複素変数への議論へと移行する際, 虚部が何であるのかハッキリと述べられないまま話が始まり,終わってしまうことも少なくない. 注意深くそして忍耐強く細部を追っていくと,虚部の意味が明らかになるものの一つに, 複素な不連続関数のギャップがある.

例えば Dirac は以下の有名な著書の中で次の式を披露している.

\[\frac{d}{dx}\log x = \frac{1}{x} - i \pi \delta(x)\]

敢えて原文ママに式を引用したが,この式をパッと見せられると困惑するであろう. そういう虚部の出方である. 実はこれは不連続関数に存在する不連続さが虚部に出ているのである. 微分不可能性が,ある種,代数的に表現できており, ここまでくると,複素数を機能的に理解しているかいないかには, 文明の差すら感じてしまうところである.

不連続関数のギャップ

参考


  1. 零(レイ)は「全く無い」もしくは「取るに足らないが僅かにある」という意味の語であり,「全く無い」だけの意味になっていない.このため $0$ を意味する語としては厳密には不適格であり,それを気にしてゼロと呼称することがある.