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}

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

【サンプル】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行にわたってドットを出力します。

行列のブロック分割

表示コマンド
$\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列目に縦線|を引くコマンドです。 {c|ccc}とすれば、行列の1列目に縦線を引きます。

下記のとおり、{cc:cc}とすれば行列の2列目に「破線」を引きます。

表示コマンド
$\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]

大きい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は括弧()を大きくするコマンドです。詳細は【LaTeX】括弧を参照。

行列を横に並べる方法

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はベクトルを表示するときに用いるコマンドです。 詳細は【LaTeX】ベクトルを参照。