線形代数のための行列の基礎~意味や大きさ・次元・ベクトルとの違い

行列は線形代数において欠かせないものであり、さまざまな便利な性質をもつツールです。その便利さから、連立方程式の計算や、空間の線形変換、統計学の最小二乗法など、さまざまな分野で中心的な役割を担っています。

ここでは、この重要な概念である行列の基礎として、以下の点について解説します。

  • 行列の表記方法
  • 行列の意味
  • 行列とベクトルの違い
  • 行列の大きさ(サイズ)とは
  • 行列の次元数とは

行列を理解するための第一歩としてご活用頂ければと思います。

目次

1. 行列とは

それでは「行列とは何か」という点について、以下の3つを解説します。

  • 行列の表記方法
  • 行列の意味
  • 行列とベクトルの違い

それでは見ていきましょう。

1.1. 行列の表記

行列とは、数字が縦と横に並んで示されている表のことで、以下のように書きます。

行列

\[
\left[ \begin{array}{cc} 1 & 2 \\ 3 &4 \end{array} \right]
,\hspace{3mm}
\left[ \begin{array}{ccc} 1 & 2 \\ 3 &4 \\ 5 & 6 \end{array} \right]
,\hspace{3mm}
\left[ \begin{array}{ccc} 1 & 2 & 3 \\ 4 &5 & 6 \\ 7 & 8 & 9 \end{array} \right]
\]

さて、この行列にはどのような意味があるのでしょうか?次にこの点について見ていきましょう。

1.2. 行列の意味

ご覧のように、行列は見た目はシンプルです。しかし実は、行列とは一体なんなのかを一言で表すのは、ベクトルとは何かを一言で表すことが簡単ではないのと同じように、簡単ではありません。

なぜなら行列は、さまざまな分野で数々の用途に使われているからです。

ほんの一例を言えば、数学においては、長い計算を簡単に解くことを可能としてくれるツールですし、コンピューターグラフィクスにおいては、空間を思うままに変換するための写像です。また統計学では、最も信頼できる検定法の一つである最小二乗法の核です。

これらについては、以下のページで解説しているので、ぜひご覧になってみてください。

このように、行列には、さまざまな分野で使われる数々の便利な性質があるため、その意味を具体的に定義することが難しいのです。

それでもあえて一言で表すとしたら、行列とは、「何らかの値を入力したら、適切な値を出力してくれる、さまざまな便利な性質をもつ関数である」と言えます。

なお関数とは \(y=f(x)\) で表される \(f()\) の部分のことです。これは、「何らかの値 \(x\) を入力したら、別の値 \(y\) を出力する」ということを表しています。たとえば、ある関数が \(y=x^2\) と定義されているとしたら、この関数は \(f(2)=4\)、\(f(3)=9\) というように入力に応じた値を出力します。

行列を \(A\) としたら、これと同じことを行列では、\(A\vec{x}=\vec{y}\) と表します。つまり行列は、ベクトル \(\vec{x}\) を入力したら、ベクトル \(\vec{y}\) を出力する関数であるということです。

以下の短いアニメーションをご覧頂ければイメージしやすくなるでしょう。

ポイント
行列とは、さまざまな分野で使われる、数々の便利な性質をもつ関数である。

1.3. 行列とベクトルの違い

行列とベクトルの違いについても触れておきましょう。

なおベクトルについては『ベクトルとは一体なに?その意味と定義を小学生でもわかるように解説』で解説していますので、ぜひあわせてご確認ください。

よく、ベクトルは「数を縦か横に並べたもの」で、行列は「行と列をもつもの」と言われます。

ベクトルと行列

\[
\overset{ベクトル}
{
\left[ \begin{array}{c} 0 \\ 2 \\ 1 \end{array} \right]
}
,\hspace{3mm}
\overset{行列}
{
\left[ \begin{array}{ccc} 1 & 2 & 3 \\ 4 &5 & 6 \\ 7 & 8 & 9 \end{array} \right]
}
\]

しかし、実際には1行だけや1列だけの行列もあるので、この分類は正しくありません。

実際のところ、何がベクトルで何が行列かは見た目で決まるのではなく、それをどう扱うかで決まります。

上で解説したように、行列とは入力値に対して出力値を返す関数です。そのため、ある数値の並びを関数として扱うのなら、それは行列です。一方で、それを入力値または出力値として扱うのなら、それはベクトルです。この解説では最初はピンと来ないかもしれませんが、当サイトの線形代数に関するコンテンツを読み進めて頂くと、すぐにわかるようになっていきます。

ポイント
行列とベクトルの違いは、それを関数として扱うのか、それとも入力値・出力値として扱うのかの違い。関数として扱うのなら、それは行列であり、入力値・出力値として扱うのなら、それはベクトルである。

2. 行列の基礎

ここでは行列の基礎として、以下の2つの概念について解説します。

  • 行列の大きさ
  • 行列の次元数

それぞれ見ていきましょう。なお線形代数を学習していくと、自然と直感的に理解できるようになっていますので、「しっかりと覚えなければ!」と肩に力を入れる必要はありません。

2.1. 行列の大きさ(サイズ)

行列の大きさは、行の数と列の数で表します。横の成分が行で、縦の成分が列です。以下の画像でご確認ください。

そして以下のように、行\(\times\)列で、大きさを表します。

行\(\times\)列

\[\begin{eqnarray}
\overset{\large 2\times 2}{
\left[ \begin{array}{ccc}
0 & 1 \\
3 & 2 \\
\end{array} \right]
}
,\hspace{5mm}
\overset{\large 1\times 3}{
\left[ \begin{array}{ccc}
0 & 1 & 3
\end{array} \right]
}
,\hspace{5mm}
\overset{\large 3\times 4}{
\left[ \begin{array}{ccc}
0 & 1 & 3 & 2 \\
1 & 2 & 0 & 1 \\
0 & 1 & 1 & 0
\end{array} \right]
}
\end{eqnarray}\]

記載していますが、左から 2行\(\times\)2列、1行\(\times\)3列、3行\(\times\)4列の行列です。なお、行と列が同数の行列を「正方行列」といい、その行と列の数から「\(n\) 次正方行列」と言ったりもします。

2.2. 行列の次元

もう一つ、行列の基礎的な性質に「次元」という概念があります。これは行列の一列の成分を列ベクトルと考えたときの、その列ベクトルの成分の数です。

なお厳密には、行列の「次元」とは、その行列の列をベクトルとしてとったときの、一次独立しているベクトルの数です。ただし、これについて理解するには、最低限、「基底ベクトルとは」と「ベクトルの一次独立とは」について理解しておく必要があります。

そのため最初は、列ベクトルがすべて一次独立していることを前提として、次元数とは列ベクトルの成分の数であるというように大雑把おおざっぱに把握しておくと良いでしょう。

3. まとめ

以上が行列の基礎です。

繰り返しになりますが、行列という概念は非常に多くの分野で重要な役割を担っています。その代表的なものの一つが線形代数における線形変換でしょう。

通常であれば、行列の基礎のあとは、行列の計算の解説へと進むのが普通ですが、一旦それらは置いておいてまずは『線形変換とは?誰でも必ず理解できるようにアニメーションで解説』へとお進みください。行列がどのようなことに活用されているのかの一端を具体的にイメージすることができて、きっと面白いと感じて頂けることでしょう。

Python初心者におすすめのプログラミングスクール

「未経験からでもPythonを学べるプログラミングスクールを探しているけど、色々ありすぎてわからない」なら、次の3つのプログラミングスクールから選んでおけば間違いはありません。

Aidemy Premium:全くの初心者ができるだけ効率よく短期間で実務的に活躍できるAI人材になることを目的とした講座。キャリアカウンセリングや転職エージェントの紹介などの転職支援も充実しており、受講者の転職成功率が高い。

AIジョブカレPythonの基本をおさえた人が、実際に機械学習やディープラーニングを活用できるようになるための講座。転職補償型があるなどキャリア支援の内容が非常に手厚く、講師の質も最高クラス。コスパ最高。Python初心者用の対策講座もある。

データミックスプログラミング経験者のビジネスマンが、更なるキャリアアップのためにデータの処理方法を学んでデータサイエンティストになるための講座。転職だけでなく起業やフリーランスとして独立する人も多い。Python初心者用の対策講座もある。

特に、あなたが以下のような目標を持っているなら、この中から選んでおけば間違いはないでしょう。

・未経験からPythonエンジニアとして就職・転職したい
・AIエンジニアやデータサイエンティストとしてキャリアアップしたい
・起業やフリーランスを視野に入れたい

理由は「Python初心者のためのおすすめプログラミングスクール3選」で解説しています。



よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次
閉じる