【LaTeX】連立方程式の書き方|cases・array・拡大係数行列をコピペ実例で解説

\begin{cases} って何?」「等号を縦に揃えるにはどう書くの?」「拡大係数行列の縦線はどうやって入れる?」——LaTeXで連立方程式を書こうとして、手が止まった経験はないでしょうか。連立方程式は物理の運動方程式、回路のキルヒホッフの法則、線形代数のガウス消去法など、理工系のあらゆる場面に登場します。書き方を一度マスターしておけば、数式を書くたびに調べ直す手間が消えます。

本記事はそうした疑問にコピペできる実例で一気に答えるリファレンスです。まず冒頭の逆引き早見表でやりたいことからコマンドをすぐ引けます。そのあと、cases 環境による基本形 → aligned/array による等号の縦揃え → \left\{...\right. の仕組み → 係数行列・拡大係数行列との対応 → 解の幾何的意味 → KaTeX互換 → よくある間違いまで、順番に解説していきます。

cases環境の構造:左大波括弧と複数方程式の対応

冒頭の図が記事の地図です。左の大波括弧の下に方程式が縦に並ぶのが連立方程式の基本形で、LaTeX では \begin{cases}...\end{cases} がこの構造をそのまま出力します。LaTeX コードとレンダリング結果がどう対応しているかを頭に入れて読み進めてください。

前提知識

この記事を読む前に、以下の記事を読んでおくと理解が深まります。

逆引き早見表:やりたいことからコマンドを引く

細かい解説に入る前に、よく使うパターンを一覧にまとめます。この表だけで用が足りることも多いはずです。

やりたいこと LaTeXコマンド 表示イメージ
左波括弧つき連立方程式(基本) \begin{cases} a \\ b \end{cases} $\begin{cases} 2x+3y=7 \\ x-y=1 \end{cases}$
= を縦に揃える(aligned) \left\{\begin{aligned} a &= b \\ c &= d \end{aligned}\right. $\left\{\begin{aligned} 2x+3y &= 7 \\ x-y &= 1 \end{aligned}\right.$
rcl で列揃え(array) \left\{\begin{array}{rcl} a &=& b \end{array}\right. $\left\{\begin{array}{rcl} 2x+3y &=& 7 \\ x-y &=& 1 \end{array}\right.$
大波括弧だけ(自由な中身) \left\{ \cdots \right. $\left\{ \cdots \right.$
係数行列(pmatrix) \begin{pmatrix} a & b \\ c & d \end{pmatrix} $\begin{pmatrix} 2 & 3 \\ 1 & -1 \end{pmatrix}$
拡大係数行列(array + 縦線) \left[\begin{array}{cc\|c} a & b & e \\ c & d & f \end{array}\right] $\left[\begin{array}{cc\|c} 2 & 3 & 7 \\ 1 & -1 & 1 \end{array}\right]$
3元連立方程式 \begin{cases} a \\ b \\ c \end{cases} $\begin{cases} x+y+z=6 \\ 2x-y+z=3 \\ x+2y-z=2 \end{cases}$

最初に押さえる共通ルールは2つだけです。列の区切りは &、行の区切りは \\。これは cases でも aligned でも array でも変わりません。この2つを軸に各環境を覚えると、混乱しにくくなります。

それでは、各環境を詳しく見ていきましょう。まずは最もシンプルな cases 環境からです。

\begin{cases} による基本形

cases 環境とは

cases 環境は、左に大波括弧を自動でつけて、複数の方程式を縦に並べる環境です。連立方程式の「$\{$」を手書きするときのあの波括弧が、コマンド一つで出ます。

2元連立一次方程式の書き方はこうなります。

$$ \begin{cases} 2x + 3y = 7 \\ x – y = 1 \end{cases} $$

$$
\begin{cases}
2x + 3y = 7 \\
x - y = 1
\end{cases}
$$

方程式が2本の場合、\\ で1回改行するだけで縦に並びます。波括弧のサイズは方程式の本数に合わせて自動で変わるので、手動でサイズ調整する必要はありません。

3元連立方程式

3元でも書き方は同じで、\\ を2回使うだけです。

$$ \begin{cases} x + y + z = 6 \\ 2x – y + z = 3 \\ x + 2y – z = 2 \end{cases} $$

$$
\begin{cases}
x + y + z = 6 \\
2x - y + z = 3 \\
x + 2y - z = 2
\end{cases}
$$

方程式が増えるほど波括弧が縦に伸びていきます。cases 環境では右側に何かを続けることもできます。物理でよく見る「条件付き」の書き方(例: $x > 0$ のとき〜)も同じ環境です。ただし等号の縦揃えは cases 単独ではできません。それは次のセクションで扱います。

方程式内に分数が入る場合

方程式の係数に分数が入るときは、\dfrac(表示サイズの分数)を使うと見やすくなります。

$$ \begin{cases} \dfrac{1}{2}x + 3y = 7 \\[8pt] x – \dfrac{1}{4}y = 1 \end{cases} $$

$$
\begin{cases}
\dfrac{1}{2}x + 3y = 7 \\[8pt]
x - \dfrac{1}{4}y = 1
\end{cases}
$$

\dfrac を使うと分数が本文サイズで大きく表示されるため、行間が自動的には広がりません。\\[8pt] のように改行に高さを指定すると、行が詰まるのを防げます。

cases 環境の基本形がわかりました。ただし cases だけでは等号を縦に揃えることができません。「$2x+3y$」と「$x-y$」という左辺の長さが違うので、= の位置が揃わないのです。これを解決するのが次の aligned 環境です。

\begin{aligned} で = を縦に揃える

なぜ = を揃えたいのか

複数の方程式を並べるとき、等号が縦に揃っていると視線が自然に流れて読みやすくなります。特に、左辺の変数の係数が異なる($2x + 3y$ と $x – y$ のように項数や係数が違う)連立方程式では、cases 環境の「左揃え」だと等号の位置がバラバラになります。

& による = の縦揃えの仕組み

図の左(揃えなし)と右(aligned)を比べてください。右の図では = の位置が揃えポイント(& の位置)でぴったり縦に並んでいます。&= の直前に置くことで、LaTeX はその位置を基準に各行を揃えます。

aligned 環境の書き方

\left\{\right. で大波括弧を手動で付けて、中身を aligned 環境にします。

$$ \left\{ \begin{aligned} 2x + 3y &= 7 \\ x – y &= 1 \end{aligned} \right. $$

$$
\left\{
\begin{aligned}
2x + 3y &= 7 \\
x - y   &= 1
\end{aligned}
\right.
$$

3種類の書き方の比較

図で3つの書き方を並べて確認できます。cases は最もシンプルですが = が揃わない。aligned は = が揃うが \left\{\right. が必要。array は列揃えを細かく指定できる、という使い分けを頭に入れておきましょう。

ここで重要なのは & の位置です。& は揃えたいポイントの直前に置きますaligned では & = のように &= の直前に書くと、等号で揃えることができます。

3元の例

$$ \left\{ \begin{aligned} x + y + z &= 6 \\ 2x – y + z &= 3 \\ x + 2y – z &= 2 \end{aligned} \right. $$

$$
\left\{
\begin{aligned}
x + y + z   &= 6 \\
2x - y + z  &= 3 \\
x + 2y - z  &= 2
\end{aligned}
\right.
$$

各行で &= を使っているため、等号 = の位置がすべて同じ縦の位置に揃います。左辺の長さが異なっていても、揃えポイントが明示されているので LaTeX が正確に整列します。

aligned 環境で等号を揃える方法がわかりました。次は array 環境による列揃え指定を見てみましょう。

\begin{array} による列揃え指定(rcl)

array 環境で細かく列揃えを制御する

array 環境は行列のために設計された汎用の表組み環境ですが、連立方程式にも応用できます。列の数と揃え方を {rcl} のように明示するのが特徴です。

$$ \left\{ \begin{array}{rcl} 2x + 3y &=& 7 \\ x – y &=& 1 \end{array} \right. $$

$$
\left\{
\begin{array}{rcl}
2x + 3y &=& 1 \\
x - y   &=& 1
\end{array}
\right.
$$

{rcl} は3列の指定で、r = 右揃え(right)、c = 中央揃え(center)、l = 左揃え(left)を表します。左辺を右揃え、等号を中央揃え、右辺を左揃えにすることで、数学的に見やすいレイアウトが得られます。

array vs aligned の使い分け

arrayaligned はどちらも等号を揃えられますが、役割の違いがあります。

環境 特徴 向いている場面
aligned & の位置で揃える。自由度が高い 複雑な式変形、揃え位置を自由に変えたい場合
array{rcl} 列ごとに揃え方を明示指定 表形式に整理したい場合、縦線(|)を入れたい場合

拡大係数行列のように縦線を入れたい場合は array が必須です。aligned では縦線を引けません。次のセクションで拡大係数行列の書き方を見ていきます。

\left\{\right. の仕組み

\left \right ペアの役割

\left\right は、中身の高さに合わせて括弧のサイズを自動で拡大するコマンドです。大きな行列や分数を囲むとき、素の { を使うと括弧が小さくなって中身からはみ出してしまいます。\left\{ を使えばこの問題が解決します。

\left\{ ... \right. の仕組み

図の左側を見てください。\left\{ は左の大波括弧を「自動サイズ調整つき」で出力します。\right. のドット(.)は「右括弧を表示しない」という意味です。\left\right は必ずペアで使わなければなりません。左だけ、右だけでは LaTeX がエラーを出します。

連立方程式では右側の括弧は不要なので \right. でドットを使って「右括弧を消す」のが定番の書き方です。

cases 環境との違い

cases 環境は内部で \left\{\right. を自動で使っているようなものです。つまり中身が cases のルールに従う単純な場合は \begin{cases} が最もシンプルです。

一方、\left\{ を直接使うと、中身を alignedarray など好きな環境にできます。複雑な式変形や等号の縦揃えが必要な場合は \left\{ \begin{aligned} \end{aligned} \right. の組み合わせを使います。

また、\left\{ のサイズ自動調整は分数が入った大きな式でも威力を発揮します。

$$ \left\{ \begin{aligned} \dfrac{d\bm{x}}{dt} &= \bm{A}\bm{x} + \bm{B}\bm{u} \\ \bm{y} &= \bm{C}\bm{x} \end{aligned} \right. $$

$$
\left\{
\begin{aligned}
\dfrac{d\bm{x}}{dt} &= \bm{A}\bm{x} + \bm{B}\bm{u} \\
\bm{y} &= \bm{C}\bm{x}
\end{aligned}
\right.
$$

これは制御工学の状態空間モデルの書き方です。\dfrac による縦に大きい分数を含んでいても、\left\{ が高さを自動調整するので波括弧が中身を正しく囲みます。cases 環境では \dfrac を使ったとき行間が詰まることがありますが、\left\{ aligned \right. なら \\[8pt] などで行間を微調整しやすいという利点もあります。

大波括弧の仕組みを理解できました。次は、連立方程式が線形代数でどう表現されるか——係数行列・拡大係数行列への変換を見ていきます。

係数行列・拡大係数行列との対応

連立方程式を行列で書く

連立方程式 $\bm{A}\bm{x} = \bm{b}$ は、線形代数では係数を行列にまとめて扱います。たとえば

$$ \begin{cases} 2x_1 + 3x_2 = 7 \\ x_1 – x_2 = 1 \end{cases} $$

は、次のように行列形式に書き直せます。

$$ \underbrace{\begin{pmatrix} 2 & 3 \\ 1 & -1 \end{pmatrix}}_{\bm{A}} \underbrace{\begin{pmatrix} x_1 \\ x_2 \end{pmatrix}}_{\bm{x}} = \underbrace{\begin{pmatrix} 7 \\ 1 \end{pmatrix}}_{\bm{b}} $$

$$
\underbrace{\begin{pmatrix} 2 & 3 \\ 1 & -1 \end{pmatrix}}_{\bm{A}}
\underbrace{\begin{pmatrix} x_1 \\ x_2 \end{pmatrix}}_{\bm{x}}
=
\underbrace{\begin{pmatrix} 7 \\ 1 \end{pmatrix}}_{\bm{b}}
$$

係数行列 $\bm{A}$ は方程式の係数だけを抜き出したもの、列ベクトル $\bm{x}$ は未知数、$\bm{b}$ は右辺の定数です。

拡大係数行列(augmented matrix)

ガウスの消去法では、係数行列 $\bm{A}$ と右辺ベクトル $\bm{b}$ を1つにまとめた拡大係数行列を使います。係数部分と定数部分を縦線で区切って表記します。

$$ \left[\begin{array}{cc|c} 2 & 3 & 7 \\ 1 & -1 & 1 \end{array}\right] $$

$$
\left[\begin{array}{cc|c}
2 & 3 & 7 \\
1 & -1 & 1
\end{array}\right]
$$

ここでの {cc|c} は「中央揃えの列が2つ、縦線、中央揃えの列が1つ」を意味します。縦線は列指定の中に | を入れるだけで出せます。角括弧 [ ] にしたいときは \left[\right] を使い、丸括弧 ( ) にしたいときは \left(\right) に変えるだけです。

連立方程式と行列表現の対応図

図が示すとおり、連立方程式から係数行列へ、さらに縦線を加えて拡大係数行列へと変換していく流れが一目でわかります。array 環境の {cc|c} が縦線を生み出しているのがポイントです。

行簡約化の表記

ガウスの消去法では、行操作のステップを複数の拡大係数行列を矢印でつないで書くことが多いです。

$$ \left[\begin{array}{cc|c} 1 & 2 & 5 \\ 3 & 4 & 6 \end{array}\right] \xrightarrow{R_2 \leftarrow R_2 – 3R_1} \left[\begin{array}{cc|c} 1 & 2 & 5 \\ 0 & -2 & -9 \end{array}\right] $$

$$
\left[\begin{array}{cc|c}
1 & 2 & 5 \\
3 & 4 & 6
\end{array}\right]
\xrightarrow{R_2 \leftarrow R_2 - 3R_1}
\left[\begin{array}{cc|c}
1 & 2 & 5 \\
0 & -2 & -9
\end{array}\right]
$$

\xrightarrow{...} を使うと、矢印の上に行操作の注釈を添えられます。ガウス消去法の手順をLaTeXで記述するときの定番パターンです。

係数行列・拡大係数行列の書き方を理解しました。数式の記法を覚えたところで、連立方程式の解が何を意味するのか、幾何的なイメージで整理しておきましょう。

解の幾何的意味:2直線の交わり方

2元連立方程式と2直線

2元連立一次方程式の各方程式は、$xy$ 平面上の直線を表します。連立方程式を解くことは、「2本の直線がどこで交わるか(交点の座標)を求めること」と同じです。

2元連立方程式の3つの解パターン

図から、2直線の関係には3つのパターンがあることが読み取れます。

左(解が1つ): 2本の直線が1点で交わる。このとき解は唯一 $(x, y) = (2, 1)$ のように1組だけ定まります。係数行列 $\bm{A}$ の行列式 $\det(\bm{A}) \neq 0$ のとき、つまり $\bm{A}$ が正則(可逆)なときです。

中央(解が無数): 2本の直線が完全に一致している。たとえば $2x + 4y = 6$ と $x + 2y = 3$ は同じ直線(片方を2倍すると一致)。直線上のすべての点が解になるため、解は無数に存在します。係数行列が零化されて、$\det(\bm{A}) = 0$ かつ右辺との整合性がある状態です。

右(解なし): 2本の直線が平行で交わらない。たとえば $2x + 3y = 7$ と $2x + 3y = 1$ は傾きが同じで定数項だけが違います。どこまで伸ばしても交点はないため、解は存在しません。$\det(\bm{A}) = 0$ かつ右辺と矛盾がある状態です。

行列の言葉で言い換えると

状態 $\det(\bm{A})$ 解の個数
2直線が1点で交わる $\det(\bm{A}) \neq 0$ 1組(唯一解)
2直線が一致 $\det(\bm{A}) = 0$、整合 無数
2直線が平行 $\det(\bm{A}) = 0$、矛盾 なし(不能)

LaTeXで連立方程式を書くとき、この3つのパターンを意識しておくと、書いた式が実際にどんな状況を表しているか、数式の読み方が深まります。

解の幾何的意味をつかんだところで、Webブログで使うときに重要な KaTeX との互換性を確認しておきましょう。

KaTeX 互換表

本ブログでは数式を KaTeX でレンダリングしています。連立方程式でよく使う環境・コマンドの対応状況をまとめます。

KaTeX互換表

図のとおり、本記事で紹介したすべてのコマンドが KaTeX で使えます。詳細はテキストでも確認しておきましょう。

コマンド / 環境 KaTeX 対応 備考
\begin{cases} 対応 最もシンプルな書き方
\begin{aligned} 対応 amsmath 相当。KaTeX でも標準使用可
\begin{array}{rcl} 対応 列揃え指定。縦線 \| も可
\left\{ ... \right. 対応 \left\right のペアが必須
\left[ \begin{array}{cc\|c} ... \end{array} \right] 対応 拡大係数行列
\hline 対応 array 内の横線
\xrightarrow{...} 対応 注釈付き矢印。行簡約化の表記に便利
\dfrac 対応 表示サイズの分数。cases 内で行間確保に便利

LaTeX(amsmath)でもKaTeXでも同じコードが動くため、論文原稿とブログ記事で書き方を変える必要はありません。

よくある間違いと Tips

よくある間違いと正しい書き方

図にまとめた3つの間違いを、それぞれ詳しく見ていきましょう。

間違い1:&= の後に置く

alignedarray で等号を揃えたいとき、&=に置かなければなりません。

% NG: & を = の後に置く(左辺全体が「揃えポイント」になる)
2x + 3y =& 7 \\
x - y   =& 1

% OK: & を = の直前に置く
2x + 3y &= 7 \\
x - y   &= 1

=& は「= を左辺の端に置いて揃えポイントを右にする」意味になり、意図と逆になります。&= で「等号の手前で揃える」と覚えましょう。

間違い2:最終行に \\ を付ける

行の区切り \\ は、次の行があることを示すものです。最後の行には次の行がないため、\\ は不要です。

% NG: 最終行に \\ がある(余分な空行が入ることも)
\begin{cases}
2x + 3y = 7 \\
x - y = 1 \\
\end{cases}

% OK: 最終行に \\ はなし
\begin{cases}
2x + 3y = 7 \\
x - y = 1
\end{cases}

KaTeX では最終行の \\ で余分な余白が入ることがあります。環境によってはエラーになることもあるため、最終行には \\ を付けないのが基本です。

間違い3:\right. のドットを忘れる

\left\right は必ずペアで使います。\left\{ を使ったら、必ず \right. か他の閉じ括弧で閉じなければなりません。

% NG: \right の後に何もない(コンパイルエラー)
\left\{
\begin{aligned}
2x + 3y &= 7 \\
x - y &= 1
\end{aligned}
\right

% OK: \right. でドット(見えない右括弧)を付ける
\left\{
\begin{aligned}
2x + 3y &= 7 \\
x - y &= 1
\end{aligned}
\right.

\right の直後に .(ドット)を付けると「右側の括弧を非表示にする」という意味になります。連立方程式では右括弧が不要なため、この . が必須です。KaTeX でもLaTeXでも \right の直後に何もないとエラーが出ます。

間違い4:cases 内で等号が揃わない → aligned を使う

cases 環境は左辺を左揃えにするだけで、等号の縦位置は揃えません。等号を揃えたい場合は cases の代わりに \left\{ aligned \right. を使います。

% NG: cases では = が揃わない
\begin{cases}
100x + 2y = 5 \\
x + 200y = 3
\end{cases}

% OK: aligned を使う
\left\{
\begin{aligned}
100x + 2y &= 5 \\
x + 200y  &= 3
\end{aligned}
\right.

左辺の係数が大きく異なる場合(100xx のように桁が違う場合)は、特に視覚的な差が出ます。等号を揃えたい場合は aligned を選びましょう。

Tips:インラインで小さく書く

文中に小さな連立方程式を埋め込むには smallmatrix ではなく cases をインライン数式 $...$ の中で使います。ただし cases はブロック数式($$...$$)用に設計されているため、インラインでは行間が広がります。シンプルに「$x+y=1, \; x-y=0$」のようにカンマ区切りで書くほうが文章中では読みやすいことが多いです。

Tips:番号付き方程式

論文や教科書では方程式に番号を振ることがあります。equation 環境と cases を組み合わせると全体に1つの番号が付きます。

\begin{equation}
\begin{cases}
2x + 3y = 7 \\
x - y = 1
\end{cases}
\end{equation}

個別の方程式に別々の番号を付けたい場合は align 環境(aligned でなく align)を使います。KaTeX では align の番号表示が環境設定に依存することがあるため、ブログで使う場合は確認が必要です。

よくある間違いとヒントを押さえたところで、記事全体を振り返りましょう。

まとめ

本記事では、LaTeXで連立方程式を書く方法を逆引き早見表と実例で解説しました。

  • 基本形: \begin{cases}...\end{cases} で左波括弧付き連立方程式。行の区切りは \\
  • 等号の縦揃え: \left\{ \begin{aligned} 左辺 &= 右辺 \end{aligned} \right.& の位置を揃えポイントに
  • 列揃え指定: \begin{array}{rcl}r/c/l で列の揃え方を細かく制御
  • 大波括弧だけ手動: \left\{\right.(ドット必須)のペア。aligned など自由な中身と組み合わせ可
  • 拡大係数行列: \left[\begin{array}{cc|c}...\end{array}\right]| で縦線を引く
  • 解の幾何: 2元連立方程式は2直線の交わり方。唯一解・無数の解・解なしの3パターンが $\det(\bm{A})$ で決まる
  • KaTeX: 本記事のすべての環境・コマンドが対応済み
  • よくある間違い: &= の直前、最終行に \\ は不要、\right. のドット必須

迷ったら逆引き早見表に戻り、「どの場面か → どの環境か → &\\ の位置を確認」の3ステップで確認すると確実です。

次のステップとして、以下の記事も参考にしてください。

関連記事:LaTeX数式記法シリーズ

画像なし
LaTeXで行列を書く(pmatrix・転置・逆行列)
pmatrix・bmatrix・array環境・拡大係数行列・省略記号まで網羅したリファレンス
画像なし
LaTeXで場合分け(cases・piecewise)
cases環境による場合分けの書き方と使い分けを解説
画像なし
LaTeXで括弧のサイズ調整(left・right・big)
\left \right による自動調整と手動サイズ指定の使い分け
LaTeX数式記法 完全ガイド(実用チートシート)
記号・環境・コマンドを一覧で引けるチートシート