Русская Википедия:Ноль в нулевой степени
Выражение 0⁰ (ноль в нулевой степени) многие учебники считают неопределённым и лишённым смыслаШаблон:SfnШаблон:Sfn. Связано это с тем, что функция двух переменных <math>f(x, y) = x^y</math> в точке <math>(0, 0)</math> имеет неустранимый разрыв. В самом деле, вдоль положительного направления оси <math>X,</math> где <math>y = 0,</math> она равна единице, а вдоль положительного направления оси <math>Y,</math> где <math>x = 0,</math> она равна нулю. Поэтому никакое соглашение о значении 0⁰ не может дать непрерывную в нуле функцию.
Соглашение 00 = 1: аргументация сторонников
Некоторые авторы предлагают принять соглашение о том, что <math>0^0</math> равно 1. В пользу подобного варианта приводятся несколько доводов. Например, разложение в ряд экспоненты:
- <math>e^x = 1 + \sum_{n = 1}^\infty \frac{x^n}{n!}</math>
можно записать короче, если принять <math>0^0 = 1</math>:
- <math>e^x = \sum_{n = 0}^\infty \frac{x^n}{n!}</math>
(рассматриваемое соглашение используется при <math>x = 0,\ n = 0</math>).
Другое обоснование соглашения <math>0^0 = 1</math> опирается на «Теорию множеств» Бурбаки[1]: число различных отображений n-элементного множества в m-элементное равно <math>m^n,</math> при <math>m = n = 0</math> получаем отображение пустого множества в пустое, а оно единственно. Разумеется, это нельзя считать доказательством (соглашения не нуждаются в доказательствах), тем более что в самой теории множеств соглашение <math>0^0 = 1</math> не используется.
В любом случае соглашение <math>0^0 = 1</math> чисто символическое, и оно не может использоваться ни в алгебраических, ни в аналитических преобразованиях из-за разрывности функции в этой точке, в противном случае может возникнуть ошибка. Пример для аналитических вычислений: функция <math>f(t) = (a^{-1/t})^t,</math> где <math>a</math> — произвольное положительное вещественное число. При <math>t \to 0</math> мы получаем неопределённость типа <math>0^0,</math> и, если не отличать тип предела <math>0^0</math> (где каждый из нулей обозначает стремление к нулю) и значение <math>0^0</math> (где каждый из нулей и есть ноль), можно ошибочно посчитать, что предел равен 1. На самом деле данное выражение тождественно равно <math>a^{-1}.</math> Это означает, что бесконечно малая в бесконечно малой степени может в пределе дать любое значение, не обязательно единицу. Аналогичные ошибки могут быть сделаны, если использовать соглашение в алгебраических преобразованиях.
История различных точек зрения
Дискуссия по поводу определения <math>0^0</math> продолжается, по крайней мере, с начала XIX века. Многие математики тогда принимали соглашение <math>0^0 = 1</math>, но в 1821 году Коши[2] причислил <math>0^0</math> к неопределённостям, таким, как <math>\frac{0}{0}.</math> В 1830-х годах Шаблон:Iw[3][4] опубликовал неубедительный аргумент в пользу <math>0^0 = 1</math> (см. Шаблон:Ссылка на раздел), и Мёбиус[5] встал на его сторону, ошибочно заявив, что <math>\lim_{t \to 0^+} f(t)^{g(t)} = 1</math> всякий раз, когда <math>\lim_{t \to 0^+} f(t) = \lim_{t \to 0^+} g(t) = 0</math>. Обозреватель, который подписал своё имя просто как «S», предоставил приведённый выше контрпример <math>(e^{-1/t})^t</math>, и это немного успокоило дебаты. Больше исторических деталей можно найти в статье Кнута (1992)[6].
Более поздние авторы интерпретируют ситуацию выше по-разному. Часть математиков считает, что <math>0^0</math> должно быть определено как 1. Например, Кнут (1992) уверенно утверждает, что <math>0^0</math> «должно быть 1», делая различие между значением <math>0^0</math>, которое должно равняться 1, как это было предложено Либри, и предельной формой <math>0^0</math> (аббревиатура для предела <math>f(x)^{g(x)}</math> где <math>f(x), g(x) \to 0</math>), что обязательно является неопределённостью, как указано Коши: «И Коши, и Либри были правы, но Либри и его защитники не понимали, почему истина на их стороне»[6]. Авторитетный сайт MathWorld, приведя мнение Кнута, всё же констатирует, что обычно значение <math>0^0</math> считается неопределённым, несмотря на то, что соглашение <math>0^0 = 1</math> позволяет в некоторых случаях упростить запись формул[7].
Другие математики утверждают, что наилучшее значение для <math>0^0</math> зависит от контекста, и поэтому определение его раз и навсегда проблематично[8]. Согласно Бенсону (1999), «Выбор, следует ли определять <math>0^0,</math> основан на удобстве, а не на правильности. Если мы воздержимся от определения <math>0^0</math>, то некоторые утверждения становятся излишне неудобными. <…> Консенсус заключается в использовании определения <math>0^0 = 1</math>, хотя есть учебники, которые воздерживаются от определения <math>0^0</math>»[9].
В России Большая российская энциклопедия, Большая советская энциклопедия, Математический энциклопедический словарь, Справочник по элементарной математике Выгодского, школьные учебники и другие источники однозначно характеризуют <math>0^0</math> как выражение, не имеющее смысла (неопределённость).
Раскрытие неопределённости 00
Если даны две функции <math>f(x)</math> и <math>g(x)</math>, которые стремятся к нулю, то предел <math>f(x)^{g(x)}</math> в общем случае, как показано выше, может быть любым. Таким образом, с этой точки зрения <math>0^0</math> является неопределённостью. Для нахождения предела <math>f(x)^{g(x)}</math> в этом случае пользуются методами раскрытия неопределённости — как правило, сначала взяв логарифм от данного выражения:
- <math>\ln\left(f(x)^{g(x)}\right) = \frac{g(x)}{\frac{1}{\ln f(x)}}</math>,
а потом воспользовавшись правилом Лопиталя.
Однако при определённых условиях этот предел будет действительно равен единице. А именно: если функции <math>f</math> и <math>g</math> являются аналитическими в точке <math>0</math> (то есть в некоторой окрестности точки <math>0</math> совпадают со своим рядом Тейлора), и <math>f(0) = g(0) = 0</math>, а <math>f(x) > 0</math> в окрестности <math>(0, \delta)</math>, то предел <math>f(x)^{g(x)}</math> при <math>x</math> стремящемся к нулю справа равен 1[10][11][12].
Например, таким образом можно сразу убедиться, что
- <math>\lim_{x \to 0^+} x^x = 1,</math>
- <math>\lim_{x \to 0^+} (\sin x)^{\operatorname{tg} x} = 1,</math>
- <math>\lim_{x \to 0^+} \left(e^{x+1} - e\right)^x = 1.</math>
При этом надо не забывать, что если хотя бы одна из функций не разлагается в ряд Тейлора в точке 0 или <math>f(x)</math> тождественно равен 0, то предел может быть любым, или может не существовать. Например,
- <math>\lim_{x \to 0^+} x^{a/\ln x} = e^a,</math>
- <math>\lim_{x \to 0^+} \left(e^{-1/x}\right)^x = e^{-1},</math>
- <math>\lim_{x \to 0^+} 0^x = 0.</math>
Комплексный случай
Для комплексных чисел <math>u,v</math> выражение вида <math>u^v</math> для <math>u \ne 0</math> многозначно и определяется как <math>e^{v \operatorname{Ln} u}</math>, Однако комплексный логарифм <math>\operatorname{Ln} 0</math> не определён ни в какой своей ветви, и это лишает смысла любое соглашение не только для <math>0^0,</math> но и для любого <math>0^z,</math> хотя часть авторов предлагает при <math>z \ne 0</math> принять соглашение <math>0^z=0</math>[13][14][15].
В компьютерах
Стандарт IEEE 754-2008, описывающий формат представления чисел с плавающей запятой, определяет три функции возведения в степень[16]:
- Функция для возведения в целую степень: <math>\operatorname{pown}(x, y)</math>. Согласно стандарту, <math>\operatorname{pown}(x, 0) = 1</math> для любого <math>x</math>, в том числе, когда <math>x</math> равен нулю,
NaN
или бесконечности. - Функция для возведения в произвольную степень: <math>\operatorname{powr}(x, y)</math> — по сути равная <math>\exp\big(y\ln(x)\big)</math>. Согласно стандарту, <math>\operatorname{powr}(\pm 0, \pm 0)</math> возвращает значение «не число»
NaN
. - Функция для возведения в произвольную степень, которая особо определена для целых чисел: <math>\operatorname{pow}(x, y)</math>. Согласно стандарту, <math>\operatorname{pow}(x, \pm 0) = 1</math> для всех <math>x</math> (так же, как и <math>\operatorname{pown}(x, 0)</math>). Данное соглашение в целом имеет разумное обоснование (см. ниже), однако вопрос может вызывать случай, когда
x=NaN
.
Во многих языках программирования ноль в нулевой степени равен 1. Например, в C++: pow(0, 0) == 1
, в языке Haskell это верно для всех трёх стандартных операций возведения в степень: 0^0 == 1
, 0^^0 == 1
, 0**0 == 1
. То же касается и стандартного калькулятора MS Windows.
Хотя общеизвестно, что <math>0^0</math> — это неопределённость, поведение некоторых функций, возвращающих в данном случае <math>1</math>, не является результатом соглашения или ошибкой, оно имеет логическое обоснование. Дело в том, что в компьютерной арифметике числовые данные подразделяются на целые и вещественные. Это может неявно использоваться в некоторых функциях, реализующих операцию возведения в степень. Например, так сделано в калькуляторе Windows и функции pow
в C++. Для целого и вещественного показателя степени используются различные алгоритмы, и функция возведения в степень анализирует показатель: если он равен целому числу, то вычисление степени идёт по другому алгоритму, в котором отрицательные и нулевое основания степени являются допустимыми. Если показатель степени принадлежит множеству целых чисел и равен 0, а основание - вещественное число, то операцию <math>0^0</math> следует определять не иначе как <math>\lim_{x\to 0} x^0</math>. Поскольку 0 в показателе точный, предельный переход касается только основания и (в отличие от случая, когда показатель тоже вещественный) определён однозначно и равен <math>1</math>. Сказанное в полной мере относится и к случаю вычисления выражения <math>(\pm\infty)^0</math>.
Литература
Примечания
развернутьПартнерские ресурсы |
---|
- ↑ N. Bourbaki. Theory of Sets // Elements of Mathematics, Springer-Verlag, 2004, III, § 3.5.
- ↑ Augustin-Louis Cauchy. Cours d’Analyse de l'École Royale Polytechnique (1821). In his Oeuvres Complètes, series 2, volume 3.
- ↑ Guillaume Libri. Note sur les valeurs de la fonction 00x, Journal für die reine und angewandte Mathematik 6 (1830), 67-72.
- ↑ Guillaume Libri. Mémoire sur les fonctions discontinues, Journal für die reine und angewandte Mathematik 10 (1833), 303—316.
- ↑ Шаблон:Статья
- ↑ Перейти обратно: 6,0 6,1 Donald E. Knuth, Two notes on notation, Amer. Math. Monthly 99 no. 5 (May 1992), 403—422 (arXiv: math/9205211 Шаблон:Wayback [math.HO]).
- ↑ Шаблон:Cite web
- ↑ Например: Edwards and Penny (1994). Calculus, 4th ed, Prentice-Hall, p. 466; Keedy, Bittinger, and Smith (1982). Algebra Two. Addison-Wesley, p. 32.
- ↑ Donald C. Benson, The Moment of Proof : Mathematical Epiphanies. New York Oxford University Press (UK), 1999. Шаблон:ISBN.
- ↑ Шаблон:Статья
- ↑ Шаблон:Cite web
- ↑ Шаблон:Статья
- ↑ «Since log(0) does not exist, 0z is undefined. For Шаблон:Math, we define it arbitrarily as 0». (George F. Carrier, Max Krook and Carl E. Pearson, Functions of a Complex Variable: Theory and Technique, 2005, p. 15).
- ↑ «For Шаблон:Math, Шаблон:Math, we define Шаблон:Math, while 00 is not defined». Mario Gonzalez, Classical Complex Analysis, Chapman & Hall, 1991, p. 56.
- ↑ «Let’s start at Шаблон:Math. Here xx is undefined». Mark D. Meyerson, The xx Spindle, Mathematics Magazine 69, no. 3 (June 1996), 198—206.
- ↑ Шаблон:Статья