В математике функция пола (или функция наибольшего целого числа ) — это функция , которая принимает на вход действительное число x и выдает на выходе наибольшее целое число , меньшее или равное x , обозначаемое ⌊ x ⌋ или Floor( x ) . Аналогично, функция потолка отображает x наименьшее целое число, большее или равное x , обозначаемое ⌈ x ⌉ или ceil( x ) . [1]
Например, для пола: ⌊2.4⌋ = 2 , ⌊−2.4⌋ = −3 и для потолка: ⌈2.4⌉ = 3 и ⌈−2.4⌉ = −2 .
Исторически нижний предел x назывался – и до сих пор называется – целой частью или целой частью x , часто обозначаемой [ x ] (а также множеством других обозначений). [2] Однако тот же термин, целая часть , также используется для усечения до нуля, что отличается от функции пола для отрицательных чисел.
Для целого числа n ⌊ n ⌋ = ⌈ n ⌉ = [ n ] = n .
Хотя Floor( x+1 ) и ceil( x ) создают совершенно одинаковые графики, они не совпадают, если значение x является точным целым числом. Например, когда х =2,0001; ⌊2,0001+1⌋ = ⌈2,0001⌉ = 3 . Однако если x =2, то ⌊2+1⌋ = 3 , а ⌈2⌉ = 2 .
Обозначения
Целая часть или целая часть числа ( partie entière в оригинале) была впервые определена в 1798 году Адриеном-Мари Лежандром в его доказательстве формулы Лежандра .
Карл Фридрих Гаусс ввел обозначение квадратных скобок [ x ] в своем третьем доказательстве квадратичной взаимности (1808 г.). [3] Это оставалось стандартом [4] в математике до тех пор , пока Кеннет Э. Айверсон не представил в своей книге « Язык программирования» 1962 года названия «пол» и «потолок» и соответствующие обозначения ⌊ x ⌋ и ⌈ x ⌉ . [5] [6] (Айверсон использовал квадратные скобки для другой цели — обозначения скобок Айверсона .) Оба обозначения теперь используются в математике, хотя в этой статье будут использоваться обозначения Айверсона.
В некоторых источниках жирный шрифт или двойные скобки ⟦ x ⟧ используются для пола, а обратные скобки ⟧ x ⟦ или ] x [ для потолка. [7] [8]
Дробная часть — это пилообразная функция , обозначаемая { x } для действительного x и определяемая формулой
{ Икс } = Икс - ⌊ Икс ⌋ [9]
Для всех х ,
0 ≤ { Икс } < 1 .
Эти символы представлены в Юникоде:
U + 2308 ⌈ ЛЕВЫЙ ПОТОЛОК ( ⌈, ⌈ )
U + 2309 ⌉ ПРАВЫЙ ПОТОЛОК ( ⌉, ⌉ )
U+230A ⌊ ЛЕВЫЙ ЭТАЖ ( ⌊, ⌊ )
U+230B ⌋ ПРАВЫЙ ЭТАЖ ( ⌋, ⌋ )
В системе набора текста LaTeX эти символы можно указать с помощью команд и в математическом режиме, а также увеличить их размер с помощью и по мере необходимости.\lceil, \rceil, \lfloor, \rfloor\left\lceil, \right\rceil, \left\lfloor,\right\rfloor
Некоторые авторы определяют [ x ] как функцию округления к нулю [ нужна ссылка ] , поэтому [2.4] = 2 и [−2.4] = −2 , и называют это «целой частью».
Определение и свойства
Учитывая действительные числа x и y , целые числа m и n и набор целых чисел , пол и потолок могут быть определены уравнениями
Поскольку в полуинтервале длины один есть ровно одно целое число, для любого действительного числа x существуют уникальные целые числа m и n , удовлетворяющие уравнению
где и также может быть принято за определение пола и потолка.
Эквиваленты
Эти формулы можно использовать для упрощения выражений, касающихся полов и потолков. [10]
На языке теории порядка функция пола представляет собой резидуированное отображение , то есть часть связи Галуа : это верхний сопряженный элемент функции, которая встраивает целые числа в действительные числа.
Эти формулы показывают, как добавление целого числа n к аргументам влияет на функции:
Вышеупомянутое никогда не будет верным, если n не является целым числом; однако для любых x и y выполняются следующие неравенства:
Поскольку ни одна из функций, обсуждаемых в этой статье, не является непрерывной, ни одна из них не имеет разложения в степенной ряд . Поскольку пол и потолок не являются периодическими, они не имеют равномерно сходящегося разложения в ряд Фурье . Функция дробной части имеет разложение в ряд Фурье [18]
для x не целое число.
В точках разрыва ряд Фурье сходится к значению, которое является средним из его пределов слева и справа, в отличие от функций пола, потолка и дробной части: при фиксированном y и x , кратном y , данный ряд Фурье сходится. к y /2, а не к x mod y = 0. В точках непрерывности ряд сходится к истинному значению.
Использование формулы Floor(x) = x − {x} дает
для x не целое число.
Приложения
Оператор мода
Для целого числа x и положительного целого числа y операция по модулю , обозначаемая x mod y , дает значение остатка, когда x делится на y . Это определение можно распространить на действительные x и y , y ≠ 0, по формуле
Тогда из определения функции пола следует, что эта расширенная операция удовлетворяет многим естественным свойствам. Примечательно, что x mod y всегда находится между 0 и y , т.е.
Второй шаг — использовать геометрический аргумент, чтобы показать, что
Объединение этих формул дает квадратичную взаимность в виде
Существуют формулы, которые используют слово для выражения квадратичного характера малых чисел по модулю нечетных простых чисел p : [21]
Округление
Для произвольного действительного числа округление до ближайшего целого числа с разрывом связи в направлении положительной бесконечности определяется выражением ; округление в сторону отрицательной бесконечности задается как .
Если разрыв связи отличается от 0, то функция округления равна (см. функцию знака ), а округление в сторону четности можно выразить с помощью более громоздкого выражения, которое представляет собой приведенное выше выражение для округления в сторону положительной бесконечности за вычетом индикатора целочисленности для .
Округление действительного числа до ближайшего целого значения образует очень простой тип квантователя – унифицированный . Типичный ( средний шаг ) равномерный квантователь с размером шага квантования , равным некоторому значению, может быть выражен как
Для n = 26 это получится 1096259850353149530222034277.
Факторы факториалов
Пусть n — целое положительное число, а p — положительное простое число. Показатель высшей степени числа p , делящего n ! задается версией формулы Лежандра [23]
где находится способ записи n в базе p . Это конечная сумма, поскольку этажи равны нулю, когда p k > n .
Битти-последовательность
Последовательность Битти показывает, как каждое положительное иррациональное число приводит к разделению натуральных чисел на две последовательности с помощью функции пола. [24]
Константа Эйлера (γ)
Существуют формулы для постоянной Эйлера γ = 0,57721 56649..., которые включают пол и потолок, например [25]
и
Дзета-функция Римана (ζ)
Дробная часть функции также появляется в интегральных представлениях дзета-функции Римана . Несложно доказать (при помощи интегрирования по частям) [26] , что если — любая функция с непрерывной производной на отрезке [ a , b ],
Полагая , что действительная часть s больше 1, а a и b являются целыми числами, а b приближается к бесконечности, получаем
Эта формула действительна для всех s с действительной частью больше -1 (кроме s = 1, где есть полюс) и в сочетании с разложением Фурье для { x } может использоваться для расширения дзета-функции на всю комплексную плоскость. и доказать его функциональное уравнение. [27]
При s = σ + it в критической полосе 0 < σ < 1,
В 1947 году ван дер Поль использовал это представление для создания аналогового компьютера для поиска корней дзета-функции. [28]
Формулы для простых чисел
Функция пола встречается в нескольких формулах, характеризующих простые числа. Например, поскольку оно равно 1, если m делит n , и 0 в противном случае, из этого следует, что целое положительное число n является простым тогда и только тогда, когда [29]
Можно также привести формулы для получения простых чисел. Например, пусть p n — n - е простое число и для любого целого числа r > 1 определим действительное число α суммой
Тогда [30]
Аналогичный результат состоит в том, что существует число θ = 1,3064... ( константа Миллса ) со свойством, что
все простые. [31]
Существует также число ω = 1,9287800... со свойством, что
все простые. [31]
Пусть π ( x ) будет количеством простых чисел, меньших или равных x . Из теоремы Вильсона прямым выводом следует , что [32]
Кроме того, если n ≥ 2, [33]
Ни одна из формул в этом разделе не имеет практического применения. [34] [35]
Решенные проблемы
Рамануджан представил эти задачи в Журнал Индийского математического общества . [36]
Если n — целое положительное число, докажите, что
Были доказаны некоторые обобщения приведенных выше тождественных функций пола. [37]
Существуют ли целые положительные числа k ≥ 6 такие, что [38]
Малер доказал, что таких k может быть только конечное число ; ни один не известен. [39]
Компьютерные реализации
Функция Int из преобразования с плавающей запятой в C
В большинстве языков программирования простейший метод преобразования числа с плавающей запятой в целое число заключается не в минимальном или предельном значении, а в усечении. Причина этого историческая, поскольку первые машины использовали дополнение до единиц , а усечение было проще реализовать (в дополнении до двух проще ). FORTRAN был определен так, чтобы требовать такого поведения, и поэтому почти все процессоры реализуют преобразование таким образом. Некоторые считают, что это неудачное историческое дизайнерское решение, которое привело к ошибкам в обработке отрицательных смещений и графики на отрицательной стороне начала координат. [ нужна цитата ]
Побитовый сдвиг вправо целого числа со знаком на аналогичен . Деление на степень 2 часто записывается как сдвиг вправо, но не для оптимизации, как можно было бы предположить, а потому, что требуется минимальный уровень отрицательных результатов. Предполагая, что такие изменения являются «преждевременной оптимизацией», и замена их разделением может привести к поломке программного обеспечения. [ нужна цитата ]
Многие языки программирования (включая C , C++ , [40] [41] C# , [42] [43] Java , [44] [45] PHP , [46] [47] R , [48] и Python [49] ) обеспечивают стандартные функции для пола и потолка, обычно называемые floorи ceilили реже ceiling. [50] Язык, который APL использует ⌊xдля обозначения пола. Язык программирования J , продолжение APL, предназначенный для использования стандартных символов клавиатуры, используется <.для пола и >.потолка. [51] Алгол использует entierслово «пол».
В Microsoft Excel функция INTокругляет в меньшую сторону, а не в сторону нуля, [52] и FLOORокругляет в сторону нуля, что противоположно тому, что делают «int» и «floor» в других языках. С 2010 года FLOORизменено на ошибку, если число отрицательное. [53] Формат файла OpenDocument , используемый OpenOffice.org , Libreoffice и другими, INT[54] и FLOORоба делают пол и FLOORимеют третий аргумент для воспроизведения более раннего поведения Excel. [55]
^
1) Люк Хитон, Краткая история математической мысли , 2015, ISBN 1472117158 (np) 2) Альберт А. Бланк и др. , Исчисление: Дифференциальное исчисление , 1968, с. 259 3) Джон В. Уоррис, Хорст Стокер, Справочник по математике и информатике , 1998, ISBN 0387947469 , с. 151
^ Леммермейер, стр. 10, 23.
^ например, Кассельс, Харди и Райт и Рибенбойм используют обозначения Гаусса. Грэм, Кнут и Паташник, а также Крэндалл и Померанс используют Айверсона.
^ Айверсон, с. 12.
^ Хайэм, с. 25.
^ Mathwords: Функция этажа.
^ Mathwords: функция потолка
^ Грэм, Кнут и Паташник, стр. 70.
^ Грэм, Кнут и Паташинк, гл. 3
^ Грэм, Кнут и Паташник, стр. 73
^ Грэм, Кнут и Паташник, стр. 85
^ Грэм, Кнут и Паташник, стр. 85 и упр. 3.15
^ Грэм, Кнут и Паташник, Ex. 3.12
^ Грэм, Кнут и Паташник, стр. 94.
^ Грэм, Кнут и Паташник, стр. 94
^ Грэм, Кнут и Паташник, стр. 71, примените теорему 3.10 с x/m в качестве входных данных и делением на n в качестве функции
^ Титчмарш, с. 15, уравнение. 2.1.7
^ Леммермейер, § 1.4, Пр. 1,32–1,33
^ Харди и Райт, §§ 6.11–6.13
^ Леммермейер, с. 25
^ Последовательность OEIS A000522 (Общее количество компоновок набора из n элементов: a(n) = Sum_{k=0..n} n!/k!.) (См. формулы.)
^ Харди и Райт, Th. 416
^ Грэм, Кнут и Паташник, стр. 77–78.
^ Эти формулы взяты из статьи в Википедии «Константа Эйлера» , в которой есть еще много других.
^ Титчмарш, с. 13
^ Титчмарш, стр. 14–15.
^ Крэндалл и Померанс, с. 391
^ Крэндалл и Померанс, Ex. 1.3, с. 46. Бесконечный верхний предел суммы можно заменить на n . Эквивалентное условие: n > 1 является простым тогда и только тогда, когда .
^ Харди и Райт, § 22.3
^ аб Рибенбойм, с. 186
^ Рибенбойм, с. 181
^ Крэндалл и Померанс, Ex. 1.4, с. 46
^ Рибенбойм, с. 180 говорит, что «несмотря на нулевую практическую ценность формул... [они] могут иметь некоторую значимость для логиков, которые хотят ясно понять, как различные части арифметики могут быть выведены из различных аксиомаций...»
^ Харди и Райт, стр. 344–345 «Любая из этих формул (или любая подобная) приобрела бы другой статус, если бы точное значение числа α ... могло быть выражено независимо от простых чисел. Кажется, нет никакой вероятности этого, но нельзя исключать его как совершенно невозможное».
^ Рамануджан, Вопрос 723, Статьи, с. 332
^ Сому, Сай Теджа; Кукла, Анджей (2022). «О некоторых обобщениях функциональных тождеств Рамануджана» (PDF) . Целые числа . 22 . arXiv : 2109.03680 .
^ Харди и Райт, с. 337
^ Малер, Курт (1957). «О дробных частях степеней рационального числа II». Математика . 4 (2): 122–124. дои : 10.1112/S0025579300001170.
^ "Справочник C++ по функции пола" . Проверено 5 декабря 2010 г.
^ «Справочник C++ по функции ячейки» . Проверено 5 декабря 2010 г.
^ дотнет-бот. «Метод Math.Floor (система)». docs.microsoft.com . Проверено 28 ноября 2019 г. .
^ дотнет-бот. «Математический метод потолка (система)». docs.microsoft.com . Проверено 28 ноября 2019 г. .
^ «Математика (Java SE 9 и JDK 9)» . docs.oracle.com . Проверено 20 ноября 2018 г.
^ «Математика (Java SE 9 и JDK 9)» . docs.oracle.com . Проверено 20 ноября 2018 г.
^ «Руководство PHP по функции ячейки» . Проверено 18 июля 2013 г.
^ «Руководство PHP по функции пола» . Проверено 18 июля 2013 г.
^ «R: Округление чисел».
^ «Руководство по Python для математического модуля» . Проверено 18 июля 2013 г.
^ Салливан, с. 86.
^ «Словарь». J Язык . Проверено 6 сентября 2011 г.
^ «Функция INT» . Проверено 29 октября 2021 г.
^ «Функция ЭТАЖ» . Проверено 29 октября 2021 г.
^ «Документация/Как Tos/Calc: функция INT» . Проверено 29 октября 2021 г.
^ «Документация/Как Tos/Calc: функция FLOOR» . Проверено 29 октября 2021 г.
Рекомендации
Дж. В. Касселс (1957), Введение в диофантово приближение , Кембриджские трактаты по математике и математической физике, том. 45, Издательство Кембриджского университета
Крэндалл, Ричард; Померанс, Карл (2001), Простые числа: вычислительная перспектива, Нью-Йорк: Springer , ISBN 0-387-94777-9
Грэм, Рональд Л.; Кнут, Дональд Э.; Паташник, Орен (1994), Конкретная математика , Reading Ma.: Addison-Wesley, ISBN 0-201-55802-5
Штефан Порубский, «Функции округления целых чисел», Интерактивный информационный портал алгоритмической математики , Институт компьютерных наук Чешской академии наук, Прага, Чехия, получено 24 октября 2008 г.