【LaTeX】行列と行列式 (matrix)
この記事ではLaTeXで行列や行列式、ベクトルを出力するためのコマンドを紹介します。
行列と行列式
amsmathパッケージを使って行列を次のように表示できます。
表示 | コマンド | 表示 | コマンド |
---|---|---|---|
$\ \ \begin{matrix} a & b \\ c & d \end{matrix}$ |
|
$\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{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]$ |
|
上記について、{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)$ |
|
下記では, $\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} a_{11} & \cdots & a_{1n} \\ \vdots & \ddots & \vdots \\ 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}