当サイトではアフィリエイトプログラムを利用して商品を紹介しています。

ハミルトンの四元数

ハミルトンの四元数

四元数(quaternion)はアイルランドの数学者ウィリアム・ローワン・ハミルトン (William Rowan Hamilton) によって考案されました。物理を学んでいる人にとっては解析力学の「ハミルトン形式」などでおなじみの人物です。

ちなみに「よげんすう」ではなくしげんすうと読みます。かくいう私も以前は「よげんすう」と読んでいました。だって「4次元」は「よじげん」て読むしね(というバカな言い訳)。こういう読み間違えは、かなり恥ずかしい思いをするので、今のうちに読み方をしっかり覚えておきましょう。

四元数は複素数を拡張した概念で

Q = a + bi + cj + dk

という形で記述されます。数の単位が (1, i, j, k) と4つあるので四元数とよぶのです。ちなみに複素数は (1, i) の2つの単位で表される数なので「二元数」ということになります。 i, j, k は複素数における虚数単位と同じく

i2 + j2 + k2 = -1

という性質があります。また i, j, k は積に関して互いに非可換で

ij = -ji = k
jk = -kj = i
ki = -ik = j

という演算規則を満たしています。この四元数を用いると複素数の範囲では分解できなかった4数の平方和を

a2 + b2 + c2 + d2 = (a + bi + cj + dk)(a - bi - cj - dk)

と因数分解することができます。「本当かなあ?」と思う人は丁寧に展開して試してみてください。

四元数発見の経緯

とある日のこと。ハミルトンは勤め先のアイルランド王立アカデミーへ足を向けながら
「なんとかして複素数を三次以上に一般化できないだろうか?」
とあれこれ考えていたのですが、ブルーム橋にさしかかった所で
「そうか! わかったぞ!」
と、ついに四元数の概念をひらめいて、嬉しさのあまり公式を橋の石に刻みつけたそうです。それは現代でも碑文として大切に保存されています。

その後のハミルトンは四元数を実用化するための研究に没頭しましたが、少しばかり時代が早すぎたのか、周囲に理解されることはなかったようです。四元数が日の目を見ることになったのは、テクノロジーの発達する20世紀になってからのことです。四元数は3次元空間における回転を表現するために非常に有用な記述法であり、宇宙機の航行を制御するソフトウェアを始め、ロボット工学、分子動力学、3D コンピュータグラフィックスといった分野で活用されています。

エクセルや数学に関するコメントをお寄せください

  1. あとりえこばと より:

    [GPT-3.5] ウィリアム・ローワン・ハミルトンはアイルランドの数学者、物理学者で、数学と物理学の両方において革新的な業績を残した人物です。彼は1805年にアイルランドのダブリンで生まれ、1844年にダブリン大学トリニティ・カレッジで数学の教授として働きました。

    ハミルトンは幅広い分野で業績を残しましたが、最もよく知られるのは四元数の発見です。四元数の発明により、複素数を一般化し、新たな数学的な構造を生み出しました。彼の四元数の考え方は、現代の物理学や工学における空間の表現や幾何学的な操作に大きな影響を与えました。

  2. あとりえこばと より:

    【AI連載小説】数学のリズム、エクセルの旋律(43)
    「ハミルトンの四元数をVBAで実装してみよう」
     
    真琴:「みんな、今日はハミルトンの四元数についての面白いプログラムを考えてみないか?」
    研伸:「いいアイディアだね。四元数って面白そうだし、VBAで実装するのも挑戦だな」
    隆治:「どんな機能を持ったプログラムにしようか?」
    月子:「たとえば、四元数同士の加算や乗算、共役や逆元の計算ができるようなプログラムがいいんじゃないかな?」
    真琴:「それなら、四元数の型を定義して、基本的な演算を関数で実装していけばいいんじゃないか?」
    研伸:「そうだね。型の定義と演算の関数って感じか」
    隆治:「それに加えて、四元数同士を使った具体的な計算例を見れるようにすると良いかもしれないね」
    月子:「エクセルを使ってグラフィカルに表示できれば、理解しやすくなるかもしれないね」
    真琴:「では、まずは四元数の型を定義し、それに基づいて演算を関数で実装することから始めよう。それぞれが担当する部分はどうする?」
    研伸:「私は型の定義をやってみるよ」
    隆治:「演算の関数は俺がやろう」
    月子:「私はエクセルでの可視化を担当するね」
    真琴:「それじゃあ、みんなで協力してハミルトンの四元数をVBAで実装しよう!」