クラメルの公式

線型代数学におけるクラメルの法則あるいはクラメルの公式（クラメルのこうしき、; クラメルの規則）は、未知数の数と方程式の本数が一致し、かつ一意的に解ける線型方程式系の解を明示的に書き表す行列式公式である。これは、方程式の解を正方係数行列とその各列ベクトルを一つずつ方程式の右辺のベクトルで置き換えて得られる行列の行列式で表すものになっている。名称はガブリエル・クラーメル (1704–1752) に因むもので、クラーメルは任意個の未知数に関する法則を1750年に記している。なお特別の場合に限れば、コリン・マクローリンが1748年に公表している（また、恐らくはそれを1729年ごろにはすでに知っていたと思われる）。
主張.
与えられた線型方程式が "n" 個の変数を持ち、同数 "n" 本の一次方程式からなる形：formula_1 で与えられているとする。あるいはこれを formula_2 と置いて と行列の記法で書いていてもよい。この時さらに、係数行列 が正則（可逆）であるものと仮定する。これは であることと同値。
これらの仮定の下、この方程式系は一意的に解くことができて、一意的な解 の各成分 は formula_3 で与えられる。ただし、ここで用いた行列 は行列 の第 -列 () を系の右辺である で置き換えて得られる行列 formula_4
とする。
例.
二階線型方程式系.
例えば、次の線型方程式系 formula_5 を考える。この方程式系の拡大係数行列は formula_6
である。クラメルの法則により、系の解は formula_7
と求められる。ここで、縦棒は行列式を表す標準的な記号法に従ったものである。
三階線型方程式系.
別な例として次の線型方程式系 formula_8 をとる。拡大係数行列は formula_9 である。解をクラメルの法則に従って求めれば、formula_10となる。
歴史.
クラメルの法則は、ガブリエル・クラメルが1750年に出版した著書 «Introduction à l′analyse des lignes courbes algébriques» の付録 1 に収録されている。クラメルは、より多くの本数の方程式を持つ系を解くための公式の作り方を述べるために、三本の方程式を持つ線型方程式系に対する明示公式を与えている。この頃にはまだ行列式の概念は存在していないので、クラメルは分母と分子が多項式であるような分数を用いて記述していた。以下はクラメルのオリジナルの論文からの抜粋である（これらは行列式に関するライプニッツの公式と同じものである）この例においてクラメルが現代的なものとは違う記法を用いていることが見て取れる。これは現代的な記法で言えばformula_11なることを示すものである。クラメル自身は一意的に解くことができない線型方程式系が存在することを知っていた。ベズーは1764年に、一意的に解くことができない線型方程式系では、この式の分母が 0 になることを示す。クラメルもまた、この法則の証明を与えてはおらず、それが成されるのは1815年、コーシーの手によってである（今日用いられるクラメルの法則の記法を導入したのもコーシーである）。ライプニッツは1678年の手書きの論文において既にクラメルの法則を用いているが、しかしこれは後々まで発見されず、線型方程式系の解法の発展に影響を与えはしなかった。マクローリンは1748年の著書“Treatise on Algebra”において、方程式が二本または三本であるような場合の線型方程式に対する、クラメルの法則の特別の場合を述べている。マクローリンも、これらの公式をより方程式の本数が多い一般の場合へ拡張するアイデアを持っていたが、クラメルと違って多項式の符号を正しく定める方法が分からなかった。20世紀になって、数学史家は、クラメルとマクローリンのどちらがこの公式を発見したのかという疑義を提示し、名称はマクローリン・クラメルの法則とすべしとした。
計算量.
クラメルの法則を利用して 元線型方程式系を解こうとすれば、 個の行列式を計算しなければならない。このアルゴリズムにおいて算術演算の数は専ら行列式の計算から生じる。
クラメルの法則に現れる行列式をライプニッツの公式に従って計算すれば、("n" − 1)·"n"! 回の掛け算と "n" − 1 回の足し算をすることになる。これは4本の方程式を持つ系の場合でも、360回の掛け算、4回の割り算、115回の足し算をすることを意味する。これは他の方法に比べて極めて多くの計算を要する。行列式の計算により効率的なアルゴリズムを用いたとしても、線型方程式をクラメルの法則で解こうとすれば、ガウス消去法などよりもずっと大きな計算量が必要になる。
 元一次連立方程式に対して、毎秒 10 回浮動小数点演算可能 (100 Mflops) な性能の計算機で計算すると、計算時間は次の表のようになる:
証明の概略と一般化について.
証明のために、単位行列の第 -列を方程式 の変数ベクトル に置き換えて得られる行列 を考える。例えば のときの は formula_12 で与えられる。このとき、 および となることが示せる。実際、いま挙げた例では formula_13 が成り立っている。また行列式の乗法性により formula_14 となる。仮定により ゆえ が存在することに注意。
証明の内容を省みれば、クラメルの法則の成立は以下の定理
に集約されることがわかる。もちろん行列 は行列 の第 -列を系の右辺である で置き換えて得られる行列である。方程式の解が一意であるという仮定を外せば、割り算を実行することができないことも起こり得るが、いま述べた形の定理であれば、方程式系の係数が可換環に値をとる場合も含めて常に成立するが、これはもはやクラメルの法則と呼ばれることはない。
応用.
逆行列の計算.
行列 の逆行列は単位行列の各列ベクトル に対して、線型方程式系 の解を求めれば求まる。これらの解をクラメルの法則によって求めれば、余因子行列 を用いて公式 formula_15 を得る。この公式は行列の成分が（実数体 のような）体とは限らない可換環 に値をとるとしても成り立つ。従って、行列 が可逆となることと が（ において）可逆（単元）となることとが同値であることもわかる。 が体であるときは、この条件は と同じである。
斉次方程式系の解法.
クラメルの法則を使えば、 のとき斉次方程式系が自明な解 を唯一の解として持つことは容易に示せる。各 について の第 -列を零ベクトルで置き換えて得られる行列 は、列ベクトルの全体がもはや線型独立ではなく、従って が成り立つ。これにより が結論付けられる。
上記性質により、線型方程式系 の核が零ベクトルのみからなることが従い、従ってそれが唯一の解である。
低次線型方程式系に対する行列式公式.
線型方程式系 formula_16 あるいは行列記法で formula_17 を考え、 と仮定すると、 および はクラメルの法則で計算できて formula_18 を得る。三次の場合も同様で、線型方程式系 formula_19 あるいは formula_20 に対して、 "x", "y", "z" は formula_21
で求められる。
微分幾何.
クラメルの法則は微分幾何学における問題を解くのにもきわめて有効である。二つの方程式 および を考える。 と とが独立変数のとき、 と が陰伏的に定まる。
 に対する方程式を求めることは、クラメルの法則の自明な応用である。
まず それぞれの一階微分を計算する： formula_22 を に代入して formula_23 を得る。 は独立変数だから の係数は でなければならない。故に係数に関する方程式を立てれば、formula_24 を得る。ここでクラメルの法則を使えば、formula_25 が得られる。これは二つの函数行列式 formula_26 を使って書き表される公式である。同様の公式が からもそれぞれ導かれる。
整数計画法.
クラメルの法則は、制約行列が完全単模 (totally unimodular) で、右辺値が整数、基本解も整数であるような整数計画問題を解くのにも利用できる。これにより整数問題を解くことが大幅に容易になる。
常微分方程式.
クラメルの法則は非斉次の線型微分方程式の一般解を定数変化法で導く場合にも利用できる。
幾何学的解釈.
クラメルの法則を幾何学的に解釈することもできて、それは証明や幾何学的な性質を詳しく見ることによって得られる。この幾何学的な論法は、以下に例示する二次元の場合のみならず、一般の場合においても通用する。
方程式系 formula_27 はベクトルの間の方程式 formula_28 と見做すことができる。 と の張る平行四辺形の面積は系の係数行列の行列式 formula_29 で与えられる。一般に、変数と方程式を増やして、長さ の 本のベクトルを考えるとき、その行列式は -次元ユークリッド空間においてそれらのベクトルが張る平行体 ("parallelepiped") の容積 ("volume") を与える。
従って、 と の張る平行四辺形の面積は、先ほどの面積の -倍である。この平行四辺形の面積は、カヴァリエリの原理により、
 と の張る平行四辺形の面積に等しい。
最後とその前の平行四辺形の面積が等しいことは方程式 formula_30 の成立を意味するが、これはクラメルの法則からも得られる。
不能や不定の場合.
方程式系が、不能 (incompatible) であるとは解が存在しないことを言う。また不定 (indeterminate) であるとは、二つ以上の解を持つことを言う。線型方程式の場合（基礎体が無限体であるとすると）、それが不定な系ならば一つ以上の変数が任意の値を取り得るから、解は無数に存在する。
クラメルの法則は係数行列の行列式が 　でない場合にしか適用できないから、 の系で行列式の値に基づく不能や不定の場合とは相容れない。
 あるいはより高次の系に対して、係数行列の行列式が のときに言えるのは
ということだけである。逆は正しくなく、系が不能であっても全ての行列式が になる場合がある。例えば がそのような系である。