Floor function

From Free net encyclopedia

(Redirected from Ceiling function)

Image:Floor function.svg

In mathematics, the floor function is the function defined as follows: for a real number x, floor(x) is the largest integer less than or equal to x. For example, floor(2.9) = 2, floor(−2) = −2 and floor(−2.3) = −3. The floor function is also denoted by <math>\lfloor x \rfloor</math>. For nonnegative x, a more traditional name for floor(x) is the integral part or integral value of x. The function x−[x], also written as x mod 1, is called the fractional part of x. Every fraction x can be written as a mixed number, the sum of an integer and a proper fraction. The floor function and fractional part functions extend this decomposition to all real values.

Contents

Some properties of the floor function

  • One has
<math> \lfloor x\rfloor \le x < \lfloor x \rfloor + 1</math>
with equality on the left if and only if x is an integer.
  • The floor function is idempotent: <math>\lfloor\lfloor x\rfloor\rfloor=\lfloor x\rfloor</math>.
  • For any integer k and any real number x,
<math> \lfloor k+x \rfloor = k + \lfloor x\rfloor.</math>

The ceiling function

Image:Ceiling function.svg

A closely related mathematical function is the ceiling function, which is defined as follows: for any given real number x, ceiling(x) is the smallest integer not less than x. For example, ceiling(2.3) = 3, ceiling(2) = 2 and ceiling(−2.3) = −2. The ceiling function is also denoted by <math>\lceil x \rceil</math>. It is easy to show the following:

<math>\lceil x \rceil = - \lfloor - x \rfloor</math>

and the following:

<math>x \leq \lceil x \rceil < x + 1</math>

For any integer k, we also have the following equality:

<math>\lfloor k / 2 \rfloor + \lceil k / 2 \rceil = k</math>.

If m and n are coprime positive integers, then

<math>\sum_{i=1}^{n-1} \lfloor im / n \rfloor = (m - 1) (n - 1) / 2</math>

Beatty's theorem shows how every positive irrational number gives rise to a partition of the natural numbers into two sequences via the floor function.

The operator (int) in C

Image:Int function.svg

C and related programming languages have a feature called type casting which allows to turn a floating point value into an integer by prefixing it with (int). This operation is a mixture of the floor and ceiling function: for positive or 0 x it returns floor(x), and for negative x it returns ceiling(x).

Like the floor and ceiling function, this operation is not continuous, which can magnify rounding errors with disastrous consequences. For instance, (int)(0.6/0.2) will return 2 in most implementations of C, even though 0.6/0.2 = 3. The reason is that computers work internally with the binary numeral system, and it is not possible to represent the numbers 0.6 and 0.2 by a finite binary string. So some rounding errors occur, and the result is computed as 2.999999999999999555910790149937 which the (int) operator will happily convert to 2. The POSIX floor() function has similar problems. Because of issues like these, most modern calculators use the decimal numeral system internally.

The fractional part

If x is an irrational number, then the fractional parts nx mod 1, where n runs through the positive integers, are extremely evenly distributed in the open interval (0,1). This can be made precise in various ways, one of which states

<math>\int_0^1 f(t)\; dt = \lim_{N\to\infty} \frac{1}{N}\sum_{n=1}^N f(nx \;\operatorname{mod}\; 1)</math>

for every real-valued continuous function f : [0,1] → R (see limit (mathematics) and integration).

According to a general principle of diophantine approximation discovered by Hermann Weyl, that property is equivalent to something much easier to check in this case: namely that sums

<math>\sum e^{2 \pi i k n x}</math>

for fixed integers k > 0 and taken over ranges

0 < n < N

have estimates O(N). Because these are geometric progressions, that can be proved rather directly. The condition that x be irrational comes out to be that

<math>\sin \pi k x \ne 0.</math>

Truncation

While the floor function only outputs natural numbers, truncation allows "cutting off the numbers" at a specified position.bg:Функция скобка de:Gaußklammer es:Función parte entera fr:Partie entière ja:床関数 nl:Entierfunctie pl:Część całkowita ru:целая часть sl:celi del