今回は、多少の我慢が必要かもしれない。話が少し複雑。
とは言え、ある意味、最も重要な話。先に話が進まない。
さて、まずは復習。
「行列」の「足し算」と「引き算」は、それほど難しくなかった。
要するに、同じサイズの2つの行列が存在したとして、
同じ場所にある成分同士で「足し算」するのであった。
このような、2つの行列が存在したとき、
「行数」は、 であり、「列数」は、 となる。
そして、「行列X」における「不特定番目」の「成分」と、
同様に、「行列Y」における「不特定番目」の「成分」の「足し算」は、
である。つまり、同じ場所同士の成分を足しているだけ。
「引き算」も同様。同じ場所同士の成分を引けば良い。
ここまでは、流石に理解できているはず。
さて、ここからが問題である。基礎編では最難関の山場。
ここさえ、クリアできれば、後はかなり楽になる。
では、行列の「掛け算」というのをやってみる。
とりあえず、「3行1列」の行列と、「1行3列」の行列を用意する。
うん?、1行?? 1列?? となった人、正解。
これは、どういった、状況であるか?
「イヤヨ(184)クロウハ(968)」で考える。
「横一列の行列」とは、「横ベクトル」そのものであり、
「縦一列の行列」は、「縦ベクトル」である。確かに、そのようであった。
まずは、ベクトルの掛け算から始めることにする。
さて、なぜ「行列」の「掛け算」が難しいのか?
その理由は、「足し算」と「引き算」のように、
同じ場所の成分同士を計算するわけではないからである。
掛けられる行列は「横方向」に、掛ける行列は「縦方向」に「掛けて」、
結果を「足す」。という操作を必要とする。
先程の「横ベクトル」と「縦ベクトル」の計算をやってみる。
つまり、このようになる。横ベクトルでは、左から右に向かって進みながら、
縦ベクトルでは、上から下に向かって足し算をする。
折角なので、次のような例もやってみる。
「イヤヨ(184)イヤヨ(184)もナントカの内」。
気づいた人もいるかもしれない。ベクトルの「掛け算」を応用すると、
同じベクトルの、転置の掛け算は、二乗して足し合わせることができる。
これを「二乗和」と呼び、行列を用いた様々な演算の中で頻繁に登場する。
手計算では、有難味というのは湧かないが、
コンピュータで計算するときに重宝する。これが重要。
ところで、この例では、同じベクトルを「横」と「縦」にしてある。
これを「転置(transpose)」と呼び、「ベクトル」と「行列」では頻繁に登場する。
また、このような計算を慣例的に次のように表す。
ベクトルの計算で、この記号が出てきたら、
つまりは、「二乗和」の計算をしている。
「横」と「縦」に計算する。なるほど、大体は理解できた。それほど難しくはない?
注意するべき点が2つある。ここからが、混乱の原因。
まず一つ目。掛けられる行列の「行数」と掛ける行列の「列数」の一致。
したがって、次のような、計算はできない。「イヤ(18)!ハシゴ(845)酒は」
上から順番に計算していくと、「5」を掛ける数が無い。
したがって、このような場合には計算ができない。
この約束事は、ベクトルだけでなく、「行列」にも当てはまる。
そして、二つ目。掛ける順番は変えてはいけない、という原則。
スカラーでは、気にする必要は無かった。というのは、
であった。しかし、「ベクトル」や「行列」の場合は、そうは行かない。
このように、結果が「行列」となってしまい、計算結果が異なる。
したがって、「行列」においては、次のことが言える。
「イヤヨ(184)クロウハ(968)」と「クロウハ(968)イヤヨ(184)」
両者は、似て非なるものである。
したがって、次の場合にも注意が必要である。
両方とも、統計や数学の教科書に頻繁に登場するが、
両者は、全く異なっているのであって、混同してはいけない。念の為に、確認しておく。
以上が、行列の「掛け算」の導入の話。次からは、実際に「R」での計算を実践してみる。
とは言え、ある意味、最も重要な話。先に話が進まない。
さて、まずは復習。
「行列」の「足し算」と「引き算」は、それほど難しくなかった。
要するに、同じサイズの2つの行列が存在したとして、
同じ場所にある成分同士で「足し算」するのであった。
このような、2つの行列が存在したとき、
「行数」は、 であり、「列数」は、 となる。
そして、「行列X」における「不特定番目」の「成分」と、
同様に、「行列Y」における「不特定番目」の「成分」の「足し算」は、
である。つまり、同じ場所同士の成分を足しているだけ。
「引き算」も同様。同じ場所同士の成分を引けば良い。
ここまでは、流石に理解できているはず。
さて、ここからが問題である。基礎編では最難関の山場。
ここさえ、クリアできれば、後はかなり楽になる。
では、行列の「掛け算」というのをやってみる。
とりあえず、「3行1列」の行列と、「1行3列」の行列を用意する。
うん?、1行?? 1列?? となった人、正解。
これは、どういった、状況であるか?
「イヤヨ(184)クロウハ(968)」で考える。
「横一列の行列」とは、「横ベクトル」そのものであり、
「縦一列の行列」は、「縦ベクトル」である。確かに、そのようであった。
まずは、ベクトルの掛け算から始めることにする。
さて、なぜ「行列」の「掛け算」が難しいのか?
その理由は、「足し算」と「引き算」のように、
同じ場所の成分同士を計算するわけではないからである。
掛けられる行列は「横方向」に、掛ける行列は「縦方向」に「掛けて」、
結果を「足す」。という操作を必要とする。
先程の「横ベクトル」と「縦ベクトル」の計算をやってみる。
つまり、このようになる。横ベクトルでは、左から右に向かって進みながら、
縦ベクトルでは、上から下に向かって足し算をする。
折角なので、次のような例もやってみる。
「イヤヨ(184)イヤヨ(184)もナントカの内」。
気づいた人もいるかもしれない。ベクトルの「掛け算」を応用すると、
同じベクトルの、転置の掛け算は、二乗して足し合わせることができる。
これを「二乗和」と呼び、行列を用いた様々な演算の中で頻繁に登場する。
手計算では、有難味というのは湧かないが、
コンピュータで計算するときに重宝する。これが重要。
ところで、この例では、同じベクトルを「横」と「縦」にしてある。
これを「転置(transpose)」と呼び、「ベクトル」と「行列」では頻繁に登場する。
また、このような計算を慣例的に次のように表す。
ベクトルの計算で、この記号が出てきたら、
つまりは、「二乗和」の計算をしている。
「横」と「縦」に計算する。なるほど、大体は理解できた。それほど難しくはない?
注意するべき点が2つある。ここからが、混乱の原因。
まず一つ目。掛けられる行列の「行数」と掛ける行列の「列数」の一致。
したがって、次のような、計算はできない。「イヤ(18)!ハシゴ(845)酒は」
上から順番に計算していくと、「5」を掛ける数が無い。
したがって、このような場合には計算ができない。
この約束事は、ベクトルだけでなく、「行列」にも当てはまる。
そして、二つ目。掛ける順番は変えてはいけない、という原則。
スカラーでは、気にする必要は無かった。というのは、
であった。しかし、「ベクトル」や「行列」の場合は、そうは行かない。
このように、結果が「行列」となってしまい、計算結果が異なる。
したがって、「行列」においては、次のことが言える。
両者は、似て非なるものである。
したがって、次の場合にも注意が必要である。
両方とも、統計や数学の教科書に頻繁に登場するが、
両者は、全く異なっているのであって、混同してはいけない。念の為に、確認しておく。
以上が、行列の「掛け算」の導入の話。次からは、実際に「R」での計算を実践してみる。
書いていて、何か、おかしいと思った。
返信削除ガチャガチャと書きなおしている内に、
どうやら、縦と横が混同していた。
矢野先生、ご指摘ありがとうございました。