スポンサーリンク

ベクトルと複素数はどう違うの? ~どっちも座標を表現できるのに~

記事内に広告が含まれています。

個人的に、最近まで複素数とベクトルの違いが分かりませんでした。

その理由は、僕が次の2つのような(間違った)考えを持っていたからです。

  1. 座標を表せるんだから、結局どっちを使っても変わらないんじゃないの?
  2. 似たような計算ができるんだから、別にどっちを使ってもいいんじゃないの?

という2つです。上は座標について、下は計算についての考えですな。

つまり、座標を表現したいだけなら、複素数を(実部, 虚部)といった形式でベクトルとして表しても同じことではないかと思っていました。

別な言葉で表現すれば、「複素数はa+biと表現されるけど、それを(a, b)と表現したって同じなのではないか?」と思っていました。あるいは逆に、「(こと二次元に限り、)ベクトルは(a, b)と表現されるけど、それをa+biと表現したっていいじゃないか」と思っていました。

もちろん、「複素数に実数を足すことはできるのに対して、ベクトルに実数を足すことはできない」みたいに、物理学の問題を解いたりするのに必要な計算規則であれば理解できていました。

ですから、ベクトルを使ったときと複素数を使ったときとで、計算方法が変わることは理解できていました。ですが、「この計算に似たようなことって、複素数(あるいは、ベクトル)でもできるんじゃないの?」と思ってもいました。

ということで、今回はその疑問を少し考えてみようかと。

スポンサーリンク

疑問を考えていく道筋

冒頭のような伝え方では、まだ疑問を正確に表現できていませんから、もう少し説明します。

まずはメインテーマを一言で表して、この記事で考えたい疑問の根本的な部分を明確にしておきます。それは、「ベクトルと複素数は何が違うの?」になります(分かっている人からすれば、「逆に何をどう考えたらベクトルと複素数が一緒だと思えるの?」って感じでしょうが)。

その疑問を考えるに当たって、まずは似ている(と個人的に感じた)部分を説明します。似ている部分と違う部分の両方を明らかにすれば、「どういう部分が一緒だから似てると感じて、どういう部分が違ってるから似て非なる概念なんだな」と、理解しやすくなるだろうと思うからです。

似ている部分の一番の部分は、どちらも二次元(直角)座標を利用して表現されるという部分です。

僕が初めて複素数を教わったときは、座標平面のx軸とy軸を、それぞれ実軸と虚軸という名前に変更しただけにしか思えませんでした。

「座標を表すことは今までもできてたのに、どうしてわざわざ複素数なんて導入するんだろう?しかも、同じようなことをベクトルでもやってたし」みたいな感覚でした。

複素数にしてもベクトルにしても、座標を表現するための概念という考え方が僕の根本にあったのです。後になって思えば、それが大きな間違いでした。

その辺りの事情はまた後で説明するとして、次に、上記の疑問「ベクトルと複素数は何が違うの?」を考える前に、もう少し簡単な疑問も提示しておきます。

それは、「ベクトルと複素数を同一視してはいけないの?」という疑問です。

本題である「何が違うの?」という疑問に答えるには、具体的に「ベクトルは○○だが、複素数は△△だ」みたいな感じで、その違いを特定して説明する必要があります。

ですが、「同一視してはいけないの?」という疑問であれば、「Yes/No」で答えるだけで済みます。

後者の疑問では大雑把な理解にはなってしまいますが、それでも大体の大雑把になら(両手放しに褒められた考え方ではないものの、少なくとも間違っているとまでは言えない程度になら)理解できますし、白黒はっきりするので、おそらく前者の疑問に対する答えより分かりやすいとも思います。

ということで、先に「ベクトルと複素数は同一視してはいけないのか?」という話をしていきます。

ですが、先に説明した理由から、もう少し似ている部分を挙げておきます。

ベクトルには複素数と似ていると思える部分もある

ベクトルと複素数の”似た部分”の一つは、一つ上の節でもお伝えした通り、「どちらも二次元座標上に表現される」という部分です。

それ以外にもいくつか、個人的に似ていると思う部分がありますが、その似ている部分を説明するために、今日で言う所の”ベクトル”なる概念の生い立ちを考えてみます。ベクトルは『数学の歴史』(Victor J. Katz)によると、次のような経緯で生み出されたそうです。

  1. ハミルトンにより四元数(複素数の3次元版みたいなものです)が考案される
  2. マクスウェルが電磁気学を四元数で表現する
  3. ギブスが「結局使ってるのは内積と外積だけじゃね?ってことは、その内積と外積さえ定義できれば、四元数なんて必要なくね?」と気づく
  4. ギブスが内積と外積を定義できるような概念として、「ベクトル」なる概念を生み出す

※ちなみに、その概念にベクトルという単語を当てたり、x、y、z軸方向の単位ベクトルとして\( \boldsymbol{i} \)、\( \boldsymbol{j} \)、\( \boldsymbol{k} \)という文字を当てたりしますが、それは四元数の用法が元になっているらしいです。

複素数そのものではありませんが、複素数を3次元に拡張したような概念として四元数が考え出されて、その四元数の一部の性質だけを引き継いだ概念としてベクトルが考え出されたということになります。

マクスウェルは彼の著書『電磁気学』で物理現象を四元数で記述していたらしいので、実際はどうか分かりませんが、もしかしたら(計算は複雑化するものの、やろうと思えば)古典物理学は四元数を利用して記述できるのかもしれませんね。

さて、ベクトルの元になったと説明した概念として、四元数という概念が出てきて、その”四元数”なる概念を「複素数を3次元に拡張したような概念のこと」と説明していました。

単純に「複素数を3次元に拡張した概念(あるいは、複素数の3次元版、3次元化された複素数など)」と説明した方がすっきりした説明のような感じがしますが、わざわざ回りくどい言い回しをしている理由があります。

その理由とは、「四元数では積の交換法則が成り立たない」という理由です。

複素数では、xとyという何かしらの複素数が2つあったら、その積は\( xy \)としても、\( yx \)としても、変わりませんでした。つまり、\( xy = yx \)です。積の順序を交換しても、計算結果が変わらないので、「複素数では積の交換法則が成り立つ」ということになります。

ですが、四元数ではそのように積の順序を入れ替えると値が変わってしまうのです。つまり、xとyがどちらも四元数だったら、\( xy \neq yx \)なのです。つまり、「四元数では積の交換法則が成り立たない」ということになります。

※本当にそうなのかは、他のサイトや文献を読んでください。とりあえずここでは、証明なしに「複素数では積の交換法則が成り立つ」と「四元数では積の交換法則が成り立たない」が正しいと受け入れることにします。

そのため、単純に「複素数の3次元版だ」と説明するのではなく、あくまでも「複素数を3次元化した”ような”概念」と説明をしていました。

四元数では積の交換法則が成り立たないわけですが、これと似たような話を聞いた覚えはないでしょうか。ベクトルの外積の話ですね。

ベクトルの内積では積の順序を入れ替えても計算結果が変わりませんが、外積では積の順序を入れ替えてしまうと、計算結果が変わってしまいます。

外積という観点からすると、交換不可能という意味で、ベクトルと四元数は似ている部分だと思います。

ただし、複素数は積の順序を交換できるので、外積という観点からすると、複素数とベクトルは似ていないことになります。なので、「ベクトルと複素数の違い」をテーマとしている今回の記事には不適切な話題かもしれませんが。

次に、和を考えてみます。

複素数の和は、実部と虚部それぞれの和として定義されていました。\( x = a+b\boldsymbol{i} \)、\( y = c+d\boldsymbol{i} \)という2つの複素数に対して、\( x+y = (a+c)+(b+d)\boldsymbol{i} \)でした(四元数も同じような定義になっています)。

それに対して、ベクトルの場合は各成分を足した結果が和として定義されていました。\( \boldsymbol{x} = (a, b) \)、\( \boldsymbol{y} = (c, d) \)という2つのベクトルに対して、\( \boldsymbol{x} + \boldsymbol{y} = (a+c, b+d) \)でした。

複素数の実部と虚部をそれぞれベクトルの一つの成分に対応させて考えると、ベクトルの和とよく似ていると思います。

複素数だけでなく、複素数を拡張したような四元数にまで話が及んでしまいましたが、似ている(と思う)部分をまとめると、

  1. 二次元座標として表せる
  2. 和の計算方法
  3. 積、特にベクトルの外積が非可換なことと四元数の積が非可換なこと

ベクトルの内積は交換可能で、複素数(四元数ではなく)は交換可能という意味で、ベクトルの内積は複素数の積に似ているような気もします。

さて、ここまでは似ている部分を説明してきましたが、次は違っている部分を説明します。

スポンサーリンク

でもやっぱり、ベクトルは複素数(あるいは四元数)とは違う概念だ

前の項で、ベクトルが複素数と似ている部分を説明しましたが、その最後の方で「和」という演算を考えました。ですが、中には「あれっ、積の話がない」と思った方もいると思います。

積については、ベクトルと複素数でまったく違っています。

2つの複素数\( x = a + b\boldsymbol{i} \)と\( y = c + d\boldsymbol{i} \)の積は、\( xy = (a+b\boldsymbol{i})(c+d\boldsymbol{i}) = (ac-bd) + (ad + bc)\boldsymbol{i} \)というように定義されていました。

それに対して、ベクトルには複数の積(内積と外積)が定義されていました。この時点でもすでに違いがあります。

※どうやら、外積とベクトル積も違うものだそうです。その辺りの事情はまだ勉強したことがないので分かりません。

具体的な計算は、内積が\( \boldsymbol{x} = (a, b) \)と\( \boldsymbol{y} = (c, d) \)に対して、\( \boldsymbol{x} \bullet \boldsymbol{y} = ac + bd \)となっていました。外積は2次元ベクトルに対しては定義されません。

商もかなり違います。

複素数では\( x = a + b\boldsymbol{i} \)と\( y = c + d\boldsymbol{i} \)に対して、\( \frac{x}{y} = \frac{ a + b\boldsymbol{i} }{ c + d\boldsymbol{i} } = \frac{ ( a + b\boldsymbol{i} ) ( c – d\boldsymbol{i} ) }{ ( c + d\boldsymbol{i} ) ( c – d\boldsymbol{i} ) } = \frac{ (ac + bd) + (ad – bc)\boldsymbol{i} }{ c^2+d^2 } \)となります。

それに対して、ベクトルではそもそも商は定義されません。

そして、一つ上の節で、ベクトルの内積・外積と、複素数・四元数の似ている部分を考えました。このことは暗に、「ベクトルには複数通りの積を考えることができる」ことと、「複素数・四元数には一通りの積しか考えることができない」ということを意味しています。

つまり、以上をまとめると、ベクトルと複素数(あるいは、四元数)では、その演算構造が違っていると言えます。

数学的には、演算構造(ここでは、定義される演算や、その具体的な定義を演算構造と呼ぶことにします)が違っていると、それは違った概念(あるいは体系)だとみなされます。そのため、演算構造が違っているベクトルと複素数は、(実用上はどうかはさておいて、少なくとも)数学的にまったく違った体系を持っているということになります。

なので、「ベクトルは複素数と何が違うの?」という疑問には、一つ「演算構造が違う」という答えが考えられます。

ですが、個人的には他の答え方をしたいです。

というのも、僕は数学科の人間ではなく、数学を利用して現象を解析する側の人間です。そのせいか、「演算構造が違う。だから違った概念だ」と説明されてもあまりピンとは来ないのです(もちろん、その数学的な違いを意識しておく必要はあるでしょうが)。

「演算構造が違ったとしても、(具体的な演算方法は違ったとしても、)最終的に同じような解析結果を得られるのであれば、(数学的にはまったくの別物なのだろうけども、)物理学やその他の工学などからすれば、結局はどっちもそんなに違わない概念なんじゃないの?」と思ってしまうのです。

なので、もう少し数学を応用する側から見た違いを挙げて答えとしたいです。

応用する場面での違い

ここまでの項で、「ベクトルは複素数と似てると言える部分もあるものの、数学的には別物だ」という話は理解していただけたと思います。

その応用場面として、高次の点を表現したいという場合を考えてみます。つまり、点がxy座標の(1, 2)にあるみたいなものを表現したいということですな。

仮にその座標を複素数を利用して表そうとすると、\( 1 + 2\boldsymbol{i} \)となります。

それに対してベクトルなら\( (1, 2) \)となります。

次に、さらに次元が増えたと考えてみてください(ここでは物理学みたいな数学を応用する立場からの話をしているので、「ある点を記述するのに必要な数の個数が増えたと考えて下さ」などと表現した方が正確なのかもしれませんが)。

つまり、3次元、4次元と、どんどんと次元が大きくなっていったときに、座標の表示はどうなるかを考えてみてください。例えば、xy座標にz座標という縦軸を追加したり、さらにtという時間軸を追加したりといったようなことです。

そのように次元を増やしていったとき、複素数”のような”数体系でその座標を表現しようとすると、どんどんと数としての体系自体が変わっていきます。

それは、実数だけでは2乗して-1となるような数を考えられないけど、複素数上ではそのような数を考え得るとか、複素数上では積の交換法則が成り立ったけど、四元数では成り立たないみたいな感じで、演算体系が変わっていくことになります。

つまり、考える次元が増えていけばいくほど、許されている演算と、許されていない演算が変わっていくことになります。

そのため、次元が増えていくと、同じように演算できる保証が無くなってしまいます。物理学では、世界は4次元とか、もっと高次を扱わないといけないなどと言われていますから、それは困ります。

それに対して、ベクトルの場合は次元が上がっても同じように定義される演算があります(外積は1、3、7次元のベクトルにしか定義できないらしいので、次元が変わると定義が変わる演算もありますが。ただ、外積に関しては、どうやら定義できる3次元が異常で、1、3、7次元以外の一般の次元には定義できないらしい?)。

このことから考えると、応用場面から見たベクトルと複素数(あるいは、複素数”のような”数体系)の違いとして、「次元の増減に対する演算構造の変化」という違いが挙げられると思います。

さらに他の違いとして、オイラーの公式の存在が挙げられると思います。

オイラーの公式とは、\( e^{i \theta} = cos \theta + \boldsymbol{ i } sin \theta \)という式のことです。

つまり、複素数を利用することで、三角関数を利用して表されるような周期的な現象(例えば、波)をより簡潔に記述することができます。

波を解析する場合は、その位相や周波数、振幅の大きさが議論の中心となるのですが、オイラーの公式を利用すれば、それらの構成要素をきわめて簡潔に表現できます。

波をベクトルと行列で解析しようと思うと、回転行列を利用することになるので、かなり計算が面倒になります。ですが、複素数を利用すれば(というか、オイラーの公式を利用すれば)簡潔に書くことができ、計算も簡単にできるそうです。

ここら辺の事情はあまり詳しくは無いので、間違っているかもしれませんが。

ただ、何かしらの応用(例えば波の解析)で、ベクトルではなく複素数を利用した方が、コンピュータでの計算コストを減らせるというのであれば、実用上はベクトルと複素数に違いがあると言えます。

その場合、冒頭にある疑問の内、「座標を表せるんだから、結局どっちを使っても変わらないんじゃないの?」については「確かにその通り」、「似たような計算ができるんだから、別にどっちを使ってもいいんじゃないの?」については、「計算コストが違うから、どっちを使ってもいいというわけではない」と答えられそうです。

まとめ

今回は、次の2つの僕が持っていた疑問から出発して、ベクトルと複素数(そして、四元数、複素数の”ような”数体系)の関係を考えてみました。その疑問とは次の通りでした。

  1. 座標を表せるんだから、結局どっちを使っても変わらないんじゃないの?
  2. 似たような計算ができるんだから、別にどっちを使ってもいいんじゃないの?

これらの疑問を解決するために、「ベクトルと複素数は何が違うのか?」という問いを考え、その問いを考えるために、まずは簡単な問い「ベクトルと複素数は同一視してはいけないのか?」を考えました。

その簡単な方の問いから始まって、1. 似た部分の確認、2. 違う部分の確認、3. 応用上での違いの確認、という順序でベクトルと複素数は違う概念だということを確認してきました。

その結果分かった違いをまとめると次の通り。

  1. 定義されている演算の構造が違う
  2. 複素数の”ような”数体系は、座標の次元(というか軸)を増やそうとすると演算構造が変わる
  3. そのため、次元の増減に対する柔軟性が違う
  4. 複素数を考えると、オイラーの公式により計算コストを減らせる(かもしれない)

そして、そのうちの1と2を数学的な違いとして説明して、3と4が応用上の違いとして説明しました。

ということで、冒頭に挙げた2つの疑問(というか、僕が元々持っていた考え)を解決しましょう。

疑問1に対しては、「たしかに複素数のような数体系を利用しても座標を表せるかもしれないが、その後の計算の定義に十分に注意する必要がある(上記の違い1と2より)ので、任意の次元を考えたいときはベクトルの方が良さげ」ということになりそうです。

疑問2に対しては、「たしかに似たような計算ができることもあるが、その場合でも計算コストが違う可能性があるから、場合によって使い分けた方がいいかもしれない」ということになりそうです。

 

P.S. 個人的には、今回色々と調べていく中で、外積の定義できるベクトルとか、複素数みたいな数体系にも興味が出てきたので、もうちょっと勉強してみたいなと思いました。

なんでも、グラスマン代数なるものがあるそうな。難しそう(でも、ワクワクする)。

タイトルとURLをコピーしました