剰余
数学において剰余(じょうよ、英: remainder)とは、ある種の計算を実行した後の「あまり」の量を指す。算術においては、剰余とはある整数を別の整数で割って(除法、割り算)商を得る際に「あまる」整数のことを指す(整数除法)。多項代数学においては、剰余とはある多項式を別の多項式で割った際の「あまり」を指す。剰余演算は被除数(dividend)と除数(divisor)が与えられた際にそのような乗除を得るような演算である。
他に、ある数から別の数を引いた(減法、引き算)際に残された数のことも剰余と呼ばれるが、こちらは「差」という言い方がより正確である。この用法はいくつかの初歩的な教科書で見られる。会話では「2ドルを私に返して、残りはそちらで持っておいてくれ」といったようにしばしば「残り」(rest)という語に置き換えられる[1]。しかしながら、「剰余」という用語はこの用法であっても、函数を級数展開する際に「誤差」が剰余項として使われる。
整数除法
編集a を整数、d を0でない整数とすると、式 a = qd + r(0 ≤ r < |d|)を満たすただ一組の整数 q および r が存在する。ここで q は「商」、r は「剰余」とそれぞれ呼ばれる。
(この結果の証明は en:Euclidean division を参照。どのように剰余を計算するかのアルゴリズムについては除算 (デジタル)を参照。)
上で定義されたような剰余は「最小正剰余」あるいは単に「剰余」と呼ばれる[2]。整数 a は d の倍数か、(q を正として)q⋅d と (q + 1)d の間にある数のどちらかである。
いくつかの場合、a ができる限り d の整数倍になるようにすると便利である。このとき、いくつかの整数 k に対して
- a = k⋅d + s(ただし |s| ≤ |d/2|)
となる。
この場合、s は「最小絶対剰余」と呼ばれる[3]。商および剰余と同様に、d = 2n かつ s = ± n の場合を除き、k と s は一意に定まる。例外の場合、
- a = k⋅d + n = (k + 1)d − n
となる。 固有の剰余はいくつかの条件(例えば s は正に限る)などの条件を付け加えた場合に得られる。
例
編集43を5で割る場合、
- 43 = 8 × 5 + 3
となり、3が最小正剰余となる。また
- 43 = 9 × 5 − 2
となるから、−2が最小絶対剰余となる。
これらの定義は d が負の場合も有効である。例えば43を−5で割ると
- 43 = (−8) × (−5) + 3
より3が最小正剰余となり、一方
- 43 = (−9) × (−5) + (−2)
より−2が最小絶対剰余となる。
42を5で割ると
- 42 = 8 × 5 + 2
となり、2 < 5/2 であるから、2は最小正剰余かつ最小絶対剰余となる。
これらの例において、(負の)最小絶対剰余は最小正剰余から5、すなわち d を引くことで得られる。このことは一般に成り立つ。d で割った際、両方の剰余は正でそれゆえ等しくなるか、あるいは正負が真逆になる。正剰余を r1 とし、負のものを r2 とすると
- r1 = r2 + d
となる。
浮動小数点数
編集a および d が浮動小数点数で、かつ d がゼロでない時、a は d によって剰余なしで割り切れ、その商は別の浮動小数点数となる。しかしながら、商を整数値に制限するとき、剰余の概念が必要となる。a = qd + r(ただし 0 ≤ r < |d|)を満たすような唯一つの整数商 q および浮動小数点数剰余 r が存在することを示せる。
上記のような、剰余の概念を浮動小数点数へ拡張することは数学の理論上重要ではない。しかしながら、多くのプログラミング言語はこの定義を実装している(剰余演算を参照)。
プログラミング言語
編集定義そのものは困難ではないが、剰余を計算する際に負の数が関わることによる実装の問題が存在する。プログラミング言語ごとに異なる慣習が採用されている。以下に例を示す。
- Pascal は mod 演算の結果が正になるよう選び、d が負や0になるのを許容していない(それゆえ a = (a div d ) × d + a mod d は必ずしも成り立たない)[4]。
- C99 は剰余が被除数 a と同じ符号になるよう選ぶ[5]。(C99より前では、C言語は他の選択肢を許容していた)
- Perl と Python(新しい版[どれ?]のみ)は剰余が除数 d と同じ符号になるよう選ぶ[6]。
- Schemeは2つの関数
remainder
とmodulo
を提供している。AdaとPL/Iはmod
とrem
を、Fortranはmod
とmodulo
を持っている。それぞれ、前者が被除数に、後者が除数に符号を合わせる。Common LispとHaskellもmod
とrem
を持っているが、mod
は除数の符号を使用し、rem
は被除数の符号を使用する。[要出典]
多項式の除法
編集多項式のユークリッド除法は整数のユークリッド除法とよく似ており、多項式剰余が導かれる。その存在は次の定理に基づく。ある体(特に実数あるいは複素数)上で定義された一変数多項式 a(x) および b(x)(b(x) は非零多項式)が与えられたとき、
であるような式
を満たす2つの多項式 q(x)(商)および r(x)(剰余)が存在する[7]。ただし「deg(...)」は多項式の次数を表す(値が常に0となるような定数多項式の次数は負と定義できることから、この次数条件は剰余に関して常に成り立つ)。さらに、それぞれの関係から q(x) および r(x) は一意に定まる。
ユークリッドの整数除法との違いとして、次数条件が剰余 r の境界(非負かつ除数より小さい、このことによって r の一意性が保たれる)に置き換わることがあげられる。整数除法と多項式の除法の類似性から、ユークリッド除法が成立するもっとも一般的な代数学的条件の追求が促されている。このような定理が存在する環をユークリッド整域と呼ぶが、この一般性では商および剰余の一意性は保証されていない[8]。
多項式の除法から剰余の定理(多項式 f(x) を x − k で割るとき、その剰余は定数 r = f(k) となる)と呼ばれる結果が導かれる[9][10]。特に、r = f(k) = 0ならば、f(x)はx − kを因数に持つ(因数定理)。
関連項目
編集- 中国の剰余定理
- 倍数判定法
- エジプト式乗法・除法
- ユークリッドの互除法
- 長除法
- 合同算術
- 多項式の長除法
- 組立除法
- ルフィニ法ー組立除法の特殊例
- テイラーの定理
出典
編集- ^ Smith 1958, p. 97
- ^ Ore 1988, p. 30. ただし剰余が0の(すなわち、正の数でない)場合でも「正剰余」と呼ばれる。
- ^ Ore 1988, p. 32
- ^ Pascal ISO 7185:1990 6.7.2.2
- ^ “C99 specification (ISO/IEC 9899:TC2)” (2005年5月6日). 16 August 2018閲覧。
- ^ “Built-in Functions — Python 3.10.7 documentation” (2022年9月9日). 10 September 2022閲覧。
- ^ Larson & Hostetler 2007, p. 154
- ^ Rotman 2006, p. 267
- ^ Larson & Hostetler 2007, p. 157
- ^ Weisstein, Eric W.. “Polynomial Remainder Theorem” (英語). mathworld.wolfram.com. 2020年8月27日閲覧。
参考文献
編集- Larson, Ron; Hostetler, Robert (2007), Precalculus:A Concise Course, Houghton Mifflin, ISBN 978-0-618-62719-6
- Ore, Oystein (1988), Number Theory and Its History, Dover, ISBN 978-0-486-65620-5
- Rotman, Joseph J. (2006), A First Course in Abstract Algebra with Applications (3rd ed.), Prentice-Hall, ISBN 978-0-13-186267-8
- Smith, David Eugene (1958), History of Mathematics, Volume 2, New York: Dover, ISBN 0486204308
関連図書
編集- Davenport, Harold (1999). The higher arithmetic: an introduction to the theory of numbers. Cambridge, UK: Cambridge University Press. p. 25. ISBN 0-521-63446-6
- Katz, Victor, ed (2007). The mathematics of Egypt, Mesopotamia, China, India, and Islam : a sourcebook. Princeton: Princeton University Press. ISBN 9780691114859
- Schwartzman, Steven (1994). "remainder (noun)". The words of mathematics : an etymological dictionary of mathematical terms used in english. Washington: Mathematical Association of America. ISBN 9780883855119。
- Zuckerman, Martin M. Arithmetic: A Straightforward Approach. Lanham, Md: Rowman & Littlefield Publishers, Inc. ISBN 0-912675-07-1