床関数と天井関数

床関数（ゆかかんすう、英: floor function）と天井関数（てんじょうかんすう、英: ceiling function）は、実数に対しそれぞれそれ以下の最大あるいはそれ以上の最小の整数を対応付ける関数である。 “floor”や“ceiling”といった名称や” ⌊ ⌋ {\displaystyle \lfloor \quad \rfloor } ”、” ⌈ ⌉ {\displaystyle \lceil \quad \rceil } ”などの記法は、1962年にケネス・アイバーソンによって導入された。 床関数は、実数 x に対して x 以下の最大の整数と定義され、 ⌊ x ⌋ {\displaystyle \lfloor x\rfloor } floor ⁡ ( x ) {\displaystyle \operatorname {floor} (x)} [ x ] {\displaystyle [x]} などと書かれる。3つめの記号はガウス記号と呼ばれる。カール・フリードリヒ・ガウスが7つの証明を示した平方剰余の相互法則の3番目の証明に用いた（1808年）ことに由来する。日本、中国、ドイツなどでよく使われている。日本の高校数学や大学入試ではガウス記号が使われることがほとんどである。 床関数を数式で表すと次のようになる。 ⌊ x ⌋ = max { n ∈ Z ∣ n ≤ x } . {\displaystyle \lfloor x\rfloor =\max\{n\in \mathbb {Z} \mid n\leq x\}.} 実数 x に対し、 ⌊ x ⌋ {\displaystyle \lfloor x\rfloor } を整数部分、 x − ⌊ x ⌋ {\displaystyle x-\lfloor x\rfloor } を小数部分と呼ぶ。小数部分は x mod 1 や {x} とも書かれる。整数部分の値は床関数の値そのものであるから、例えば −2.3 の整数部分は −2 ではなく −3 であること、また小数部分は −0.3 ではなく 0.7 であることに注意が必要である（ただし、−2.3 の整数部分を −2 と定義する流儀（「0への丸め」）もあるが一般的ではない。またプログラミング言語によっては「0への丸め」を採用しているものがある）。任意の実数の小数部分は、0 以上 1 未満である。 例えば、以下のようになる。 ⌊ 4.68 ⌋ = 4 , { 4.68 } = 0.68 {\displaystyle \lfloor 4.68\rfloor =4,\;\{4.68\}=0.68} ⌊ 5 ⌋ = 5 , { 5 } = 0 {\displaystyle \lfloor 5\rfloor =5,\;\{5\}=0} ⌊ e ⌋ = ⌊ 2.71828 … ⌋ = 2 , { e } = 0.71828 … {\displaystyle \lfloor e\rfloor =\lfloor \mathrm {2.71828\ldots } \rfloor =2,\;\{e\}=0.71828\ldots } ⌊ 53 ⌋ = ⌊ 7.2801 … ⌋ = 7 , { 53 } = 0.2801 … {\displaystyle \lfloor {\sqrt {53}}\rfloor =\lfloor 7.2801\ldots \rfloor =7,\;\{{\sqrt {53}}\}=0.2801\ldots } ⌊ − 4 ⌋ = − 4 , { − 4 } = 0 {\displaystyle \lfloor -4\rfloor =-4,\;\{-4\}=0} ⌊ − 4.68 ⌋ = − 5 , { − 4.68 } = 0.32 {\displaystyle \lfloor -4.68\rfloor =-5,\;\{-4.68\}=0.32} ⌊ − π ⌋ = ⌊ − 3.14159 … ⌋ = − 4 , { − π } = 0.8584 … {\displaystyle \lfloor -\pi \rfloor =\lfloor -3.14159\ldots \rfloor =-4,\;\{-\pi \}=0.8584\ldots } 任意の有理数は帯分数で表せる、すなわち整数と真分数とに分解して表示できるが、この整数と真分数との関係は実数の整数部分と小数部分の関係に拡張され、任意の実数は整数部分と小数部分とに分解して表示できる。 床関数と密接に関係しているのが天井関数である。天井関数は実数 x に対して x 以上の最小の整数と定義され、 ⌈ x ⌉ {\displaystyle \lceil x\rceil } ceil ⁡ ( x ) {\displaystyle \operatorname {ceil} (x)} ceiling ⁡ ( x ) {\displaystyle \operatorname {ceiling} (x)} などと書かれる。これを数式で表すと次のようになる。 ⌈ x ⌉ = min { n ∈ Z ∣ x ≤ n } . {\displaystyle \lceil x\rceil =\min\{n\in \mathbb {Z} \mid x\leq n\}.} 例えば、以下のようになる。 ⌈ 4.68 ⌉ = 5 {\displaystyle \lceil 4.68\rceil =5} ⌈ 5 ⌉ = 5 {\displaystyle \lceil 5\rceil =5} 　 ⌈ e ⌉ = ⌈ 2.71828 … ⌉ = 3 {\displaystyle \lceil e\rceil =\lceil 2.71828\ldots \rceil =3} ⌈ 3 ⌉ = ⌈ 1.732 … ⌉ = 2 {\displaystyle \lceil {\sqrt {3}}\rceil =\lceil 1.732\ldots \rceil =2} ⌈ − π ⌉ = ⌈ − 3.14159 … ⌉ = − 3 {\displaystyle \lceil -\pi \rceil =\lceil -3.14159\ldots \rceil =-3} 以下 x は任意の実数とする。次の式が成り立つ。 ⌊ x ⌋ ≤ x < ⌊ x ⌋ + 1 {\displaystyle \lfloor x\rfloor \leq x<\lfloor x\rfloor +1} x − 1 < ⌊ x ⌋ ≤ x {\displaystyle x-1<\lfloor x\rfloor \leq x} ⌈ x ⌉ − 1 ≤ ⌊ x ⌋ ≤ x ≤ ⌈ x ⌉ ≤ ⌊ x ⌋ + 1 {\displaystyle \lceil x\rceil -1\leq \lfloor x\rfloor \leq x\leq \lceil x\rceil \leq \lfloor x\rfloor +1} ⌈ x ⌉ = − ⌊ − x ⌋ {\displaystyle \lceil x\rceil =-\lfloor -x\rfloor } ⌊ x ⌋ = − ⌈ − x ⌉ {\displaystyle \lfloor x\rfloor =-\lceil -x\rceil } 任意の整数 k に対し、 ⌊ k 2 ⌋ + ⌈ k 2 ⌉ = k {\displaystyle \left\lfloor {\frac {k}{2}}\right\rfloor +\left\lceil {\frac {k}{2}}\right\rceil =k} . 床関数と天井関数は広義単調増加関数である、すなわち x 1 ≤ x 2 ⇒ ⌊ x 1 ⌋ ≤ ⌊ x 2 ⌋ {\displaystyle x_{1}\leq x_{2}\Rightarrow \lfloor x_{1}\rfloor \leq \lfloor x_{2}\rfloor } x 1 ≤ x 2 ⇒ ⌈ x 1 ⌉ ≤ ⌈ x 2 ⌉ {\displaystyle x_{1}\leq x_{2}\Rightarrow \lceil x_{1}\rceil \leq \lceil x_{2}\rceil } 床関数と天井関数は冪等である、すなわち ⌊ ⌊ ⋯ ⌊ x ⌋ ⋯ ⌋ ⌋ = ⌊ ⌊ x ⌋ ⌋ = ⌊ x ⌋ {\displaystyle \left\lfloor \left\lfloor \cdots \left\lfloor x\right\rfloor \cdots \right\rfloor \right\rfloor =\left\lfloor \lfloor x\rfloor \right\rfloor =\lfloor x\rfloor } ⌈ ⌈ ⋯ ⌈ x ⌉ ⋯ ⌉ ⌉ = ⌈ ⌈ x ⌉ ⌉ = ⌈ x ⌉ {\displaystyle \left\lceil \left\lceil \cdots \left\lceil x\right\rceil \cdots \right\rceil \right\rceil =\left\lceil \lceil x\rceil \right\rceil =\lceil x\rceil } 任意の整数 k に対し、 ⌊ k + x ⌋ = k + ⌊ x ⌋ {\displaystyle \lfloor {k+x}\rfloor =k+\lfloor x\rfloor } ⌈ k + x ⌉ = k + ⌈ x ⌉ {\displaystyle \lceil {k+x}\rceil =k+\lceil x\rceil } 床関数も天井関数も連続ではないが、半連続（床関数は上半連続、天井関数は下半連続）である。床関数と天井関数は区分的に定数関数であり、微分係数が存在する x（すなわち、整数でない x）では微分係数は 0 である。 x の小数点以下を四捨五入した値は、次の式で表される。 ⌊ x + 0.5 ⌋ ( x ≥ 0 ) {\displaystyle \lfloor x+0.5\rfloor \quad (x\geq 0)} ⌈ x − 0.5 ⌉ ( x ≤ 0 ) {\displaystyle \lceil x-0.5\rceil \quad (x\leq 0)} x が整数でないとき、床関数と天井関数は次のようにフーリエ級数展開できる。 ⌊ x ⌋ = x − 1 2 + 1 π ∑ k = 1 ∞ sin ⁡ ( 2 π k x ) k . {\displaystyle \lfloor x\rfloor =x-{\frac {1}{2}}+{\frac {1}{\pi }}\sum _{k=1}^{\infty }{\frac {\sin(2\pi kx)}{k}}.} ⌈ x ⌉ = x + 1 2 + 1 π ∑ k = 1 ∞ sin ⁡ ( 2 π k x ) k . {\displaystyle \lceil x\rceil =x+{\frac {1}{2}}+{\frac {1}{\pi }}\sum _{k=1}^{\infty }{\frac {\sin(2\pi kx)}{k}}.} 床関数と天井関数の平均は次のようにフーリエ級数展開できる。 1 2 ( ⌊ x ⌋ + ⌈ x ⌉ ) = x + 1 π ∑ k = 1 ∞ sin ⁡ ( 2 π k x ) k . {\displaystyle {\frac {1}{2}}\left(\lfloor x\rfloor +\lceil x\rceil \right)=x+{\frac {1}{\pi }}\sum _{k=1}^{\infty }{\frac {\sin(2\pi kx)}{k}}.} x > 0 かつ n > 0 のとき、次の式が成り立つ。 ⌊ n x ⌋ ≥ n x − x − 1 x . {\displaystyle \left\lfloor {\frac {n}{x}}\right\rfloor \geq {\frac {n}{x}}-{\frac {x-1}{x}}.} n が整数のとき、n ≤ x と n ≤ ⌊ x ⌋ {\displaystyle n\leq \lfloor x\rfloor } は同値である。意匠を凝らした言い方では、床関数はガロア接続の片翼を担っており、整数を実数へ埋め込む関数の上随伴である。 床関数を用いると、いくつかの素数生成式をつくることができる (ただしこれらは実際の計算には役立たない)。1つの例として、 n {\textstyle n} 番目の素数 p ( n ) {\textstyle p(n)} は p ( n ) = 1 + ∑ j = 1 2 n ⌊ n ∑ i = 1 j ⌊ cos 2 ⁡ ( i − 1 ) ! + 1 i π ⌋ n ⌋ . {\displaystyle p(n)=1+\sum _{j=1}^{2^{n}}\left\lfloor {\sqrt[{n}]{\frac {n}{\sum _{i=1}^{j}\left\lfloor \cos ^{2}{\frac {(i-1)!+1}{i}}\pi \right\rfloor }}}\right\rfloor .} 互いに素である正の整数 m, n に対し、次の式が成り立つ。 ∑ i = 1 n − 1 ⌊ i m n ⌋ = ( m − 1 ) ( n − 1 ) 2 . {\displaystyle \sum _{i=1}^{n-1}\left\lfloor {\frac {im}{n}}\right\rfloor ={\frac {(m-1)(n-1)}{2}}.} ビーティの定理は、任意の正の無理数が、床関数を用いて自然数の集合を2つに分ける方法を表している。 正の整数 k を n 進法で表すと、 ⌊ log n ⁡ k ⌋ + 1 {\displaystyle \lfloor \log _{n}k\rfloor +1} 桁となる。 床関数は実数から整数への関数であるが、一般に実数の切り捨てとは任意の桁においても行われるものであり、小数第1位での切り捨てとは限らない。 床関数は ⌊ x ⌋ {\displaystyle \lfloor x\rfloor } 、天井関数は ⌈ x ⌉ {\displaystyle \lceil x\rceil } と上下の欠けた角括弧で表される。これらは、LaTeX では \lfloor, \rfloor, \lceil, \rceil と書かれる。Unicode では U+2308 から U+230B に割り当てられている。