除法
出典: フリー百科事典『ウィキペディア(Wikipedia)』
算術において除法(じょほう、除算、割り算とも、division)とは、自然数あるいは整数同士の間に定義される四則演算(加・減・乗・除)のひとつである。乗法とは互いに逆といってよい関係にある。
除法は、整数の除法の場合その意味から等分除と包含除の 2 種類に分類される。ある量が「基準となる量」の「幾つ分」に除されるかを考えるとき、「基準となる量」を求めるのが等分除、「幾つ分」になるかを求めるのが包含除である。
数学においては、乗法を持つ代数的構造について「逆元を掛けること」として除法を考えることができる。一般には乗法が可換であるとは限らないため、除法も左右 2 通り考えられる。
目次 |
[編集] 基礎
あるものが、何かを基準に幾つか集まって全体を形作っているという状況を考える。このとき、"全体量" が "基準量" をどんな "個数" だけ集めたものにあたるのかを求めることを除法という。つまり
- [全体量] = [基準量] × [個数]
を成り立たせる式を考えることが除法の目的である。ここで決まっているのは全体量のみであって、求めるものは 2 つあることに注意する。求めるべき基準量、個数のいずれに着目するかによってそれぞれ除法演算の意味が分かれる。
基準となる量を指定して、全体量の中に基準量が何個分入るかという「個数を求める演算」
- [個数] = [全体量] ÷ [基準量]
を包含除という。また、個数を指定しておいて、全体量の中にその個数分だけ基準量を入れようとすると基準量はどれだけになるのかという「基準量を求める演算」
- [基準量] = [全体量] ÷ [個数]
を等分除という。
正確を期すならば、いま少し議論の精密化が必要になる。ここで述べた基礎概念としての包含除も等分除も、素朴な意味として「個数」の概念を考えている以上は "個数" は自然数である。一方、"全体量" や "基準量" は本来は自然数に囚われる必要はなく有理数や実数を想定してよいが、「個数」の概念の制約を受けて全体量は基準量よりも常に大きくなければ話が成立しない。しかし、概念の拡張によってこれらの制約は除くことができる。一般に包含除における "個数" は全体量と基準量との比あるいは比率という概念を定義する。つまり包含除の式を
- [比率] := [全体量] ÷ [基準量]
と変更する。これによって自然数である "個数" の概念に囚われない除法の概念を定義することができるようになる。ここに現れる比は、全体量が基準量に占める割合であるということもできる。このときすでに、全体量とか基準量とかいう概念は相対化されており、基準量が全体量を超えるとしても不都合はなくなる。他方、等分除における "基準量" は「1 個あたり」の量を与えるが、個数ではなく割合と考えたときの「1 個あたり」(比率 1 あたりの量)の量を1 あたり量などと呼ぶ。つまり
- [1 あたり量] := [全体量] ÷ [比率]
と等分除を修正する。
[編集] 定義
整数 m と n に対して、m = qn を満たす整数 q が唯一つ定まるとき、m ÷ n = q, q = m / n などと表して、m は n で整除(せいじょ)される、割り切れる(わりきれる、divisible)あるいは n は m を整除する、割り切るなどと言う。
またこのとき、m を被除数(ひじょすう、dividend)、n を法数あるいは単に法(ほう、divisor, modulus)といい、q を商(しょう、quotient)と呼ぶ。 m を n で割った商は q である、m の n を法とする商、あるいは法 n に関する商 (quotient modulo n) などともと言う。
m が n で割り切れない場合にも、剰余(じょうよ、remainder, residue)の概念を導入して除法を(0 で割ることを除いて)整数全体での演算に拡張することができる。具体的には、整数 m を n で割ったとき、商が q で剰余が r であることを
- m = qn + r かつ 0 ≤ r < n
が満たされることであると定義する。これは、商が整数にならない場合に、その「整数部分」を改めて商と定め、商と法との積を被除数から引いたもののことを剰余と定めているということである。r は m の n を法とする剰余、法 n に関する剰余 (residue modulo n) などと呼ぶこともある。また、剰余は余り(あまり)とも言う。
このような整数 q, r は、m, n によって唯一組にきまる(#除法の原理)。また、この等式が成り立つことを除算記号 ÷ と記号 … を用いて
- m ÷ n = q … r
とあらわす。
与えられた被除数と法数から商と剰余を計算することを割り算、除算などという。また、その計算法を指して除法という。
[編集] 有理数
上では考えている数(自然数もしくは整数)の範囲内で商を取り直し剰余を定義することにより、除法をその数の範囲全体で定義することができることを述べた。しかしよく知られているように、数の範囲を有理数まで拡張し、商のとり方に有理数を許すことにより、剰余の概念は取り除かれ、有理数の全体で四則演算が自由に行えるようになる。ただし、0 で割ることは常に許されない。
整数 m と n について m が n で整除されない場合にも、m を n を法とした商を m / n などと記して用いる(分数表記)。分数表記を用いた有理数の表示は一意的ではない。
このような意味で四則演算が自由に行える集合の抽象化として体の概念が現れる。すなわち、有理数の全体が作る集合 Q は体である。
[編集] 剰余に関する諸概念
[編集] 合同式
二つの整数 a, b を自然数 n で割った余りが等しいとき、a, b は n を法として合同であるといい、a ≡ b (mod n) と表す(a ≡n b と表すこともある)。このように、合同関係を表す演算子 · ≡ · (mod ·) で結ばれた式を合同式という。合同式は剰余に注目して計算をする場合に便利である。情報工学では、"mod" を省略しないで "modulo" と書くこともある。
[編集] 剰余演算
プログラミング言語では、剰余を演算子 "mod" や演算子 "%" などを用いて計算する(例: m mod n)。このような記法により剰余計算を二項演算の一種と見ることもできる。剰余を関数 "mod" の値として表現することもある(例: mod(m, n) )。
[編集] 展開
整数 n > 1 を一つ選び固定するとき、任意の整数 m は n の冪乗 nk (k ≥ 0) に関する剰余の列 (m mod nk)k=0,1,2,... によって一意的に特定することができる。具体的には、m に対して nk+1 を法とする剰余から nk を法とする剰余を引いたものは nk で割り切れるので、これを aknkとすれば、0 ≤ ak < n かつ、十分大きな k についてはすべて ak = 0 となる。つまり適当な自然数 M が存在して
と書くことができて、しかもこのような表示は一意的であるということである。これを、整数 m の n を法とする展開、あるいは n-進展開と呼び、はじめに固定した n を展開の基数と呼ぶ。この展開は位取り記数法などの記法の原理的な根拠となる。
十分大きな k についてはすべて ak = 0 となるという制限は、基数が素数 p であるときには p-進距離に関する収束の概念を用いて除くことができて、 p-進整数の p-進展開を与える。また、絶対値の導く距離を入れ、基数 n の負の冪をも同時に考えるならば有理数や実数の n-進展開(小数展開)を考えることができる。
[編集] 一般化
[編集] 除法の原理
整数全体の成す環 Z、体 K 上の一変数多項式環 K[x] やガウスの整数環 Z[√-1] などで次の除法の原理が成り立つ。
整域 R において、ある整列集合 W と写像 N: R → W で、次の性質を満たすものが存在する。
- W の最小元 m に対し、N(a) = m ⇔ a = 0。
- a, b ∈ R、b ≠ 0 ならば a = qb + r かつ N(r) < N(b) を満たす q, r ∈ R が存在する。
このような性質を持つ整域 R を一般にユークリッド整域という。剰余はユークリッド整域において定義される概念である。
一般に、剰余の一意性には注意が必要である。例えば、整数環 Z の場合に、 W = N(0 を含む自然数全体の集合), N(a) = |a| (絶対値)ととればユークリッド整域の条件が満たされるが、このとき商と剰余の一意性は保証されない。保障されない簡単な例として、a = 7, b = -3 とすると
- 7 = (-2)(-3) + 1
- 7 = (-3)(-3) - 2
と 2 通りに分解することができて、確かに |1| < |-3| も |-2| < |-3| も成り立っている。
先の定義では 「剰余が負でない」 ということを付してこの一意性を保障したが、このような一意性を与える付帯条件のつけ方は一通りではない。たとえば、「被除数が負であるときは、被除数と絶対値が等しい自然数をとり、そちらを割算してから改めて符号を付け替える」 というような流儀も存在して、これも広く用いられている。計算機においては、負の数の表現方法にも因る話であるので、プログラムに剰余計算をさせるときなどは注意が必要である。自然数の場合にはこのような混乱は生じない。
[編集] 実数の除法
実数は有理数の極限として表され、それによって有理数の演算から実数の演算が矛盾なく定義される。すなわち、任意の実数 x, y (y ≠ 0) に対し xn → x, yn → y (n → ∞) を満たす有理数の列 {xn}n∈N, {yn}n∈N (例えば、x, y の小数表示を第 n 桁までで打ち切ったものを xn, yn とするような数列)が与えられたとき
と定めると、この値は極限値が x, y である限りにおいて数列のとり方によらずに一定の値をとる。これを実数の商として定めるのである。また、この実数の除法を用いれば複素数の除法が、任意の複素数 a + ib, c + id に対して
として定義できる。
[編集] 0で割ること
代数的には、除法は乗法の逆の演算として定義される。つまり a を b で割るという除法は
を満たす唯一つの x を与える演算でなければならない。ここで、唯一つというのは簡約律
が成立するということを意味する。この簡約律が成立しないということは、bx = by という条件だけからは x = y という情報を得たことにはならないということであり、そのような条件下で強いて除法を定義したとしても益が無いのである。
実数の乗法において、簡約が不能な一つの特徴的な例として b = 0 である場合、つまり「0 で割る」という操作を挙げることができる。実際、b = 0 であるとき a = bx によって除法 a ÷ b を定めようとすると、もちろん a = 0 である場合に限られるが、いかなる x, y についても 0x = 0 = 0y が成立してしまって x の値は定まらない。無論、a ≠ 0 ならば a = 0x なる x は存在せず a ÷ b は定義不能である。つまり、実数のもつ代数的な構造と 0 による除算は両立しない。
また、b ≠ 0 であるならば、a を b で割った商 a/b が存在するが、ここで a/b の b → 0 となる極限を考えると、これは a ≠ 0 ならば存在しない。実際、a > 0 のとき左右の極限を比較すれば
であり、a < 0 のときは符号が逆になるがやはり一致しないことが確かめられる。したがって、このような極限によっても 0 による除算を考えることはできない。つまり、実数のもつ解析的な構造と 0 による除算は両立しない。
一方、幾何学的には射影化(斉次化)という操作により、記号 ∞ を実数に唯一つ付け加えて a ≠ 0 に対し、∞ = a/0 として扱うことができる。その意味は、実数の組 a, b に対して、b ≠ 0 ならば斉次座標[1] [a : b] は [a/b : 1] に等しく、埋め込み
を取ることができて、なおかつ ∞ = [a : 0] となるということである。この立場では、厳密性を求めないのであれば −∞ = ∞ とおいて数直線の両端をつないだと思えばよいのであるが、P は円であると見なすことができる。しかし、この P 上の幾何学においては長さの概念を考えることができないし、もちろん P の全体にわたって R の演算と両立する代数的な構造を取り戻すということもできない。実際、∞ を含むような計算では、1/0 = ∞ であるとか規約として ∞ + ∞ = ∞ や a ≠ 0 に対して a × ∞ = ∞ などとすることはできるが、∞ − ∞ や 0 × ∞, ∞/∞, 0/0 などは結局のところ定まらない。