かけ算九九のテンソル

かけ算九九の表を平らな机の上に置いて、それぞれのマス目に答の高さの棒を立てたなら、
できあがった3D棒グラフはどんな形をしているでしょうか?
例えば2x3のマス目に6cmの棒を、5x6のマス目に30cmの棒を立てる、といった具合です。
答を先に見る前に、ちょっと想像してみてください。


   ・
   ・
   ・
   ・
   ・
   ・
   ・
   ・
   ・
   ・


例えば2の段であれば、2x1=2, 2x2=4, 2x3=6 ・・・と、傾きが2の直線になります。
3の段であれば、3x1=3, 3x2=6, 3x3=9 ・・・と、傾きが3の直線になるでしょう。
ということは、この3D棒グラフを横に切ったなら、切り口は直線になっている、ということです。
かけ算は順番を逆にしても答は同じなので、つまり 2x3 = 3x2 なので、
3Dグラフは縦と横を入れ替えても同じ形になっているはずです。
ということは、3Dグラフを縦に切った切り口も、やはり直線になります。
かけ算九九は1の段から9の段までで成り立っているので、
この3Dグラフは縦横9本ずつの直線から構成されていることになります。
では、この3D棒グラフを斜め45度の対角線で切ったら、切り口はどうなるでしょうか。
対角線のところは 1x1=1, 2x2=2, 3x3=9, 4x4=16・・・ ということで、数の2乗、つまり放物線となっています。
なので、3Dグラフは直線で構成されているにもかかわらず、全体としては曲面になっているのです。
今度は3Dグラフを机と平行に、水平に切ったなら、切り口はどうなるか。
例えば高さ12のところで切ったなら、
 1x12=12, 2x6=12, 3x4=12, 4x3=12, 6x2=12, 12x1=12 ・・・
なんとなく形が見えてきたでしょうか。
水平に切った切り口は、かけ算の積が一定となる曲線、つまり双曲線です。
かけ算九九の3Dグラフは、こんな形をしています。

棒グラフの先端が描く面は「双曲放物面」と呼ばれています。
その名の通り、水平に切れば双曲線、垂直に切れば放物線となっています。
小学校で習うかけ算九九はプラスの数に限られていますが、ここではマイナスの側にも広げて描いてあります。
グラフを眺めると、かけ算九九がマイナス側にも滑らかに、対称的に広がっていることが見て取れます。
これがマイナスxマイナス=プラスになる(1つの)理由です。

双曲放物面は、数式で書けば
   z = x^2 - y^2
といった形の二次曲面です。
不思議に思えるのは、こんな形の二次曲面の切り口が直線になる、というところです。
実際、双曲放物面をxy平面上で切ると、x^2 - y^2 = (x + y)(x - y) = 0 ですから、直交する2本の直線になります。
私はどうもこの曲面から直線が出てくる、という事実が直観的に理解できなかったのですが、
実は「かけ算九九」なのだと知って、ようやく納得できました。

この曲面を実際の形にした置物があります。

上野の科学博物館の売店で見つけました。確かに直線パーツの組み合わせで出来ています。

双曲放物面が「直線を編み込んだ形」であることに気づけば、そこにちょっと面白い性質が見えてきます。
いま、かけ算九九の縦横9本ずつ、合計18本のまっすぐな針金のような線を編み込んだ面を想像してみてください。
この針金の隣り合う2本、例えば2の段の針金と、3の段の針金の端をつまんで、グィーッとねじってみましょう。
2の段と3の段では傾きが1だけ違うので、この1だけ違っているねじれを無くすように、平らにねじってやります。
すると、2x3のマス目が平らになる代わりに、さっき1x1付近で平らだったマス目が、
今度は2x3の反対側の位置にねじれて移動ことになります。

この図で分かるでしょうか。
2x3のマス目と、1x1のマス目とは、本来平等というか、お互い様というか、
“ねじれを通じて対等な立場”にあったのです。
1x1のマス目に立って、2x3のマス目を眺めると、
 「2x3のマス目は、なんだかひしゃげているなあ・・・」
と思うわけです。
ところが立場を変えて、今度は2x3のマス目の住人になって1x1のマス目を眺めると、
・・・つまり、2x3の方を平らにするように全体をねじってやると・・・
 「1x1のマス目は、俺たちに比べて、なんだか歪んでいるなあ・・・」
と思うわけです。
実際には、どちらが一方が正しくて、どちらか一方が歪んでいるわけでは無いのです。
あるのはお互いの歪みを是正する「面全体のねじり方」だけなのです。

ここでいきなり話が飛躍しますが、いま想像した「面全体のねじり方」は、一般相対性理論において重要な役割を果たします。
双曲放物面では2次元の歪みを是正する「ねじり方」を想像しましたが、
次元を上げて「空間3次元+時間1次元」の、合計4次元の「ねじり方」を扱うのが一般相対性理論なのです。
そしてこの「ねじり方」のことを一般相対論では「テンソル」と呼んでいます。

(2階の)テンソル(場)の説明の仕方にはいろいろありますが、
私は「空間の各点において、矢印x矢印が定められているもの」というイメージを持っています。

空間の各点において、1個ずつ数値が割り振られているのが「スカラー場」です。
たとえばある部屋の温度が均一ではなくて、窓際が暖かく、床付近が冷たいといった状況であれば、
それぞれの場所の温度は「スカラー場」になっています。
空間の各点において、1本ずつ矢印が割り振られているのが「ベクトル場」です。
たとえば風の流れや、電場、磁場などは「ベクトル場」です。
ここでもう1歩ステップアップして、空間の各点において、矢印が2組ずつ割り振られているようなモノがあったらどうか。
それが「テンソル場」なのです。
矢印が2組あるモノって、何だろう?
その最たる例が「空間のねじれ方」です。
例えば双曲放物面の場合(2次元の面の場合)、テンソルは具体的には4個の数値で表すことができます。
 横方向について、針金の広げ方と、ずらし方。
 縦方向について、針金の広げ方と、ずらし方。
この4個の数字を2x2の行列で表現したものが、2階のテンソルです。
もし空間の各点において、矢印が3組ずつ割り振られているようなモノがあったとしたら、
それは「3階のテンソル場」ということになります。
ただ、物理的に分かりやすい3階テンソルの具体例があるかというと、私にはちょっと思いつきません。
以降、矢印の数を増やすだけなら、4階、5階、いくらでも大きなテンソルを考えることができます。

ここで言う矢印=ベクトルとは、1列に並んだ複数個(2次元なら2個、3次元なら3個)の数字で表されるものです。
プログラム風に言えば一次元配列です。
2階のテンソルに登場する「2組の矢印」とは、正しくは行x列に並んだ複数個の数字のことです。
プログラム風に言えば二次元配列のことです。
2階のテンソル場とはつまり、空間の各点に行列が張り付いているものだと思えば良いわけです。
3階のテンソルに登場する「3組の矢印」とは、行x列x高さといった具合に並んだ複数個の数字のことです。
プログラム風に言えば三次元配列のことです。
テンソルと行列は何が違うのかというと、行列はテンソルの表現手段です。
テンソルは行列で表すことができますが、適当に縦横に並べた数字が全てテンソルになるわけではありません。

 # 空間の次元の数と、テンソルの階数は別ものです。
 # ちょっとややこしいのですが、3次元空間のねじれ方は、
 #  縦方向について、 x, y, z 3つのずらし方。
 #  横方向について、 x, y, z 3つのずらし方。
 #  高さ方向について、x, y, z 3つのずらし方。
 # で、3x3行列で2階のテンソルになります。
 # 相対論に登場する4次元時空の曲がりを表すテンソルは、4x4行列で2階のテンソルです。
 # 3次元だから3階のテンソル、というわけでは無いので、図に騙されないように。

ベクトルとテンソルには、次のような定義もあります。

 「物理のための数学」(岩波物理入門コース10) より、一部編集して引用.

私が最初にこの定義を見たときは、何言ってんだかさっぱり理解できませんでしたよ、、、
この定義のこころは何かというと、
 「物理的に不変な実体がある」
ことが言いたかったのです。
ある空間の上に、実在として不動のベクトル(矢印)があったとして、
それが「不動である」ことを、数学的にどう表現するか。
思い至ったのは、
 「どこから眺めても、常に同じ方向を向いている」
ということだったのです。
これを数学の言葉で表現すると、
 「座標変換しても、成分が座標に合わせて変わるため、実体は常に同じ方向を向いている」
となります。
これが、上のベクトルの定義です。
このベクトルの定義を、二次元配列に拡張したのが、テンソルの定義です。すなわち、
 「座標変換しても、成分が座標に合わせて変わるため、実体が常に同じになるような二次元配列」
以上をまとめると、N階のテンソル(場)とは、
 「空間の各点に張り付いていて、座標変換に対して、実体が常に同じになるようなN次元配列」
となります。
Wikibedia のテンソルには、こんな記述がありました。wikipedia:テンソル
「物理学者や技術者たちはベクトルやテンソルが(勝手に選べてしまうような)座標系に左右されない概念としての重要性を認識した。」

今、上で挙げたのは、正しくは「反変テンソル」です。
何が「反変」なのかというと、「座標変換の反対向きに動く」からです。
座標変換の反対向きに動く、ということは、実体は不動であるということです。
首を右に傾けて見たら、風景は左に傾いて目に映るってこと。
(この「反変」という言い方は、個人的にはとてもわかりずらいなと思っています。
 気持ちの上では「不動テンソル」とか、「実体テンソル」などと言いたい。)
「反変テンソル」があるなら、その反対の「共変テンソル」というものもあります。
詳しいことは省きますが、とにかくテンソルの定義としては、
反変、共変、その2つを合わせた混合まで含めて、ようやく全てとなります。

ベクトルには矢印というビジュアルな表現がありますが、
残念ながらテンソルには、これぞといった視覚的表現が思い当たりません。
そんな中で唯一、直観的にテンソルを見て取れるのが「ねじって動く双曲放物面」だと思うのです。
誰か針金で実物を作ってくれないかなぁ。