Takatani Note

【LaTeX】行列と行列式 (matrix)

この記事ではLaTeXで行列や行列式、ベクトルを出力するためのコマンドを紹介します。

行列と行列式

amsmathパッケージを使って行列を次のように表示できます。

表示コマンド表示コマンド
$\ \ \begin{matrix} a & b \\ c & d \end{matrix}$
\begin{matrix}
  a & b \\
  c & d
\end{matrix}
$\begin{pmatrix} a & b \\ c & d \end{pmatrix}$
\begin{pmatrix}
  a & b \\
  c & d
\end{pmatrix}
$\begin{bmatrix} a & b \\ c & d \end{bmatrix}$
\begin{bmatrix}
  a & b \\
  c & d
\end{bmatrix}
$\begin{Bmatrix} a & b \\ c & d \end{Bmatrix}$
\begin{Bmatrix}
  a & b \\
  c & d
\end{Bmatrix}
$\begin{vmatrix} a & b \\ c & d \end{vmatrix}$
\begin{vmatrix}
  a & b \\
  c & d
\end{vmatrix}
$\begin{Vmatrix} a & b \\ c & d \end{Vmatrix}$
\begin{Vmatrix}
  a & b \\
  c & d
\end{Vmatrix}

行列の列の区切りは &, 行の区切りは\\です。

行列のブロック分割

行列のブロック分割にはarray環境を用います。

表示コマンド
$\left[ \begin{array}{cc|cc} a & b & 0 & 0 \\ c & d & 0 & 0 \\ \hline 0 & 0 & a & b \\ 0 & 0 & c & d \end{array} \right]$
\left[
\begin{array}{cc|cc}
a & b & 0 & 0 \\ 
c & d & 0 & 0 \\ 
\hline 
0 & 0 & a & b \\ 
0 & 0 & c & d 
\end{array}
\right]

上記について、{cc|cc}は行列の2列目と3列目の間に縦線|を引くコマンドです。 {c|ccc}とすれば、行列の1列目と2列目の間に縦線を引きます。

{cc:cc}とすれば行列の2列目と3列目の間に破線を引きます:

表示コマンド
$\left( \begin{array}{cc:cc} a & b & 0 & 0 \\ c & d & 0 & 0 \\ \hdashline 0 & 0 & a & b \\ 0 & 0 & c & d \end{array} \right)$
\left( 
\begin{array}{cc:cc}
a & b & 0 & 0 \\ 
c & d & 0 & 0 \\ 
\hdashline 
0 & 0 & a & b \\ 
0 & 0 & c & d 
\end{array}
\right)

下記では, $\begin{pmatrix} a & b \\ c & d \end{pmatrix}$ と $\begin{pmatrix} x & y \\ z & w \end{pmatrix}$ を1つの文字と見なして, 全体を $2\times 2$ 行列と考えています。 なので、縦の破線を引くには\begin{array}の横に{cc:cc}ではなく、{c:c}を入力します。

例:
\left[
\begin{array}{c:c} 
  {\begin{array}{cc} a & b \\ c & d \end{array}} & O \\ 
    \hdashline
  O & {\begin{array}{cc} x & y \\ z & w \end{array}} 
\end{array}
\right]

$ \left[ \begin{array}{c:c} {\begin{array}{cc} a & b \\ c & d \end{array}} & O \\ \hdashline O & {\begin{array}{cc} x & y \\ z & w \end{array}} \end{array} \right] $

サンプル

3次行列と $n$ 次行列

3次行列や $n$ 次行列を出力したいときは次のように入力します。

表示コマンド
$\begin{pmatrix} 2 & 1 & 0 \\ 0 & 2 & 1 \\ 0 & 0 & 2 \end{pmatrix}$
\begin{pmatrix}
  2 & 1 & 0 \\
  0 & 2 & 1 \\
  0 & 0 & 2 
\end{pmatrix}
$\begin{pmatrix} a_{11} & \cdots & a_{1n} \\ \vdots & \ddots & \vdots \\ a_{n1} & \cdots & a_{nn} \end{pmatrix}$
\begin{pmatrix}
 a_{11} & \cdots & a_{1n}  \\
 \vdots & \ddots & \vdots  \\
 a_{n1} & \cdots & a_{nn}  
\end{pmatrix}
表示コマンド
\begin{pmatrix}
 a_{11} & \cdots & a_{1n}  \\
       \hdotsfor{3}        \\
 a_{n1} & \cdots & a_{nn}  
\end{pmatrix}

$n$ 行 $m$ 列の行列では、\hdotsfor{m}により、1行にわたってドットを出力します。

大きい0の表示

対角行列やジョルダンの標準形を書くとき, 大きい0を行列の右上と左下に書くのが一般的です。

大きい0の例として、下記のように{\Huge O}を使います。

例:
\begin{pmatrix}
a & 1                                       \\
  & \ddots    & \ddots & {\Huge O} &   \\
  &             & \ddots & \ddots    &    \\
  & {\Huge O} &         & \ddots    & 1  \\
  &             &          &             & a
\end{pmatrix}

$ \begin{pmatrix} a & 1   \\ & \ddots & \ddots & {\Huge O} & \\ & & \ddots & \ddots & \\ & {\Huge O} & & \ddots & 1 \\ & & & & a \end{pmatrix} $

小さい行列 smallmatrix

本文中に小さい行列を表示するにはsmallmatrix環境を使います。

例:
\bigl(
\begin{smallmatrix}
  a & b \\
  c & d
\end{smallmatrix}
\bigr)

$ \bigl( \begin{smallmatrix} a & b \\ c & d \end{smallmatrix} \bigr) $

\bigl,\bigrは括弧()を大きくするコマンドです。
詳細記事:括弧

行列を横に並べる方法

2つの行列を横に並べて、行列の積を表すには次のように入力します。

例:
\begin{pmatrix} a & b \\ c & d \end{pmatrix}
\begin{pmatrix} x & y \\ z & w \end{pmatrix}

$ \begin{pmatrix} a & b \\ c & d \end{pmatrix} \begin{pmatrix} x & y \\ z & w \end{pmatrix} $

このように、行列を横に並べるには特にコマンドは必要なく、単に行列コマンドを2つ入力するだけです。3つ以上の行列を横に並べるときも同様です。

ベクトルの成分表示

例:
\vec{x}=
\begin{pmatrix} a \\ b \end{pmatrix}

$ \vec{x}= \begin{pmatrix} a \\ b \end{pmatrix} $

このようにpmatrix環境によって、ベクトルの成分表示を出力できます。

\vecはベクトルを表示するときに用いるコマンドです。
詳細記事:ベクトル

\begin{array}{r@{}l}
& \begin{array}{ccccccc}
\mbox{ } & \makebox[2em]{} &i& \makebox[1.5em]{} &j&&
\end{array} \\
\begin{array}{l}
\\ \\ \raisebox{0.5ex}{$i$} \\ \\ \raisebox{2.5ex}{$j$} \\ \\
\end{array} & \left[
\begin{array}{ccccccc}
1 &        &        &        &&& \\
  &\ddots &        &        &&& \\ 
  &        & 0      & \cdots & 1      && \\
  &        & \vdots & \ddots & \vdots && \\
  &        & 1      & \cdots & 0      && \\
  &        &        &        &        & \ddots & \\ 
  &        &        &        &        &        & 1 
\end{array} \right]
\end{array}
\begin{array}{r@{}l}
& \begin{array}{ccccccc}
\mbox{ } & \makebox[2.5em]{} &i& \makebox[3.5em]{} &j&&
\end{array} \\
\begin{array}{l}
\\ \\ \raisebox{0.5ex}{$i$} \\ \\ \raisebox{2.5ex}{$j$} \\ \\
\end{array} & \left[
\begin{array}{ccccccc}
1 & &&&&& \\
& \ddots &&&&& \\ 
&& \cos\theta &\cdots & -\sin\theta && \\
&&\vdots &\ddots&\vdots && \\
&& \sin\theta & \cdots & \cos\theta && \\
&&&&&\ddots& \\ 
&&&&&& 1 
\end{array} \right]
\end{array}