線型代数学 におけるクラメルの法則 あるいはクラメルの公式 (クラメルのこうしき、英 : Cramer's rule ; クラメルの規則)は、未知数の数と方程式 の本数が一致し、かつ一意的に解ける線型方程式 系の解を明示的に書き表す行列式公式である。これは、方程式の解を正方係数行列 とその各列ベクトル を一つずつ方程式の右辺のベクトルで置き換えて得られる行列の行列式 で表すものになっている。名称はガブリエル・クラーメル (1704–1752) に因むもので、クラーメルは任意個の未知数に関する法則を1750年 に記している[ 1] 。なお特別の場合に限れば、コリン・マクローリン が1748年 に公表[ 2] している(また、恐らくはそれを1729年ごろにはすでに知っていたと思われる[ 3] [ 4] [ 5] )。
与えられた線型方程式 が n 個の変数を持ち、同数 n 本の一次方程式からなる形:
{
a
11
x
1
+
a
12
x
2
+
⋯
+
a
1
n
x
n
=
b
1
,
a
21
x
1
+
a
22
x
2
+
⋯
+
a
2
n
x
n
=
b
2
,
⋮
a
n
1
x
1
+
a
n
2
x
2
+
⋯
+
a
n
n
x
n
=
b
n
{\displaystyle {\begin{cases}a_{11}x_{1}+a_{12}x_{2}+\cdots +a_{1n}x_{n}=b_{1},\\a_{21}x_{1}+a_{22}x_{2}+\cdots +a_{2n}x_{n}=b_{2},\\\qquad \qquad \vdots \\a_{n1}x_{1}+a_{n2}x_{2}+\cdots +a_{nn}x_{n}=b_{n}\end{cases}}}
で与えられているとする。あるいはこれを
A
:=
[
a
11
a
12
⋯
a
1
n
a
21
a
22
⋯
a
2
n
⋮
⋮
⋱
⋮
a
n
1
a
n
2
⋯
a
n
n
]
,
x
:=
[
x
1
x
2
⋮
x
n
]
,
b
:=
[
b
1
b
2
⋮
b
n
]
{\displaystyle A:={\begin{bmatrix}a_{11}&a_{12}&\cdots &a_{1n}\\a_{21}&a_{22}&\cdots &a_{2n}\\\vdots &\vdots &\ddots &\vdots \\a_{n1}&a_{n2}&\cdots &a_{nn}\end{bmatrix}},\quad x:={\begin{bmatrix}x_{1}\\x_{2}\\\vdots \\x_{n}\end{bmatrix}},\quad b:={\begin{bmatrix}b_{1}\\b_{2}\\\vdots \\b_{n}\end{bmatrix}}}
と置いて Ax = b と行列の記法で書いていてもよい。この時さらに、係数行列 A が正則 (可逆)であるものと仮定する。これは det(A ) ≠ 0 であることと同値。
これらの仮定の下、この方程式系は一意的に解くことができて、一意的な解 x の各成分 xi は
x
i
=
det
(
A
i
)
det
(
A
)
{\displaystyle x_{i}={\frac {\det(A_{i})}{\det(A)}}}
で与えられる。ただし、ここで用いた行列 Ai は行列 A の第 i -列 (i = 1, 2, …, n ) を系の右辺である b で置き換えて得られる行列
A
i
:=
[
a
1
,
1
⋯
a
1
,
i
−
1
b
1
a
1
,
i
+
1
⋯
a
1
,
n
a
2
,
1
⋯
a
2
,
i
−
1
b
2
a
2
,
i
+
1
⋯
a
2
,
n
⋮
⋮
⋮
⋮
⋮
a
n
,
1
⋯
a
n
,
i
−
1
b
n
a
n
,
i
+
1
⋯
a
n
,
n
]
{\displaystyle A_{i}:={\begin{bmatrix}a_{1,1}&\cdots &a_{1,i-1}&b_{1}&a_{1,i+1}&\cdots &a_{1,n}\\a_{2,1}&\cdots &a_{2,i-1}&b_{2}&a_{2,i+1}&\cdots &a_{2,n}\\\vdots &&\vdots &\vdots &\vdots &&\vdots \\a_{n,1}&\cdots &a_{n,i-1}&b_{n}&a_{n,i+1}&\cdots &a_{n,n}\end{bmatrix}}}
とする。
例えば、次の線型方程式系
{
1
x
1
+
2
x
2
=
3
4
x
1
+
5
x
2
=
6
{\displaystyle {\begin{cases}{\color {blue}1}\,x_{1}+{\color {blue}2}\,x_{2}={\color {OliveGreen}3}\\{\color {blue}4}\,x_{1}+{\color {blue}5}\,x_{2}={\color {OliveGreen}6}\end{cases}}}
を考える。この方程式系の拡大係数行列は
(
A
∣
b
)
=
[
1
2
3
4
5
6
]
{\displaystyle ({\color {blue}A}\mid {\color {OliveGreen}b})=\left[{\begin{array}{cc|c}{\color {blue}1}&{\color {blue}2}&{\color {OliveGreen}3}\\{\color {blue}4}&{\color {blue}5}&{\color {OliveGreen}6}\end{array}}\right]}
である。クラメルの法則により、系の解は
x
1
=
det
(
A
1
)
det
(
A
)
=
|
3
2
6
5
|
|
1
2
4
5
|
=
3
−
3
=
−
1
,
x
2
=
det
(
A
2
)
det
(
A
)
=
|
1
3
4
6
|
|
1
2
4
5
|
=
−
6
−
3
=
2
{\displaystyle {\begin{aligned}x_{1}&={\frac {\det(A_{1})}{\det(A)}}={\frac {\begin{vmatrix}\color {OliveGreen}{3}&\color {blue}{2}\\\color {OliveGreen}{6}&\color {blue}{5}\end{vmatrix}}{\begin{vmatrix}{\color {blue}1}&{\color {blue}2}\\{\color {blue}4}&{\color {blue}5}\end{vmatrix}}}={\frac {3}{-3}}=-1,\\[10pt]x_{2}&={\frac {\det(A_{2})}{\det(A)}}={\frac {\begin{vmatrix}{\color {blue}1}&{\color {OliveGreen}3}\\{\color {blue}4}&{\color {OliveGreen}6}\end{vmatrix}}{\begin{vmatrix}{\color {blue}1}&{\color {blue}2}\\{\color {blue}4}&{\color {blue}5}\end{vmatrix}}}={\frac {-6}{-3}}=2\end{aligned}}}
と求められる。ここで、縦棒は行列式 を表す標準的な記号法に従ったものである。
別な例として次の線型方程式系
{
82
x
1
+
45
x
2
+
9
x
3
=
1
27
x
1
+
16
x
2
+
3
x
3
=
1
9
x
1
+
5
x
2
+
1
x
3
=
0
{\displaystyle {\begin{cases}{\color {blue}82}\,x_{1}+{\color {blue}45}\,x_{2}+{\color {blue}9}\,x_{3}={\color {OliveGreen}1}\\{\color {blue}27}\,x_{1}+{\color {blue}16}\,x_{2}+{\color {blue}3}\,x_{3}={\color {OliveGreen}1}\\{\color {blue}9}\,x_{1}+{\color {blue}5}\,x_{2}+{\color {blue}1}\,x_{3}={\color {OliveGreen}0}\\\end{cases}}}
をとる。拡大係数行列 は
(
A
∣
b
)
=
[
82
45
9
1
27
16
3
1
9
5
1
0
]
{\displaystyle ({\color {blue}A}\mid {\color {OliveGreen}b})=\left[{\begin{array}{ccc|c}{\color {blue}82}&{\color {blue}45}&{\color {blue}9}&{\color {OliveGreen}1}\\{\color {blue}27}&{\color {blue}16}&{\color {blue}3}&{\color {OliveGreen}1}\\{\color {blue}9}&{\color {blue}5}&{\color {blue}1}&{\color {OliveGreen}0}\end{array}}\right]}
である。解をクラメルの法則に従って求めれば、
x
1
=
det
(
A
1
)
det
(
A
)
=
|
1
45
9
1
16
3
0
5
1
|
|
82
45
9
27
16
3
9
5
1
|
=
1
1
=
1
,
x
2
=
det
(
A
2
)
det
(
A
)
=
|
82
1
9
27
1
3
9
0
1
|
|
82
45
9
27
16
3
9
5
1
|
=
1
1
=
1
,
x
3
=
det
(
A
3
)
det
(
A
)
=
|
82
45
1
27
16
1
9
5
0
|
|
82
45
9
27
16
3
9
5
1
|
=
−
14
1
=
−
14
{\displaystyle {\begin{aligned}x_{1}&={\frac {\det(A_{1})}{\det(A)}}={\tfrac {\begin{vmatrix}\color {OliveGreen}{1}&\color {blue}{45}&\color {blue}{9}\\\color {OliveGreen}{1}&\color {blue}{16}&\color {blue}{3}\\\color {OliveGreen}{0}&\color {blue}{5}&\color {blue}{1}\end{vmatrix}}{\begin{vmatrix}\color {blue}{82}&\color {blue}{45}&\color {blue}{9}\\\color {blue}{27}&\color {blue}{16}&\color {blue}{3}\\\color {blue}{9}&\color {blue}{5}&\color {blue}{1}\end{vmatrix}}}={\frac {1}{1}}=1,\\[10pt]x_{2}&={\frac {\det(A_{2})}{\det(A)}}={\tfrac {\begin{vmatrix}\color {blue}{82}&\color {OliveGreen}{1}&\color {blue}{9}\\\color {blue}{27}&\color {OliveGreen}{1}&\color {blue}{3}\\\color {blue}{9}&\color {OliveGreen}{0}&\color {blue}{1}\end{vmatrix}}{\begin{vmatrix}\color {blue}{82}&\color {blue}{45}&\color {blue}{9}\\\color {blue}{27}&\color {blue}{16}&\color {blue}{3}\\\color {blue}{9}&\color {blue}{5}&\color {blue}{1}\end{vmatrix}}}={\frac {1}{1}}=1,\\[10pt]x_{3}&={\frac {\det(A_{3})}{\det(A)}}={\tfrac {\begin{vmatrix}\color {blue}{82}&\color {blue}{45}&\color {OliveGreen}{1}\\\color {blue}{27}&\color {blue}{16}&\color {OliveGreen}{1}\\\color {blue}{9}&\color {blue}{5}&\color {OliveGreen}{0}\end{vmatrix}}{\begin{vmatrix}\color {blue}{82}&\color {blue}{45}&\color {blue}{9}\\\color {blue}{27}&\color {blue}{16}&\color {blue}{3}\\\color {blue}{9}&\color {blue}{5}&\color {blue}{1}\end{vmatrix}}}={\frac {-14}{1}}=-14\end{aligned}}}
となる。
クラメルの法則は、ガブリエル・クラメルが1750年に出版した著書 «Introduction à l′analyse des lignes courbes algébriques» [ 1] の付録 1 に収録されている。クラメルは、より多くの本数の方程式を持つ系を解くための公式の作り方を述べるために、三本の方程式を持つ線型方程式系に対する明示公式を与えている。この頃にはまだ行列式の概念は存在していないので、クラメルは分母と分子が多項式であるような分数を用いて記述していた。以下はクラメルのオリジナルの論文からの抜粋である(これらは行列式に関するライプニッツの公式 と同じものである)
クラメルの公式 この例においてクラメルが現代的なものとは違う記法を用いていることが見て取れる。これは現代的な記法で言えば
x
1
=
b
1
a
22
a
33
−
b
1
a
32
a
23
−
b
2
a
12
a
33
+
b
2
a
32
a
13
+
b
3
a
12
a
23
−
b
3
a
22
a
13
a
11
a
22
a
33
−
a
11
a
32
a
23
−
a
21
a
12
a
33
+
a
21
a
32
a
13
+
a
31
a
12
a
23
−
a
31
a
22
a
13
{\displaystyle x_{1}={\frac {b_{1}a_{22}a_{33}-b_{1}a_{32}a_{23}-b_{2}a_{12}a_{33}+b_{2}a_{32}a_{13}+b_{3}a_{12}a_{23}-b_{3}a_{22}a_{13}}{a_{11}a_{22}a_{33}-a_{11}a_{32}a_{23}-a_{21}a_{12}a_{33}+a_{21}a_{32}a_{13}+a_{31}a_{12}a_{23}-a_{31}a_{22}a_{13}}}}
なることを示すものである。クラメル自身は一意的に解くことができない線型方程式系が存在することを知っていた[ 6] 。ベズー は1764年 に、一意的に解くことができない線型方程式系では、この式の分母が 0 になることを示す[ 6] 。クラメルもまた、この法則の証明を与えてはおらず、それが成されるのは1815年 、コーシー の手によってである(今日用いられるクラメルの法則の記法を導入したのもコーシーである)。ライプニッツ は1678年 の手書きの論文において既にクラメルの法則を用いているが、しかしこれは後々まで発見されず、線型方程式系の解法の発展に影響を与えはしなかった[ 6] 。マクローリン は1748年 の著書“Treatise on Algebra”において、方程式が二本または三本であるような場合の線型方程式に対する、クラメルの法則の特別の場合を述べている。マクローリンも、これらの公式をより方程式の本数が多い一般の場合へ拡張するアイデアを持っていたが、クラメルと違って多項式の符号を正しく定める方法が分からなかった[ 7] 。20世紀 になって、数学史家ボイヤー (英語版 ) は、クラメルとマクローリンのどちらがこの公式を発見したのかという疑義を提示し、名称はマクローリン・クラメルの法則とすべしとした[ 8] 。
クラメルの法則を利用して n 元線型方程式系を解こうとすれば、n + 1 個の行列式を計算しなければならない。このアルゴリズムにおいて算術演算の数は専ら行列式の計算から生じる。
クラメルの法則に現れる行列式をライプニッツの公式に従って計算すれば、(n − 1)·n ! 回の掛け算と n − 1 回の足し算をすることになる。これは4本の方程式を持つ系の場合でも、360回の掛け算、4回の割り算、115回の足し算をすることを意味する。これは他の方法に比べて極めて多くの計算を要する。行列式の計算により効率的なアルゴリズムを用いたとしても、線型方程式をクラメルの法則で解こうとすれば、ガウス消去法 などよりもずっと大きな計算量が必要になる。
n 元一次連立方程式に対して、毎秒 108 回浮動小数点演算可能 (100 Mflops) な性能の計算機で計算すると、計算時間は次の表のようになる[ 9] :
n
10
12
14
16
18
20
計算時間
0.4秒
1分
3.6時間
41日
38年
16,000年
証明のために、単位行列の第 i -列を方程式 Ax = b の変数ベクトル x に置き換えて得られる行列 Xi を考える。例えば n = 4 のときの X 2 は
X
2
=
[
1
x
1
0
0
0
x
2
0
0
0
x
3
1
0
0
x
4
0
1
]
{\displaystyle X_{2}={\begin{bmatrix}1&x_{1}&0&0\\0&x_{2}&0&0\\0&x_{3}&1&0\\0&x_{4}&0&1\end{bmatrix}}}
で与えられる。このとき、AXi = Ai および det(Xi ) = xi となることが示せる。実際、いま挙げた例では
A
⋅
X
2
=
[
a
11
a
12
a
13
a
14
a
21
a
22
a
23
a
24
a
31
a
32
a
33
a
34
a
41
a
42
a
43
a
44
]
⋅
[
1
x
1
0
0
0
x
2
0
0
0
x
3
1
0
0
x
4
0
1
]
=
[
a
11
a
11
x
1
+
a
12
x
2
+
a
13
x
3
+
a
14
x
4
a
13
a
14
a
21
a
21
x
1
+
a
22
x
2
+
a
23
x
3
+
a
24
x
4
a
23
a
24
a
31
a
31
x
1
+
a
32
x
2
+
a
33
x
3
+
a
34
x
4
a
33
a
34
a
41
a
41
x
1
+
a
42
x
2
+
a
43
x
3
+
a
44
x
4
a
43
a
44
]
=
[
a
11
b
1
a
13
a
14
a
21
b
2
a
23
a
24
a
31
b
3
a
33
a
34
a
41
b
4
a
43
a
44
]
=
A
2
{\displaystyle {\begin{aligned}A\cdot X_{2}&={\begin{bmatrix}a_{11}&a_{12}&a_{13}&a_{14}\\a_{21}&a_{22}&a_{23}&a_{24}\\a_{31}&a_{32}&a_{33}&a_{34}\\a_{41}&a_{42}&a_{43}&a_{44}\end{bmatrix}}\cdot {\begin{bmatrix}1&x_{1}&0&0\\0&x_{2}&0&0\\0&x_{3}&1&0\\0&x_{4}&0&1\end{bmatrix}}\\[10pt]&={\begin{bmatrix}a_{11}&a_{11}x_{1}+a_{12}x_{2}+a_{13}x_{3}+a_{14}x_{4}&a_{13}&a_{14}\\a_{21}&a_{21}x_{1}+a_{22}x_{2}+a_{23}x_{3}+a_{24}x_{4}&a_{23}&a_{24}\\a_{31}&a_{31}x_{1}+a_{32}x_{2}+a_{33}x_{3}+a_{34}x_{4}&a_{33}&a_{34}\\a_{41}&a_{41}x_{1}+a_{42}x_{2}+a_{43}x_{3}+a_{44}x_{4}&a_{43}&a_{44}\end{bmatrix}}\\[10pt]&={\begin{bmatrix}a_{11}&b_{1}&a_{13}&a_{14}\\a_{21}&b_{2}&a_{23}&a_{24}\\a_{31}&b_{3}&a_{33}&a_{34}\\a_{41}&b_{4}&a_{43}&a_{44}\end{bmatrix}}\\[10pt]&=A_{2}\end{aligned}}}
が成り立っている。また行列式の乗法性により
det
(
A
)
⋅
det
(
X
i
)
=
det
(
A
i
)
det
(
A
)
⋅
x
i
=
det
(
A
i
)
x
i
=
det
(
A
i
)
⋅
det
(
A
)
−
1
{\displaystyle {\begin{aligned}\det(A)\cdot \det(X_{i})&=\det(A_{i})\\\det(A)\cdot x_{i}&=\det(A_{i})\\x_{i}&=\det(A_{i})\cdot \det(A)^{-1}\end{aligned}}}
となる。仮定により det(A ) ≠ 0 ゆえ det(A )−1 が存在することに注意。
証明の内容を省みれば、クラメルの法則の成立は以下の定理
正方線型方程式系 Ax = b が与えられたとき、x = (x 1 , x 2 , …, xn ) がこの方程式系の解であるならば、各 i について det(A )xi = det(Ai ) が成り立つ。
に集約されることがわかる。もちろん行列 Ai は行列 A の第 i -列を系の右辺である b で置き換えて得られる行列である。方程式の解が一意であるという仮定を外せば、割り算を実行することができないことも起こり得るが、いま述べた形の定理であれば、方程式系の係数が可換環 に値をとる場合も含めて常に成立する[ 10] が、これはもはやクラメルの法則と呼ばれることはない。
行列 A の逆行列 は単位行列の各列ベクトル ej に対して、線型方程式系 Axj = ej の解を求めれば求まる。これらの解をクラメルの法則によって求めれば、余因子行列 adj(A ) を用いて公式
A
−
1
=
1
det
(
A
)
adj
(
A
)
{\displaystyle A^{-1}={\frac {1}{\det(A)}}\operatorname {adj} (A)}
を得る。この公式は行列の成分が(実数体 R のような)体 とは限らない可換環 R に値をとるとしても成り立つ。従って、行列 A が可逆となることと det(A ) が(R において)可逆 (単元 )となることとが同値であることもわかる。R が体であるときは、この条件は det(A ) ≠ 0 と同じである。
クラメルの法則を使えば、det(A ) ≠ 0 のとき斉次方程式系が自明な解 x 1 = x 2 = ⋯ = xn = 0 を唯一の解として持つことは容易に示せる。各 i について A の第 i -列を零ベクトルで置き換えて得られる行列 Ai は、列ベクトルの全体がもはや線型独立 ではなく、従って det(Ai ) = 0 が成り立つ。これにより xi = 0 が結論付けられる。
上記性質により、線型方程式系 Ax = b (det(A ) ≠ 0) の核が零ベクトルのみからなることが従い、従ってそれが唯一の解である。
線型方程式系
{
a
x
+
b
y
=
e
c
x
+
d
y
=
f
{\displaystyle {\begin{cases}ax+by={\color {red}e}\\cx+dy={\color {red}f}\end{cases}}}
あるいは行列記法で
[
a
b
c
d
]
[
x
y
]
=
[
e
f
]
{\displaystyle {\begin{bmatrix}a&b\\c&d\end{bmatrix}}\ {\begin{bmatrix}x\\y\end{bmatrix}}={\begin{bmatrix}{\color {red}e}\\{\color {red}f}\end{bmatrix}}}
を考え、ad − bc ≠ 0 と仮定すると、x および y はクラメルの法則で計算できて
x
=
|
e
b
f
d
|
|
a
b
c
d
|
=
e
d
−
b
f
a
d
−
b
c
,
y
=
|
a
e
c
f
|
|
a
b
c
d
|
=
a
f
−
e
c
a
d
−
b
c
{\displaystyle {\begin{aligned}x={\tfrac {{\begin{vmatrix}\color {red}{e}&b\\\color {red}{f}&d\end{vmatrix}}\ }{\begin{vmatrix}a&b\\c&d\end{vmatrix}}}={{\color {red}e}d-b{\color {red}f} \over ad-bc},\\[8pt]y={\tfrac {{\begin{vmatrix}a&\color {red}{e}\\c&\color {red}{f}\end{vmatrix}}\ }{\begin{vmatrix}a&b\\c&d\end{vmatrix}}}={a{\color {red}f}-{\color {red}e}c \over ad-bc}\end{aligned}}}
を得る。三次の場合も同様で、線型方程式系
{
a
x
+
b
y
+
c
z
=
j
d
x
+
e
y
+
f
z
=
k
g
x
+
h
y
+
i
z
=
l
{\displaystyle {\begin{cases}ax+by+cz={\color {red}j}\\dx+ey+fz={\color {red}k}\\gx+hy+iz={\color {red}l}\end{cases}}}
あるいは
[
a
b
c
d
e
f
g
h
i
]
[
x
y
z
]
=
[
j
k
l
]
{\displaystyle {\begin{bmatrix}a&b&c\\d&e&f\\g&h&i\end{bmatrix}}\ {\begin{bmatrix}x\\y\\z\end{bmatrix}}={\begin{bmatrix}{\color {red}j}\\{\color {red}k}\\{\color {red}l}\end{bmatrix}}}
に対して、 x , y , z は
x
=
|
j
b
c
k
e
f
l
h
i
|
|
a
b
c
d
e
f
g
h
i
|
,
y
=
|
a
j
c
d
k
f
g
l
i
|
|
a
b
c
d
e
f
g
h
i
|
,
z
=
|
a
b
j
d
e
k
g
h
l
|
|
a
b
c
d
e
f
g
h
i
|
{\displaystyle x={\tfrac {\begin{vmatrix}{\color {red}j}&b&c\\{\color {red}k}&e&f\\{\color {red}l}&h&i\end{vmatrix}}{\begin{vmatrix}a&b&c\\d&e&f\\g&h&i\end{vmatrix}}},\quad y={\tfrac {\begin{vmatrix}a&{\color {red}j}&c\\d&{\color {red}k}&f\\g&{\color {red}l}&i\end{vmatrix}}{\begin{vmatrix}a&b&c\\d&e&f\\g&h&i\end{vmatrix}}},\quad z={\tfrac {\begin{vmatrix}a&b&{\color {red}j}\\d&e&{\color {red}k}\\g&h&{\color {red}l}\end{vmatrix}}{\begin{vmatrix}a&b&c\\d&e&f\\g&h&i\end{vmatrix}}}}
で求められる。
クラメルの法則は微分幾何学 における問題を解くのにもきわめて有効である。二つの方程式 F (x , y , u , v ) = 0 および G (x , y , u , v ) = 0 を考える。u と v とが独立変数のとき、x = X (u , v ) と y = Y (u , v ) が陰伏的に定まる。
∂x ⁄∂u に対する方程式を求めることは、クラメルの法則の自明な応用である。
まず F , G , x , y それぞれの一階微分を計算する:
d
F
=
∂
F
∂
x
d
x
+
∂
F
∂
y
d
y
+
∂
F
∂
u
d
u
+
∂
F
∂
v
d
v
=
0
,
d
G
=
∂
G
∂
x
d
x
+
∂
G
∂
y
d
y
+
∂
G
∂
u
d
u
+
∂
G
∂
v
d
v
=
0
,
d
x
=
∂
X
∂
u
d
u
+
∂
X
∂
v
d
v
,
d
y
=
∂
Y
∂
u
d
u
+
∂
Y
∂
v
d
v
.
{\displaystyle {\begin{aligned}\mathrm {d} F&={\frac {\partial F}{\partial x}}\mathrm {d} x+{\frac {\partial F}{\partial y}}\mathrm {d} y+{\frac {\partial F}{\partial u}}\mathrm {d} u+{\frac {\partial F}{\partial v}}\mathrm {d} v=0,\\\mathrm {d} G&={\frac {\partial G}{\partial x}}\mathrm {d} x+{\frac {\partial G}{\partial y}}\mathrm {d} y+{\frac {\partial G}{\partial u}}\mathrm {d} u+{\frac {\partial G}{\partial v}}\mathrm {d} v=0,\\\mathrm {d} x&={\frac {\partial X}{\partial u}}\mathrm {d} u+{\frac {\partial X}{\partial v}}\mathrm {d} v,\\\mathrm {d} y&={\frac {\partial Y}{\partial u}}\mathrm {d} u+{\frac {\partial Y}{\partial v}}\mathrm {d} v.\end{aligned}}}
dx , dy を dF , dG に代入して
d
F
=
(
∂
F
∂
x
∂
x
∂
u
+
∂
F
∂
y
∂
y
∂
u
+
∂
F
∂
u
)
d
u
+
(
∂
F
∂
x
∂
x
∂
v
+
∂
F
∂
y
∂
y
∂
v
+
∂
F
∂
v
)
d
v
=
0
,
d
G
=
(
∂
G
∂
x
∂
x
∂
u
+
∂
G
∂
y
∂
y
∂
u
+
∂
G
∂
u
)
d
u
+
(
∂
G
∂
x
∂
x
∂
v
+
∂
G
∂
y
∂
y
∂
v
+
∂
G
∂
v
)
d
v
=
0
{\displaystyle {\begin{aligned}\mathrm {d} F&=\left({\frac {\partial F}{\partial x}}{\frac {\partial x}{\partial u}}+{\frac {\partial F}{\partial y}}{\frac {\partial y}{\partial u}}+{\frac {\partial F}{\partial u}}\right)\mathrm {d} u+\left({\frac {\partial F}{\partial x}}{\frac {\partial x}{\partial v}}+{\frac {\partial F}{\partial y}}{\frac {\partial y}{\partial v}}+{\frac {\partial F}{\partial v}}\right)\mathrm {d} v=0,\\[5pt]\mathrm {d} G&=\left({\frac {\partial G}{\partial x}}{\frac {\partial x}{\partial u}}+{\frac {\partial G}{\partial y}}{\frac {\partial y}{\partial u}}+{\frac {\partial G}{\partial u}}\right)\mathrm {d} u+\left({\frac {\partial G}{\partial x}}{\frac {\partial x}{\partial v}}+{\frac {\partial G}{\partial y}}{\frac {\partial y}{\partial v}}+{\frac {\partial G}{\partial v}}\right)\mathrm {d} v=0\end{aligned}}}
を得る。u, v は独立変数だから du , dv の係数は 0 でなければならない。故に係数に関する方程式を立てれば、
{
∂
F
∂
x
∂
x
∂
u
+
∂
F
∂
y
∂
y
∂
u
=
−
∂
F
∂
u
∂
G
∂
x
∂
x
∂
u
+
∂
G
∂
y
∂
y
∂
u
=
−
∂
G
∂
u
∂
F
∂
x
∂
x
∂
v
+
∂
F
∂
y
∂
y
∂
v
=
−
∂
F
∂
v
∂
G
∂
x
∂
x
∂
v
+
∂
G
∂
y
∂
y
∂
v
=
−
∂
G
∂
v
{\displaystyle {\begin{cases}{\dfrac {\partial F}{\partial x}}{\dfrac {\partial x}{\partial u}}+{\dfrac {\partial F}{\partial y}}{\dfrac {\partial y}{\partial u}}=-{\dfrac {\partial F}{\partial u}}\\[10pt]{\dfrac {\partial G}{\partial x}}{\dfrac {\partial x}{\partial u}}+{\dfrac {\partial G}{\partial y}}{\dfrac {\partial y}{\partial u}}=-{\dfrac {\partial G}{\partial u}}\\[10pt]{\dfrac {\partial F}{\partial x}}{\dfrac {\partial x}{\partial v}}+{\dfrac {\partial F}{\partial y}}{\dfrac {\partial y}{\partial v}}=-{\dfrac {\partial F}{\partial v}}\\[10pt]{\dfrac {\partial G}{\partial x}}{\dfrac {\partial x}{\partial v}}+{\dfrac {\partial G}{\partial y}}{\dfrac {\partial y}{\partial v}}=-{\dfrac {\partial G}{\partial v}}\end{cases}}}
を得る。ここでクラメルの法則を使えば、
∂
x
∂
u
=
|
−
∂
F
∂
u
∂
F
∂
y
−
∂
G
∂
u
∂
G
∂
y
|
|
∂
F
∂
x
∂
F
∂
y
∂
G
∂
x
∂
G
∂
y
|
{\displaystyle {\frac {\partial x}{\partial u}}={\frac {\begin{vmatrix}-{\frac {\partial F}{\partial u}}&{\frac {\partial F}{\partial y}}\\-{\frac {\partial G}{\partial u}}&{\frac {\partial G}{\partial y}}\end{vmatrix}}{\begin{vmatrix}{\frac {\partial F}{\partial x}}&{\frac {\partial F}{\partial y}}\\{\frac {\partial G}{\partial x}}&{\frac {\partial G}{\partial y}}\end{vmatrix}}}}
が得られる。これは二つの函数行列式
∂
x
∂
u
=
−
(
∂
(
F
,
G
)
∂
(
u
,
y
)
)
(
∂
(
F
,
G
)
∂
(
x
,
y
)
)
{\displaystyle {\frac {\partial x}{\partial u}}=-{\frac {\left({\frac {\partial (F,G)}{\partial (u,y)}}\right)}{\left({\frac {\partial (F,G)}{\partial (x,y)}}\right)}}}
を使って書き表される公式である。同様の公式が ∂x ⁄∂v , ∂y ⁄∂u , ∂y ⁄∂v からもそれぞれ導かれる。
クラメルの法則は、制約行列が完全単模 (totally unimodular) で、右辺値が整数、基本解も整数であるような整数計画 問題を解くのにも利用できる。これにより整数問題を解くことが大幅に容易になる。
クラメルの法則は非斉次の線型微分方程式の一般解を定数変化法 で導く場合にも利用できる。
クラメルの法則の幾何学的解釈: 二つ目と三つ目の影を付けた平行四辺形 の面積は等しく、一つ目のそれの x 1 -倍である。この等値性はクラメルの法則から従う。
クラメルの法則を幾何学的に解釈することもできて、それは証明や幾何学的な性質を詳しく見ることによって得られる。この幾何学的な論法は、以下に例示する二次元の場合のみならず、一般の場合においても通用する。
方程式系
a
11
x
1
+
a
12
x
2
=
b
1
a
21
x
1
+
a
22
x
2
=
b
2
{\displaystyle {\begin{matrix}a_{11}x_{1}+a_{12}x_{2}&=b_{1}\\a_{21}x_{1}+a_{22}x_{2}&=b_{2}\end{matrix}}}
はベクトルの間の方程式
x
1
[
a
11
a
21
]
+
x
2
[
a
12
a
22
]
=
[
b
1
b
2
]
{\displaystyle x_{1}{\begin{bmatrix}a_{11}\\a_{21}\end{bmatrix}}+x_{2}{\begin{bmatrix}a_{12}\\a_{22}\end{bmatrix}}={\begin{bmatrix}b_{1}\\b_{2}\end{bmatrix}}}
と見做すことができる。t (a 1 1 , a 2 1 ) と t (a 1 2 , a 2 2 ) の張る平行四辺形の面積は系の係数行列の行列式
|
a
11
a
12
a
21
a
22
|
{\displaystyle {\begin{vmatrix}a_{11}&a_{12}\\a_{21}&a_{22}\end{vmatrix}}}
で与えられる。一般に、変数と方程式を増やして、長さ n の n 本のベクトルを考えるとき、その行列式は n -次元ユークリッド空間 においてそれらのベクトルが張る平行体 (parallelepiped ) の容積 (volume ) を与える。
従って、x 1 ⋅t (a 1 1 , a 2 1 ) と t (a 1 2 , a 2 2 ) の張る平行四辺形の面積は、先ほどの面積の x 1 -倍である。この平行四辺形の面積は、カヴァリエリの原理 により、
x 1 ⋅t (a 11 , a 2 1 ) + x 2 ⋅t (a 1 2 , a 2 2 ) と t (a 1 2 , a 2 2 ) の張る平行四辺形の面積に等しい。
最後とその前の平行四辺形の面積が等しいことは方程式
|
b
1
a
12
b
2
a
22
|
=
|
a
11
x
1
a
12
a
21
x
1
a
22
|
=
x
1
|
a
11
a
12
a
21
a
22
|
{\displaystyle {\begin{vmatrix}b_{1}&a_{12}\\b_{2}&a_{22}\end{vmatrix}}={\begin{vmatrix}a_{11}x_{1}&a_{12}\\a_{21}x_{1}&a_{22}\end{vmatrix}}=x_{1}{\begin{vmatrix}a_{11}&a_{12}\\a_{21}&a_{22}\end{vmatrix}}}
の成立を意味するが、これはクラメルの法則からも得られる。
方程式系が、不能 (incompatible) であるとは解が存在しないことを言う。また不定 (indeterminate) であるとは、二つ以上の解を持つことを言う。線型方程式の場合(基礎体が無限体であるとすると)、それが不定な系ならば一つ以上の変数が任意の値を取り得るから、解は無数に存在する。
クラメルの法則は係数行列の行列式が 0 でない場合にしか適用できないから、2 × 2 の系で行列式の値に基づく不能や不定の場合とは相容れない。
3 × 3 あるいはより高次の系に対して、係数行列の行列式が 0 のときに言えるのは
(クラメルの公式の)分子になっている行列式のどれか一つでも 0 でないならば、系は不能である。
ということだけである。逆は正しくなく、系が不能であっても全ての行列式が 0 になる場合がある。例えば x + y + z = 1, x + y + z = 2, x + y + z = 3 がそのような系である。
^ a b Cramer, Gabriel (1750) (French), Introduction à l'Analyse des lignes Courbes algébriques , Geneva: Europeana, pp. 656-659, http://www.europeana.eu/resolve/record/03486/E71FE3799CEC1F8E2B76962513829D2E36B63015 2012年5月18日 閲覧。
^ MacLaurin, Colin (1748). A Treatise of Algebra, in Three Parts. . https://archive.org/details/atreatisealgebr03maclgoog
^
Boyer, Carl B. (1968). A History of Mathematics (2nd ed.). Wiley. pp. 431
^
Katz, Victor (2004). A History of Mathematics (Brief ed.). Pearson Education. pp. 378–379
^
Hedman, Bruce A. (1999), “An Earlier Date for "Cramer's Rule"”, Historia Mathematica 4(26) : 365–368, doi :10.1006/hmat.1999.2247
^ a b c Jean-Luc Chabert et al.. A History of Algorithms. Form of the Pebble to the Microchip. Springer-Verlag, 1999, ISBN 3-540-63369-3 , pp. 284–287. (クラメルのオリジナルの本の英語訳も載っている)
^ Antoni A. Kosinski: Cramer's Rule Is Due to cramer. In: Mathematics Magazine. Bd. 74, Nr. 4, Oktober 2001, S. 310–312.
^ Bruce A. Hedman: An Earlier Date for „Cramer's Rule“ In: Historica Mathematica. Bd. 24, 1999, S. 365–368.
^ W. Dahmen, A. Reusken: Numerik für Ingenieure und Naturwissenschaftler, Springer, 2006, ISBN 3-540-25544-3
^ Serge Lang : Algebra. 2. Auflage. Addison-Wesley, 1984, ISBN 0-201-05487-6 , S. 451.