剰余とは
数学における
剰余(じょうよ、英: remainder)とは、ある種の計算を実行した後の「あまり」の量を指します。
算術においては、
整数を別の
整数で割った際に生じる「あまり」の
整数を指します。多項式においては、多項式を別の多項式で割った際に生じる「あまり」の多項式を指します。剰余演算は、被除数と除数が与えられたときに、商と剰余を得る演算です。
日常会話では、「2
ドルを私に返して、残りはそちらで持っておいてくれ」のように、「残り」(rest)という言葉が使われることが多いですが、
数学では「剰余」という用語が使われます。また、関数を級数展開する際の「誤差」も剰余項として扱われます。
最小正剰余
整数 a を 0 でない
整数 d で割ったとき、以下の式を満たす一意の
整数 q(商)と r(剰余)が存在します。
a = qd + r (0 ≤ r < |d|)
r は
最小正剰余または単に
剰余と呼ばれます。
整数 a は、d の倍数であるか、q⋅d と (q + 1)d の間の数のいずれかです。
最小絶対剰余
場合によっては、a ができるだけ d の
整数倍に近づくようにすると便利なことがあります。このとき、以下の式を満たす
整数 k と s が存在します。
a = kd + s (|s| ≤ |d/2|)
s は
最小絶対剰余と呼ばれます。ただし、d = 2n かつ s = ±n の場合は、k と s が一意に定まらない場合があります。
例
43 を 5 で割る場合:
最小正剰余:43 = 8 × 5 + 3 → 3
最小絶対剰余:43 = 9 × 5 − 2 → -2
43 を -5 で割る場合:
最小正剰余:43 = (-8) × (-5) + 3 → 3
最小絶対剰余:43 = (-9) × (-5) + (-2) → -2
42 を 5 で割る場合:
最小正剰余かつ最小絶対剰余:42 = 8 × 5 + 2 → 2
これらの例から、負の最小絶対剰余は、最小正剰余から d を引くことで得られることがわかります。一般に、d で割った際、両方の剰余は正で等しいか、正負が逆になります。正の剰余を r1、負の剰余を r2 とすると、
r1 = r2 + d
が成り立ちます。
浮動小数点数の剰余
a と d が浮動小数点数で、d がゼロでないとき、a は d で割り切れ、商は別の浮動小数点数になります。しかし、商を整数値に制限すると、剰余の概念が必要になります。この場合、a = qd + r (0 ≤ r < |d|) を満たす唯一の整数商 q と浮動小数点数剰余 r が存在します。多くのプログラミング言語では、浮動小数点数の剰余演算が実装されています。
剰余を計算する際には、負の数が関わると実装上の問題が発生します。プログラミング言語ごとに異なる慣習が採用されています。例えば:
Pascal: `mod` 演算の結果が正になるように定義されています。d が負や 0 の場合はエラーとなります。
C99: 剰余が被除数 a と同じ符号になるように定義されています。
Perl, Python: 剰余が除数 d と同じ符号になるように定義されています。
Scheme: `remainder` と `modulo` の2つの関数を提供し、それぞれ剰余の符号の決定方法が異なります。
Ada, PL/I|PL_I, Fortran, Common Lisp, Haskell: 同様に、`mod` と `rem`(または `modulo`)を提供し、剰余の符号の決定方法が異なります。
多項式の剰余
多項式の
除法は、
整数の
除法と類似しており、多項式の剰余が導かれます。体(
実数や
複素数)上で定義された一変数多項式 a(x) と b(x) (b(x) は非零) が与えられたとき、以下の式を満たす多項式 q(x) (商) と r(x) (剰余) が存在します。
a(x) = b(x)q(x) + r(x) (deg(r(x)) < deg(b(x)))
ここで `deg(..)` は多項式の次数を表します。この式を満たす q(x) と r(x) は一意に定まります。
整数の
除法では剰余は「非負かつ除数より小さい」という制約がありましたが、多項式の
除法では、剰余の次数が除数の次数より小さいという制約になります。この類似性から、ユークリッド
除法が成立する一般的な代数的な条件を探求するきっかけとなっています。このような定理が成り立つ環をユークリッド環と呼びますが、この一般性では商と剰余の一意性は保証されません。
剰余の定理
多項式の
除法から、以下の
剰余の定理が導かれます。
多項式 f(x) を x - k で割ったときの剰余は、定数 r = f(k) に等しい。
特に、f(k) = 0 の場合、f(x) は x - k を因数に持つことになります(
因数定理)。
関連項目
ユークリッドの互除法
合同算術
モジュロ演算
出典
Larson, Ron; Hostetler, Robert (2007), Precalculus:A Concise Course
Ore, Oystein (1988), Number Theory and Its History
Rotman, Joseph J. (2006), A First Course in Abstract Algebra with Applications
Smith, David Eugene (1958), History of Mathematics, Volume 2
参考文献
Davenport, Harold (1999). The higher arithmetic: an introduction to the theory of numbers.
Katz, Victor, ed (2007). The mathematics of Egypt, Mesopotamia, China, India, and Islam : a sourcebook.
Schwartzman, Steven (1994). "remainder (noun)". The words of mathematics : an etymological dictionary of mathematical terms used in english.
* Zuckerman, Martin M. Arithmetic: A Straightforward Approach.