stringtranslate.com

Функции пола и потолка

Функции пола и потолка

В математике функция floor — это функция , которая принимает на вход действительное число x и возвращает наибольшее целое число, меньшее или равное x , обозначаемое x или floor( x ) . Аналогично, функция ceiling отображает 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 .

Хотя floor( x+1 ) и ceil( x ) создают графики, которые выглядят совершенно одинаково, они не одинаковы, когда значение 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 .

Эти символы представлены в Unicode:

В системе набора LaTeX эти символы можно указать с помощью команд и в математическом режиме. LaTeX поддерживает UTF-8 с 2018 года, поэтому символы Unicode теперь можно использовать напрямую. [10] Более крупные версии — и .\lceil, \rceil, \lfloor, \rfloor\left\lceil, \right\rceil, \left\lfloor,\right\rfloor

Определение и свойства

Даны действительные числа x и y , целые числа m и n и множество целых чисел , пол и потолок могут быть определены уравнениями

Поскольку в полуоткрытом интервале длины один содержится ровно одно целое число , для любого действительного числа x существуют уникальные целые числа m и n, удовлетворяющие уравнению

где  и  также можно рассматривать как определение пола и потолка.

Эквивалентности

Эти формулы можно использовать для упрощения выражений, включающих полы и потолки. [11]

На языке теории порядка функция пола представляет собой остаточное отображение , то есть часть соединения Галуа : это верхний сопряженный элемент функции, которая встраивает целые числа в действительные.

Эти формулы показывают, как добавление целого числа n к аргументам влияет на функции:

Вышеуказанное никогда не будет верным, если n не является целым числом; однако для любых x и y справедливы следующие неравенства:

Монотонность

Обе функции, и нижняя, и верхняя, являются монотонно неубывающими функциями :

Отношения между функциями

Из определений ясно, что

  с равенством тогда и только тогда, когда x — целое число, т.е.

Фактически, для целых чисел n обе функции — и нижняя, и верхняя — являются тождественными :

Отрицание аргумента меняет местами пол и потолок и меняет знак:

и:

Отрицание аргумента дополняет дробную часть:

Функции пола, потолка и дробной части являются идемпотентными :

Результатом вложенных функций пола или потолка является самая внутренняя функция:

из-за свойства тождественности целых чисел.

Коэффициенты

Если m и n — целые числа и n ≠ 0,

Если n — положительное целое число [12]

Если m положительно [13]

Для m = 2 это означает

В более общем смысле, [14] для положительных m (см. тождество Эрмита )

Для преобразования полов в потолки и наоборот можно использовать следующее ( m положительное) [15]

Для всех m и n строго положительных целых чисел: [16]

что для положительных и взаимно простых m и n сводится к

и аналогично для функций потолка и дробной части (все еще для положительных и взаимно простых m и n ),


Поскольку правая часть общего случая симметрична по m и n , это означает, что

В более общем случае, если m и n положительны,

Иногда это называют законом взаимности. [17]

Деление на положительные целые числа приводит к интересному и иногда полезному свойству. Предполагая , что ,

Сходным образом,

Действительно,

имея в виду, что вторая эквивалентность, включающая функцию потолка, может быть доказана аналогично.

Вложенные подразделения

Для положительных целых чисел n и произвольных действительных чисел m , x : [18]

Непрерывность и рядовые расширения

Ни одна из функций, обсуждаемых в этой статье, не является непрерывной , но все они являются кусочно-линейными : функции , и имеют разрывы в целых числах.

  является полунепрерывным сверху , а     и   являются полунепрерывными снизу.

Поскольку ни одна из функций, обсуждаемых в этой статье, не является непрерывной, ни одна из них не имеет разложения в степенной ряд . Поскольку пол и потолок не являются периодическими, они не имеют равномерно сходящихся разложений в ряд Фурье . Функция дробной части имеет разложение в ряд Фурье [19] для x, не являющегося целым числом.

В точках разрыва ряд Фурье сходится к значению, которое является средним значением его пределов слева и справа, в отличие от функций пола, потолка и дробной части: при фиксированном y и x, кратном y, заданный ряд Фурье сходится к y /2, а не к x  mod  y  = 0. В точках непрерывности ряд сходится к истинному значению.

Использование формулы дает для x не целое число.

Приложения

Оператор Mod

Для целого числа x и положительного целого числа y операция по модулю , обозначаемая как x mod y , дает значение остатка от деления x на y . Это определение можно распространить на действительные числа x и y , y ≠ 0, по формуле

Тогда из определения функции пола следует, что эта расширенная операция удовлетворяет многим естественным свойствам. В частности, x mod y всегда находится между 0 и y , т.е.

если y положительный,

и если y отрицательный,

Квадратичная взаимность

Третье доказательство квадратичной взаимности Гаусса , модифицированное Эйзенштейном, состоит из двух основных шагов. [20] [21]

Пусть p и q — различные положительные нечетные простые числа, и пусть

Во-первых, лемма Гаусса используется для того, чтобы показать, что символы Лежандра задаются формулой

Вторым шагом является использование геометрического аргумента, чтобы показать, что

Объединение этих формул дает квадратичную взаимность в виде

Существуют формулы, которые используют пол для выражения квадратичного характера малых чисел по модулю нечетных простых чисел p : [22]

Округление

Для произвольного действительного числа округление до ближайшего целого числа с удалением в сторону положительной бесконечности задается как ; округление в сторону отрицательной бесконечности задается как .

Если значение критерия разделения не равно 0, то функция округления равна (см. функцию знака ), а округление в сторону четности можно выразить с помощью более громоздкого выражения , которое представляет собой приведенное выше выражение для округления в сторону положительной бесконечности за вычетом показателя целочисленности для .

Округление действительного числа до ближайшего целого значения образует очень простой тип квантователяравномерный . Типичный ( средне-ступенчатый ) равномерный квантователь с размером шага квантования, равным некоторому значению, может быть выражен как

,

Количество цифр

Количество цифр в системе счисления с основанием b положительного целого числа k равно

Количество строк без повторяющихся символов

Число возможных строк произвольной длины, в которых ни один символ не встречается дважды, определяется по формуле [23] [ нужен лучший источник ]

где:

Для n = 26 это составляет 1096259850353149530222034277.

Факторы факториалов

Пусть n — положительное целое число, а p — положительное простое число. Показатель наивысшей степени p , которая делит n !, задается версией формулы Лежандра [24]

где — способ записи n в системе счисления с основанием p . Это конечная сумма, поскольку этажи равны нулю, когда p k > n .

Последовательность Битти

Последовательность Битти показывает, как каждое положительное иррациональное число приводит к разбиению натуральных чисел на две последовательности с помощью функции пола. [25]

Постоянная Эйлера (γ)

Существуют формулы для постоянной Эйлера γ = 0,57721 56649 ..., которые включают пол и потолок, например [26]

и

Дзета-функция Римана (ζ)

Функция дробной части также появляется в интегральных представлениях дзета-функции Римана . Несложно доказать (используя интегрирование по частям) [27] , что если — любая функция с непрерывной производной в замкнутом интервале [ a , b ],

Положим , что действительная часть s больше 1, а a и b — целые числа, и позволим b стремиться к бесконечности, получим

Эта формула верна для всех s с действительной частью больше −1 (за исключением s = 1, где есть полюс) и в сочетании с разложением Фурье для { x } может быть использована для расширения дзета-функции на всю комплексную плоскость и для доказательства ее функционального уравнения. [28]

При s = σ + it в критической полосе 0 < σ < 1,

В 1947 году ван дер Поль использовал это представление для построения аналогового компьютера для нахождения корней дзета-функции. [29]

Формулы для простых чисел

Функция пола появляется в нескольких формулах, характеризующих простые числа. Например, поскольку равно 1, если m делит n , и 0 в противном случае, то положительное целое число n является простым тогда и только тогда, когда [30]

Можно также дать формулы для получения простых чисел. Например, пусть p n будет n -м простым числом, и для любого целого числа r  > 1, определим действительное число α суммой

Тогда [31]

Аналогичный результат заключается в том, что существует число θ = 1,3064... ( константа Миллса ) со свойством

все являются простыми. [32]

Существует также число ω = 1,9287800... со свойством

все являются простыми. [32]

Пусть π ( x ) будет числом простых чисел, меньших или равных x . Из теоремы Уилсона легко вывести , что [33]

Также, если n ≥ 2, [34]

Ни одна из формул в этом разделе не имеет практического применения. [35] [36]

Решенные проблемы

Рамануджан представил эти задачи в журнал Индийского математического общества . [37]

Если n — положительное целое число, докажите, что

Были доказаны некоторые обобщения вышеприведенных тождеств функций пола. [38]

Нерешенная проблема

Изучение проблемы Варинга привело к нерешенной проблеме:

Существуют ли положительные целые числа k ≥ 6 такие, что [39]

Малер доказал, что может быть только конечное число таких k ; ни одно из них не известно. [40]

Реализации на компьютере

Функция int из преобразования чисел с плавающей точкой в ​​C

В большинстве языков программирования простейший метод преобразования числа с плавающей точкой в ​​целое число не делает пол или потолок, а усечение. Причина этого историческая, так как первые машины использовали дополнение до единицы , а усечение было проще реализовать (пол проще в дополнении до двух ). FORTRAN был определен как требующий такого поведения, и поэтому почти все процессоры реализуют преобразование таким образом. Некоторые считают это неудачным историческим решением по проектированию, которое привело к ошибкам при обработке отрицательных смещений и графики на отрицательной стороне начала отсчета. [ необходима цитата ]

Арифметический сдвиг вправо целого числа со знаком на равен . Деление на степень 2 часто записывается как сдвиг вправо, не для оптимизации, как можно было бы предположить, а потому, что требуется пол отрицательных результатов. Предполагая, что такие сдвиги являются «преждевременной оптимизацией», и заменяя их делением, можно сломать программное обеспечение. [ необходима цитата ]

Многие языки программирования (включая C , C++ , [41] [42] C# , [43] [44] Java , [45] [46] Julia , [47] PHP , [48] [49] R , [50] и Python [51] ) предоставляют стандартные функции для пола и потолка, обычно называемые floorи ceil, или реже ceiling. [52] Язык APL использует ⌊xдля пола. Язык программирования J , продолжение APL, разработанное для использования стандартных символов клавиатуры, использует <.для пола и >.для потолка. [53] ALGOL использует entierдля пола.

В Microsoft Excel функция INTокругляет вниз, а не к нулю, [54] в то время как FLOORокругляет к нулю, что противоположно тому, что делают "int" и "floor" в других языках. С 2010 года FLOORбыло изменено на error, если число отрицательное. [55] Формат файла OpenDocument , используемый OpenOffice.org , Libreoffice и другими, INT[56] и FLOORоба делают floor, и FLOORимеют третий аргумент для воспроизведения более раннего поведения Excel. [57]

Смотрите также

Цитаты

  1. ^ Грэм, Кнут и Паташник, Гл. 3.1
  2. ^ 1) Люк Хитон, Краткая история математической мысли , 2015, ISBN  1472117158 (np)
    2) Альберт А. Бланк и др. , Исчисление: Дифференциальное исчисление , 1968, стр. 259
    3) Джон В. Уоррис, Хорст Стокер, Справочник по математике и вычислительной науке , 1998, ISBN 0387947469 , стр. 151 
  3. Леммермейер, стр. 10, 23.
  4. ^ Например, Касселс, Харди и Райт, а также Рибенбойм используют нотацию Гаусса. Грэхем, Кнут и Паташник, а также Крэндалл и Померанс используют нотацию Айверсона.
  5. Айверсон, стр. 12.
  6. Хайэм, стр. 25.
  7. ^ Mathwords: Функция пола.
  8. ^ Mathwords: Функция потолка
  9. ^ Грэм, Кнут и Паташник, стр. 70.
  10. ^ "LaTeX News, Issue 28" (PDF; 379 КБ) . Проект LaTeX. Апрель 2018 г. Получено 27 июля 2024 г.
  11. ^ Грэм, Кнут и Паташинк, гл. 3
  12. ^ Грэм, Кнут и Паташник, стр. 73
  13. ^ Грэм, Кнут и Паташник, стр. 85
  14. Грэм, Кнут и Паташник, стр. 85 и пример 3.15
  15. ^ Грэм, Кнут и Паташник, Пример 3.12
  16. ^ Грэм, Кнут и Паташник, стр. 94.
  17. ^ Грэм, Кнут и Паташник, стр. 94
  18. ^ Грэм, Кнут и Паташник, стр. 71, применяют теорему 3.10 с x/m в качестве входных данных и делением на n в качестве функции
  19. ^ Титчмарш, стр. 15, уравнение 2.1.7
  20. ^ Леммермейер, § 1.4, Ex. 1.32–1.33
  21. ^ Харди и Райт, §§ 6.11–6.13
  22. ^ Леммермейер, стр. 25
  23. ^ Последовательность OEIS A000522 (Общее число расположений множества с n элементами: a(n) = Sum_{k=0..n} n!/k!.) (См. Формулы.)
  24. ^ Харди и Райт, Т. 416
  25. ^ Грэм, Кнут и Паташник, стр. 77–78.
  26. ^ Эти формулы взяты из статьи Википедии Постоянная Эйлера , в которой их гораздо больше.
  27. ^ Титчмарш, стр. 13
  28. ^ Титчмарш, стр. 14–15
  29. Крэндалл и Померанс, стр. 391
  30. ^ Crandall & Pomerance, Ex. 1.3, стр. 46. Бесконечный верхний предел суммы можно заменить на n . Эквивалентное условие: n  > 1 является простым тогда и только тогда, когда .
  31. ^ Харди и Райт, § 22.3
  32. ^ ab Ribenboim, стр. 186
  33. Рибенбойм, стр. 181
  34. Crandall & Pomerance, Пример 1.4, стр. 46
  35. ^ Рибенбойм, стр. 180, говорит, что «Несмотря на нулевую практическую ценность формул... [они] могут иметь некоторое значение для логиков, желающих ясно понять, как различные части арифметики могут быть выведены из различных аксиоматизаций...»
  36. Харди и Райт, стр. 344—345 «Любая из этих формул (или любая подобная) приобрела бы другой статус, если бы точное значение числа α... можно было бы выразить независимо от простых чисел. Вероятность этого, по-видимому, мала, но это нельзя исключить как полностью невозможное».
  37. ^ Рамануджан, Вопрос 723, Документы, стр. 332
  38. ^ Сому, Сай Теджа; Кукла, Анджей (2022). «О некоторых обобщениях тождеств функций пола Рамануджана» (PDF) . Целые числа . 22 . arXiv : 2109.03680 .
  39. Харди и Райт, стр. 337.
  40. ^ Малер, Курт (1957). «О дробных частях степеней рационального числа II». Mathematika . 4 (2): 122–124. doi :10.1112/S0025579300001170.
  41. ^ "Справочник C++ по функции floor" . Получено 5 декабря 2010 г. .
  42. ^ "Справочник C++ по функции ceil" . Получено 5 декабря 2010 г. .
  43. ^ dotnet-bot. "Math.Floor Method (System)". docs.microsoft.com . Получено 28 ноября 2019 г. .
  44. ^ dotnet-bot. "Math.Ceiling Method (System)". docs.microsoft.com . Получено 28 ноября 2019 г. .
  45. ^ "Math (Java SE 9 & JDK 9)". docs.oracle.com . Получено 20 ноября 2018 г.
  46. ^ "Math (Java SE 9 & JDK 9)". docs.oracle.com . Получено 20 ноября 2018 г.
  47. ^ "Math (Julia v1.10)". docs.julialang.org/en/v1/ . Получено 4 сентября 2024 г. .
  48. ^ "PHP руководство по функции ceil" . Получено 18 июля 2013 г. .
  49. ^ "PHP руководство по функции floor" . Получено 18 июля 2013 г. .
  50. ^ "R: Округление чисел".
  51. ^ "Руководство по Python для математического модуля" . Получено 18 июля 2013 г.
  52. Салливан, стр. 86.
  53. ^ "Vocabulary". J Language . Получено 6 сентября 2011 г.
  54. ^ "INT function" . Получено 29 октября 2021 г. .
  55. ^ "FLOOR function" . Получено 29 октября 2021 г. .
  56. ^ "Documentation/How Tos/Calc: INT function" . Получено 29 октября 2021 г. .
  57. ^ "Documentation/How Tos/Calc: FLOOR function" . Получено 29 октября 2021 г. .

Ссылки

Внешние ссылки