床関数と天井関数

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動先: 案内検索
床関数
天井関数

床関数(ゆかかんすう)と天井関数(てんじょうかんすう)は、任意の実数に対し整数を対応付ける関数である。

floor」や「ceiling」といった名称やその他の記法は、1962年ケネス・アイバーソンによって導入された[1]

床関数[編集]

床関数は、実数 に対して 以下の最大の整数と定義され、

  •  (ガウス記号

などと書かれる。記号 は、カール・フリードリヒ・ガウスが7つの証明を示した平方剰余の相互法則の3番目の証明に用いた(1808年)ので、ガウス記号と呼ばれて、日本、中国、ドイツなどでよく使われている。日本の高校数学や大学入試ではガウス記号が使われることがほとんどである。

床関数を数式で表すと次のようになる。

実数 に対し、整数部分小数部分と呼ぶ。小数部分は とも書かれる。整数部分の値は床関数の値そのものであるから、例えば -2.3 の整数部分は -2 ではなく -3 であること、また小数部分は -0.3 ではなく 0.7 であることに注意が必要である(ただし、-2.3 の整数部分を -2 と定義する流儀(「切り捨て式」)もあるが一般的ではない。またプログラミング言語によっては「切り捨て式」を採用しているものがある)。小数部分は、任意の実数に対して 0 以上 1 未満である。

例えば、

  •           小数部分 = 0.68
  •     小数部分 = 0.71828....
  •      小数部分 = 0.2801....
  •           小数部分 = 0
  •        小数部分 = 0.32
  •       小数部分 = 0.8584....

といった具合である。

任意の有理数帯分数で表せる、すなわち整数と真分数とに分解して表示できるが、この整数と真分数との関係は実数の整数部分と小数部分の関係に拡張され、任意の実数は整数部分と小数部分とに分解して表示できる。

天井関数[編集]

床関数と密接に関係しているのが天井関数である。

天井関数は、実数 に対して 以上の最小の整数と定義され、

などと書かれる。これを数式で表すと次のようになる。

例えば、

  •  

といった具合である。

床関数と天井関数の性質[編集]

  • 任意の実数 に対し、次の式が成り立つ。

定義によって、

  • 任意の実数 に対し、次の式が成り立つ。
  • 任意の整数 に対し、次の式が成り立つ。
    .
  • 床関数と天井関数は冪等である。つまり、次の式が成り立つ。
  • が整数のとき、次の式が成り立つ。
  • 床関数も天井関数も連続ではないが、半連続(床関数は上半連続、天井関数は下半連続)である。床関数と天井関数は区分的に定数関数であり、微分係数が存在する (すなわち、整数でない )では微分係数は 0 である。
  • 任意の実数 の小数点以下を四捨五入した値は、次の式で表される。
  • 任意の整数でない実数 に対し、床関数と天井関数は次のようにフーリエ級数展開できる。
  • 任意の実数 に対し、床関数と天井関数の平均は次のようにフーリエ級数展開できる。

床関数の性質[編集]

  • かつ のとき、次の式が成り立つ。
  • が整数のとき、 は同値である。意匠を凝らした言い方では、床関数はガロア接続の片翼を担っており、整数を実数へ埋め込む関数の upper adjoint である。
  • 床関数を用いると、いくつかの素数生成式をつくることができる (ただしこれらは実際の計算には役立たない)。
  • 互いに素であるの整数 に対し、次の式が成り立つ。
  • ビーティの定理 (Beatty's theorem) は、任意の正の無理数が、床関数を用いて自然数の集合を2つに分ける方法を表している。
  • 正の整数 進数で表すと、 桁となる。

切り捨て[編集]

床関数は実数から整数への関数であるが、一般に実数の切り捨てとは任意の桁においても行われるものであり、小数第1位での切り捨てとは限らない。

組版[編集]

床関数・天井関数は、 のように上下の欠けた角括弧で表される。これは、LaTeX では \lfloor\rfloor\lceil\rceil と書かれる。Unicode では U+2308U+230B に割り当てられている。

記号 Unicode JIS X 0213 文字参照 名称
U+2308 - ⌈
⌈
LEFT CEILING
U+2309 - ⌉
⌉
RIGHT CEILING
U+230A - ⌊
⌊
LEFT FLOOR
U+230B - ⌋
⌋
RIGHT FLOOR

脚注[編集]

[ヘルプ]
  1. ^ Kenneth E. Iverson. (1962) (Eng.). A Programming Language. Wiley. ISBN 0471430145. OCLC 523128.