2021/05/05 16:56 更新
床関数に関する覚書
158 いいね ブックマーク
目次

はじめに

床関数は高校数学でもガウス記号によって表現される名の知れた関数です.この記事は私自身がなぜか毎回どうなるか忘れている床関数に関する性質を覚書程度に書き残したものです.
中身には期待しないでください.

$$\gdef\setR{\mathbb{R}} \gdef\setZ{\mathbb{Z}} \gdef\setN{\mathbb{N}} \gdef\floor#1{\left\lfloor#1\right\rfloor} \gdef\ceiling#1{\left\lceil#1\right\rceil} \gdef\set#1{\left\{#1\right\}}$$

前提知識

$x \in \setR$に対して$\floor{x}$を$x$を超えない最大の整数とします.式で書けば

$$\floor{x} \coloneqq \max \set{y \in \setZ \mid y \le x}$$

となります.この関数は床関数 (floor function) と呼ばれるもので基本的な関数です.ちなみにこの対となる関数,すなわち$x$を下回らない最小の整数を表す関数は天井関数 (ceiling function) と呼ばれ,次のように定義できます.

$$\ceiling{x} \coloneqq \min \set{y \in \setZ \mid y \ge x}$$

個人的には,「床」と「天井」という身近なものの名前が出てくる上,その名前と意味が上手に対応しているので割と好きです.

なお天井関数は好きだから紹介しただけで,以下では登場しません.

床関数と加法の両立性の有無

この章では,床関数と加法が両立するか,すなわち$\floor{x + y} = \floor{x} + \floor{y}$が成り立つかを見ていきます.

命題 1.1

$\Delta(x,y) = \floor{x + y} - (\floor{x} + \floor{y})$とおくと,$\Delta(x,y) = 0,1$である.

証明.
$I_x, I_y \in \setZ$及び$0 \le D_x, D_y < 1$なる実数$D_x$と$D_y$を用いて,$x = I_x + D_x$,$y = I_y + D_y$と書き表しておけば,

$$\begin{aligned} \Delta(x,y) &= \floor{I_x + I_y + D_x + D_y} - (I_x + I_y) \\ &= I_x + I_y + \floor{D_x + D_y} - (I_x + I_y) \\ &= \floor{D_x + D_y} \end{aligned}$$

$0 \le D_x,D_y < 1$であるから,$0 \le D_x + D_y < 2$.したがって,$\floor{D_x + D_y} = 0, 1$である.■


以上より,床関数は加法と両立しないことが分かります.

$x$や$y$を正の実数で割ってみたらどうなるかというとさほど変わりません.

命題 1.2

$r$を正の実数とする.$\Delta(r,x,y) = \floor{\dfrac{x + y}{r}} - \left( \floor{\dfrac{x}{r}} + \floor{\dfrac{y}{r}} \right)$とおくと,$\Delta(r,x,y) = 0,1$である.

証明.
先ほど同様に$I_x, I_y \in \setZ$および$0 \le D_x, D_y < r$なる実数$D_x$と$D_y$を用いて,$x = rI_x + D_x$,$y = rI_y + D_y$と書き表しておけば,

$$\begin{aligned} \Delta(r,x,y) &= \floor{\frac{r(I_x + I_y) + D_x + D_y}{r}} - (I_x + I_y) \\ &= I_x + I_y + \floor{\frac{D_x + D_y}{r}} - (I_x + I_y) \\ &= \floor{\frac{D_x + D_y}{r}} \end{aligned}$$

$0 \le D_x,D_y < r$であるから,$0 \le \dfrac{D_x + D_y}{r} < 2$.したがって,$\floor{\dfrac{D_x + D_y}{r}} = 0, 1$である.■


引数が2個ではなくもっと増えても同様です.

命題 1.3

$r$を正の実数とする.$\Delta(r,x_1,x_2,\dots,x_n) = \floor{\dfrac{x_1 + x_2 + \cdots + x_n}{r}} - \left( \floor{\dfrac{x_1}{r}} + \floor{\dfrac{x_2}{r}} + \dots + \floor{\dfrac{x_n}{r}} \right)$とおくと,$\Delta(r,x,y) = 0,1,2,\dots,n-1$に限られる.

証明.
先ほど同様に$I_1, I_2,\dots,I_n \in \setZ$および$0 \le D_1, D_2, \dots, D_n < r$なる実数$D_1, \dots, D_n$を用いて,$x_i = rI_i + D_i$ ($i=1,\dots,n$) と書き表しておけば,

$$\begin{aligned} \Delta(r,x_1,x_2,\dots,x_n) &= \floor{\frac{r(I_1 + I_2 + \dots + I_n) + D_1 + D_2 + \dots + D_n}{r}} - (I_1 + I_2 + \dots + I_n) \\ &= \sum_{i=1}^{n} I_i + \floor{\frac{1}{r} \sum_{i=1}^{n} D_i} - \sum_{i=1}^{n} I_i \\ &= \floor{\frac{1}{r} \sum_{i=1}^{n} D_i} \end{aligned}$$

$0 \le D_1,D_2, \dots, D_n < r$であるから,${\displaystyle 0 \le \frac{1}{r} \sum_{i=1}^{n} D_i < n}$.したがって,${\displaystyle \floor{\frac{1}{r} \sum_{i=1}^{n} D_i} =0,1,\dots,n-1}$である.■


床関数と整数除算について

この章は2021年5月5日に追記しました.

この章では$x \in \setR$に対して,それを自然数$n \in \setN_{>0}$で割ったものとそれの床関数の値の関係を調べます.

命題 2.1

$x \in \setR$を実数とする.$n \in \setN_{>0}$を正の整数とする.このとき,

$$\floor{\frac{x}{n}} = \floor{\frac{\floor{x}}{n}}$$

である.

証明.
$r = x/n - \floor{x/n}$とおく.このとき,$0 \le r < 1$が成り立つ.すると,$x$および$\floor{x}$については

$$\begin{aligned} x &= n \times \floor{\frac{x}{n}} + nr, \\ \floor{x} &= \floor{n \times \floor{\frac{x}{n}} + nr} = n \times \floor{\frac{x}{n}} + \floor{nr} \end{aligned}$$

が成り立つ.よって,$\floor{\floor{x}/n}$については

$$\floor{\frac{\floor{x}}{n}} = \floor{\floor{\frac{x}{n}} + \frac{\floor{nr}}{n}} = \floor{\frac{x}{n}} + \floor{\frac{\floor{nr}}{n}}$$

が成り立つ.ここで$0 \le r < 1$であるから,$0 \le nr < n$が成り立ち,したがって,

$$\floor{\frac{\floor{nr}}{n}} = 0$$

である.以上により主張が従う.■