Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Как пришли к выводу, что 0 в степени 0 равно 1? Это что-то дало математике?

МатематикаНаука+3
Anna Shefel
  ·   · 105,4 K
Интересующие темы: история математики, история хри...  · 26 сент 2021
На самом деле, это не всегда так. Смысл и содержание математического выражения 0^0 обсуждался со времён Огюстена Луи Коши. До Огюстена Луи Коши и появляния полноценной современной теории действительных чисел 0^0 был принятым равным единице без вопросов, причем, на тот момент, в основном, из эмпирических данных: график показательно-степенной функции x^x приближали к нулю справа и вроде бы как графически получалась единица, что всех устраивало.
Проблемы начались с возражения Коши, который рассматривал это выражение как неопределенное.
Если сократить и перевести на современный язык, то проблемы начинаются, если мы говорим про множество действительных чисел. На множестве действительных чисел операция возведения в степень определена как a^b = exp(b^log(a)), где exp() -- показательная функция по основанию e, а log() -- натуральный логарифм. Но логарифм от нуля не определен, следовательно, на множестве действительных чисел операция не может быть определена.
Такая же ситуация у нас получается и с комплексными числами, для которых форма записи такая же, только уже через комплексный логарифм: комплексный логарифм от нуля так же не определен.
С другой стороны, в XX-м веке произошло переосмысление выражения в контексте общей алгебры, комбинаторики и наивной теории множеств.
  1. Комбинаторика и теория множеств:
Множество A можно отразить во множество B количеством способов: |A|^|B| . Соответственно, пустое множество в пустое множество можно отобразить один единственный раз, а значит 0^0 = 1. Однако заметим, что в этом случае мы работаем только с кардинальными числами, которые по определению являются обобщенным случаем натуральных чисел.
  1. Общая алгебра. Единица является нейтральным элементом относительно произведения. Поэтому, вроде бы логично выбрать конвенцию , что 0^0 = 1 , так как если мы определяем возведение в степень как гипероперацию относительно произведения, то имеем следующую картину для показательно-степенной функции:
3^3 = 1 * 3 * 3 * 3 = 27
2^2 = 1 * 2 * 2 = 4
1^1 = 1 * 1 = 1
0^0 = 1 -- "пустое произведение", остался только нейтральный элемент относительно операции умножения.
  1. "Наивное определение". "Любое число в степени 0 равно 1, а значит и 0 в степени 0 тоже равно 1".
Действительно, lim [x-> 0+] (x^x) = exp( lim [x-> 0+] (x*log(x))) = exp ( lim [x-> 0+] (log(x)/(1/x))) -> получаем неопределенность вида infty / infty , а значит можно применить правило Лопиталя -> (d / dx) (log(x)) = 1/x ; (d / dx) (1/x) = - (1/sqr(x)) => exp ( lim [x-> 0+] (log(x)/(1/x))) = exp ( lim [x-> 0+] (1/x)/(- (1/sqr(x)))) = exp ( lim [x-> 0+] (-x)) = exp (0) = 1. То есть, предел функции f(x) = x^x при x-> 0+ равен 1.
Из пп. 2 и 3 максимум можно вывести _локальную конвенцию_ о равенстве 0^0 = 1, исключительно, из эстетических, а не чисто математических соображений. При этом, в случае 3 придется закрыть глаза и на область определения показательно-степенной функции и на степенную функцию с нулевым показателем, все значения которой всегда равны нулю и почему не выбрана эта конвенция в качестве ориентира, в рамках наивного пункта 3 объяснить невозможно.
В советских энциклопедиях выражение считалось неопределенным, тогда как Дональд Кнут настаивал на том, что ноль в нулевой степени "должен" (sic!) быть равен единице, просто потому, что ему так удобно разлагать экспоненту в ряд.
И действительно, если конвенция не работает, то экспонента разлагается в ряд следующим образом:
exp(x) = 1 + sum[n=1,infty] [(x^n)/(factorial(n))]
А если мы принимаем конвенцию, то следующим образом:
exp(x) = sum[n=0,infty] [(x^n)/(factorial(n))]
Как видим, на одно слагаемое меньше.
Но для разложений в ряд специально хочу обратить особое внимание, что в данном конкретном случае мы работаем с ординалами (т.е. с обобщением натуральных чисел), которые на компьютере мы будем передавать типом integer.
Аргумент, как видим, опять же, формалистский и, исключительно, из области эстетики. И, как и в предыдущих случаях, он касается только натуральных / целых / ординалов, но не действительных чисел.
Решение спора пришло вместе с развитием computer science. IEEE приняли решение, что под возведением в степень мы понимаем, на самом деле, как минимум, три разные функции, а именно:
pow(a,b)
pown(a,b)
powr(a,b)
Где pown() -- строго типизированная функция, определенная для аргументов типа integer, и для случая pown(0,0) возвращает единицу.
powr() -- строго типизированная функция, определенная для аргументов типа real, и при подстановке "нулей" вернет NaN -- Not-A-Number (букв. "не число")
Также есть третья функция pow() , которая для "целочисленных нулей" вернет 1, а для "нулей типа real" вернет NaN. Функция присутствует для совместимости со стандартом C99 .
Следует специально отметить, что тип real -- это не "действительные/вещественные" числа фундаментальной математики, а их рациональные приближения в виде чисел с плавающим десятичным разделителем (floating point / comma). Но по аналогии с возведением степень для действительных чисел, операция возведения в степень для чисел с плавающей запятой была определена через логарифм. Т.е., powr (a,b)= exp(b^log(a)) , а натуральный логарифм от нуля, как мы помним, принципиально не может быть определен.
Отдельно хотелось бы остановиться на "наивной" "эмпирической" конвенции до Огюстена Луи Коши: когда значение показательно-степенной функции приближалось "справа". Обычно, такую наивную операцию сторонники Кнутовского ригоризма ("должно быть определено!") предлагают проверить на калькуляторе, опытным т.с., путём предлагая возводить число в степень себя самого, постепенно уменьшая аргумент к нулю, минуя минимум функции в точке 1/e. Однако, это приближение не является равномерным и не проводится приближение слева. Потому что слева комплексная показательно-степенная функция приближается к комплексному же значению, а не к целочисленной единице.
В настоящий момент, советский подход-- то есть восприятие выражения как неопределенного-- практически изжит и наиболее популярен кнутовский ригоризм, фундаментализм и, не побоюсь этого слова, фанатизм, благодаря распространению опус магнум Дональда Кнута "Искусство Программирования". Так что основная аргументация сторонников определенности иногда сводится вообще к аргументу ad verecundiam: "так у Дональда Кнута написано". Но иногда бывает небесполезно читать бюллетени IEEE и ставить все радикальные assertio под сомнение.
Это если совсем кратенечко и по верхам.
От себя лично отмечу, что по моему личному мнению, радикальные "кнутовцы" находятся в состоянии тяжкого греха и не могут получать Святого Причастия.
Я буду за них молиться.
PS: в бухгалтерии выражение не встречается никогда и в этой прикладной дисциплине не имеет смысла, вне зависимости от локальной конвенции по его значению.
4 эксперта согласны
Давид Кац
подтверждает
26 сент 2021
Отличный и очень подробный ответ, хорошо подводящий итоги дискуссии
математика, программирование, суперкомпьютеры...  · 22 сент 2021
Математики к этому выводу как раз не пришли. 0^0 не равно 1, как и любому другому числу. 0^0 не определено.
1 эксперт согласен
0 º не существует, т.к. 0 º = exp((ln 0)º), а ln 0 не существует.
Астрономия, криптография  · 23 сент 2021
Более менее полное изложение мотивации: https://ru.wikipedia.org/wiki/Ноль_в_нулевой_степени#Раскрытие_неопределённости_00 Это даёт устойчивость и эффективность решения подавляющего большинства задач вычислительной математики... Читать далее
1 эксперт согласени1 эксперт не согласен
Комментарий был удалён за нарушение правил
Энергетик по профессии. Интересы: лингвистика...  · 15 сент 2021
Ну, давайте вот самый простой вариант. Возведение в степень, помимо прочего, означает количество вариантов. Например, если есть два человека, которые отвечают "да" или "нет" на три вопроса, то число вариантов будет равно 2^2^3... Читать далее
Мой канал в Яндекс.ДзенПерейти на zen.yandex.ru/dinvolt
1 эксперт согласен
0^0 не определено.
Преподаватель ОГЭ и ЕГЭ по физике и математике...  · 24 сент 2021  · physics.iqus.ru
Строго говоря, 0 в степени 0 - это неопределенность. Да, есть соглашение о том, что все-таки 0 в степени 0 считать 1, но это соглашение приняли далеко не все математики. Ведь функция y = x^k в месте, где x= 0 и k=0 имеет... Читать далее
Комментарий был удалён за нарушение правил
Математик и программист  · 25 сент 2021
Как уже написали многие отвечающие, 0^0 это неопределенность. В теории пределов есть 7 видов неопределённостей: 0/0; oo/oo; oo*0; oo - oo; 0^0; oo^0; 1^oo. Какой-то математик, кажется, Даламбер, доказал, что все эти виды неопред... Читать далее
Занимаюсь доказательной аналитической философией...  · 28 сент 2021
Нуль---это нелогичная константа (в аксиоматике Пеано), и потому чтоб утверждать, что 0 в степени 0 равно 1, то такого рода утверждения нужно доказывать, как теорему, ибо нулевая (нелогичная) степень любого числа (отличного от... Читать далее
Web-developer. Keep learning.   · 16 сент 2021
Что-то ближе к философии. Если ноль принять за абстрактную бесконечность, то тогда бесконечность в бесконечной степени) А если вспомнить про то, что 1-это показатель истины в программировании, то вообще выходит красивая мысль:... Читать далее
1 эксперт не согласен
0^0 не определено