Традиционное определение для операции возведения в натуральную степень (или целую положительную) вводится примерно следующим образом:
Возведе́ние в сте́пень — арифметическая операция, первоначально определяемая как результат многократного умножения числа на себя.
На первый взгляд, это определение затруднительно обобщить для целых показателей степени меньших единицы
...
x^3 = x*x*x
x^2 = x*x
x^1 = x
x^0 = ?????
x^-1 = ?????
...
Но если вспомнить, что у операции умножения есть обратная - деление, то напрашивается расширение и для отрицательных показателей степени
...
x^3 = x*x*x
x^-3 = 1/(x*x*x) = 1/x/x/x
...
следовательно
...
x^3 = x*x*x
x^2 = x*x
x^1 = x
x^0 = ?
x^-1 = 1/x
x^-2 = 1/x/x
x^-3 = 1/x/x/x
...
Но всё ещё открытым остаётся вопрос для 0
: с одной стороны, на место ?
напрашивается 1
, но с другой, такое определение остаётся не вполне симметричным для положительных и отрицательных значений...
Поэтому при внимательном рассмотрении возникает вполне естественно желание слегка видоизменить и усовершенствовать исходное
...
x^3 = 1*x*x*x
x^2 = 1*x*x
x^1 = 1*x
x^0 = 1
x^-1 = 1/x
x^-2 = 1/x/x
x^-3 = 1/x/x/x
...
В таком представлении определение словно обретает стройность вкупе с полнотой:
Возведение числа X в целочисленную степень N — арифметическая операция, определяемая как результат многократного [N по модулю раз] умножения либо деления единицы на число X.
Чуть более общий случай* на языке программирования C#
static double Pow(double x, int pow, double seed = 1d)
{
var value = seed;
if (pow < 0)
for (var i = 0; i > pow; i--) value /= x;
else
for (var i = 0; i < pow; i++) value *= x;
return value;
}
* в общем случае зерно [seed
] может быть отличным от 1
В таком виде определение легко и естественно расширяется на случай 0^0
, о котором издавна ведутся жаркие споры в математическом сообществе.
Из него закономерно следует, что 0^0 = 1
.
Действительно, если мы ни разу не будем умножать единицу на ноль, то в результате останется исходная 1
, но если хоть раз умножим, то уже получим 0
.
Если хорошенько вдуматься, то строго доказать тождество X^0 = 1
невозможно, а причина в том, что мы ведь сами даём определения функциям таким образом, чтобы они обладали удобными в прикладных расчётах свойствами.
То есть при попытке доказать тождество X^0 = 1
различными методами, на самом деле мы лишь демонстрируем, что функция возведения в степень нами же определена именно таким способом, чтобы обладать теми заданными полезными свойствами, через которые и проводится само "доказательство". То есть возникает неявный замкнутый круг.
На вопрос:
Почему
X^0 = 1
?
Честный ответ таков:
X^0 = 1
по определению!
Тут уместно спросить:
Но почему же выбрано именно такое определение?
На что приемлем ответ:
Потому что оно во многом стройное (смотреть иллюстрации выше) и обладает рядом замечательных свойств, очень уместных в практических вычислениях.
Если, скажем, определить X^0
иначе, то частично сломается свойство умножения степеней с одинаковыми основаниями X^M * X^N = X^(M+N)
(а именноX^0 * X^N = X^N
), что будет лишь усложнять вычисления без какой-либо смысловой ценности.
Аналогичным образом легко рассмотреть функцию целочисленного умножения через сложение и вычитание с нулевым зерном
...
x*3 = 0 + x + x + x
x*2 = 0 + x + x
x*1 = 0 + x
x*0 = 0
x*-1 = 0 - x
x*-2 = 0 - x - x
x*-3 = 0 - x - x - x
...
static double Mul(double x, int scale, double seed = 0d)
{
var value = seed;
if (pow < 0)
for (var i = 0; i > scale; i--) value -= x;
else
for (var i = 0; i < scale; i++) value += x;
return value;
}
Умножение произвольного числа X на целое число N — арифметическая операция, определяемая как результат многократного [N по модулю раз] сложения либо вычитания нуля с числом X.
Из определения органично вытекает тождество X*0 = 0
.
В самом деле, если к нулю ничего не прибавлять и ничего из нуля не вычитать, то 0
в итоге и останется!
Похожим способом можно взглянуть на функции сложения и вычитания через функции инкремента и декремента, но в качестве зерна будет выступать уже само число.
Сложение
...
x + 3 = x + 1 + 1 + 1
x + 2 = x + 1 + 1
x + 1 = x + 1
x + 0 = x
x +(-1) = x - 1
x +(-2) = x - 1 - 1
x +(-3) = x - 1 - 1 - 1
...
static double Add(double x, int shift)
{
var value = x;
if (pow < 0)
for (var i = 0; i > shift; i--) value -= 1;
else
for (var i = 0; i < shift; i++) value += 1;
return value;
}
Вычитание
...
x - 3 = x - 1 - 1 - 1
x - 2 = x - 1 - 1
x - 1 = x - 1
x - 0 = x
x -(-1) = x + 1
x -(-2) = x + 1 + 1
x -(-3) = x + 1 + 1 + 1
...
static double Sub(double x, int shift)
{
var value = x;
if (pow < 0)
for (var i = 0; i > shift; i--) value += 1;
else
for (var i = 0; i < shift; i++) value -= 1;
return value;
}
И для полноты следует вспомнить функцию факториала и доопределить её для 0
. С отрицательными аргументами становится сложнее, поскольку из общей формулы возникают бесконечные произведения, для которых традиционные методы вычислений уже во многом не определены.
n! = 1 * [(n - 0)*(n - 1)*(n - 2)*...*3*2*1]
...
3! = 1 * (3*2*1)
2! = 1 * (2*1)
1! = 1 * (1)
0! = 1
...
Благодарю за прочтение!
Надеюсь, что рассмотренные примеры помогут читателю подружиться с тождеством X^0 = 1
.
Зеркала статьи:
Комментарии (99)
igorzakhar
04.12.2023 05:46+3Makeman Автор
04.12.2023 05:46+5Благодарю! Это классический подход, чтобы показать, почему математики выбрали именно такое определение. Но одна из основных задач публикации - также познакомить читателя с визуальным представлением
... x^3 = 1*x*x*x x^2 = 1*x*x x^1 = 1*x x^0 = 1 x^-1 = 1/x x^-2 = 1/x/x x^-3 = 1/x/x/x ...
IvanPetrof
04.12.2023 05:46+1Ааа.. Так вот почему 0!=1
3!=1*3*2*1 2!=1*2*1 1!=1*1 0!=1
P.s. Блин, только когда перечитал, заметил, что 0!=1 это true
chupasaurus
04.12.2023 05:46Смотря как считать, ведь это разные случаи пустого произведения. Веткой ниже правильно забурились в IEEE 754.
GospodinKolhoznik
04.12.2023 05:46+5Даже при x равном 0? ))
MrBuzzy
04.12.2023 05:46+1X^0 — неопределенность, так как 0^1/0^1 = 0/0.
Makeman Автор
04.12.2023 05:46В классическом понимании 0^0 - неопределённость, но практически эту неопределённость различными методами стараются разрешить.
Tiriet
04.12.2023 05:46+2Нет там неопределенности в том виде, в каком ее Вы привели. Есть операция возведения в степень a^b, которая "как-то там" определена. для этой операции есть некоторые свойства, например- a^b * a^(-b) = 1. Обычно. еще обычно a^(-b)=(1/a)^b= 1/(a^b). Но вот это свойство операции возведения в степень- это следствие ее определения, нет никаких оснований считать, что это свойство должно выполняться всегда, везде и для всех чисел. И вот получается, что неопределенность- это само выражение 0^(-1)- это оно в алгебре неопределенная штука (потому что a^(-b) == 1/(a^b), по определению отрицательной степени, а 0^1=0- по определению положительной степени, а по определение нулевого элемента- это такой элемент, который при умножении на любой другой элемент поля дает сам себя! а деление- это операция, обратная умножению, и поэтому деление на ноль- не определено- нет однозначного соответствия входных данных и результата). А поэтому и операция 0^(-1) не определена, и поэтому расписывать 0^0= 0^1/0^1- нельзя! Поэтому математики при определении операции возведения в степень для избежания таких вот инсинуаций просто взяли, и постулировали, что 0^0=1, это именно постулат- часть определения операции возведения в степень, а не следствие из ее свойств.
Tiriet
04.12.2023 05:46+4я весь такой уверенный в своих знаниях, я ж учебник читал, я ж помню. а полез в литературу- и опа- соглашение-то это не общепризнанное! то есть, есть те, кто принимает соглашение что 0^0=1, есть те, кто принимает соглашение о том, что 0^0=0, и есть те, кто принимает соглашение о том, что 0^0- неопределенность. и есть скрижали IEEE754-2008, который определяет три функции для чисел- есть вещественная pown(x,y)- которая при y=0.0 для любых вообще x (и NaN тоже) дает 1. есть вещественная powr(x,y)- которая для (0.0,0.0) вертает NaN (потому что внутри логарифм вычисляет, а он в нуле NaN), и есть целочисленная pow(x,y)- которая тоже для (0,0) возвращает 1. поэтому переобуваюсь в прыжке- во всем виновата не математика, а виноват во всем IEEE754. но языки все равно не при делах.
ikratkiy
04.12.2023 05:46Да, даже в таком случае. 0^0 будет равен нулю
Makeman Автор
04.12.2023 05:460^1 = 0
,0^2 = 0
... но0^0 = 1
!Для примера в языке программирования C# (и ряде других) возведение
0
в степень определено следующим образом.Tiriet
04.12.2023 05:46это не в языке оно так определено! это в математике оно так определено, а в библиотеке языка- это определение реализовано, потому что математическую библиотеку языка реализовывали люди, знакомые с математикой, и старались реализовать эту математику настоящим образом. как в армии- сказано, люминь- значит люминь, сказано 0^0- один, значит- один. У Вас там в языке есть +0 и -0? все равно "один". А если в языке будет не так- то математики будут возмущены и полны негодования (а остальным будет безразлично).
Makeman Автор
04.12.2023 05:46Да, конечно! Многие привыкли к традиционной интерпретации, что
0^0
- неопределённость, но даже во многих языках программирования результат такой операции далеко неNaN
, а1
.GospodinKolhoznik
04.12.2023 05:46+1В данном случае неопределенность это не просто "традиционная интерпретация", а неизбежность, чтобы не возникало логических парадоксов.
Ну а то, что в C# результат этой операции равен 1, свидетельствует лишь о том, что разработчик этой функции в C# предпочел реализовать функцию не так, как в математике, а так, как его левой пятке захотелось. Ну да, скорее всего он пошел на этот компромисс осознано, чтобы минимизировать обработку ошибок этой функции, и поэтому между математической истиной и удобством выбрал удобство.
NightlyRevenger
04.12.2023 05:46+6Это не решение разработчика функции, стандартная библиотека .NET очень аккуратно следует IEEE 754, и по этой спеке: "pow (x, ±0) is 1 for any x (even a zero, quiet NaN, or infinity)"
ksbes
04.12.2023 05:46Ну так плавающая точка - это не арифметические числа. Это давно известно. Но речь-то в статье идёт о целочисленных операциях, а не о "плавающем" pow.
Makeman Автор
04.12.2023 05:46В публикации сделана попытка рассмотреть определения
X^0 = 1
и0^0 = 1
через призму возведения вещественного числа в целую степень.Можно, конечно, разобрать эти определения и для вещественных степеней тоже с помощью других методов, например, пределов, но это более сложный уровень для математической интуиции.
Tiriet
04.12.2023 05:46IEEE754-2008 и целочисленную степень тоже регламентирует, и требует, что pow(int x, int y) в (0,0) тоже была равна 1.
mayorovp
04.12.2023 05:46-10^0
- это неопределённость если мы считаем предел.Но при обычном вычислении никакой неопределённости нет, это 1. Иначе бы слишком много формул пришлось уточнять, начиная с определения многочлена.
Mavolio-Bent
04.12.2023 05:46Как раз таки при обычном вычислении 0^0 это неопределенность. Это (x^0) при x = 0 или (0^x) при x = 0?
mayorovp
04.12.2023 05:46Это 1.
Иначе бы слишком много формул пришлось уточнять, начиная с определения многочлена
Tiriet
04.12.2023 05:46+1я до позавчера тоже был совершенно в этом уверен. детские предрассудки и убеждения. функция x^y в окрестности точки 0,0 имеет неустранимый разрыв. Если взять две произвольные функции f(t) и g(t), стремящиеся к нулю при t -> 0, то функциональный предел f(t)^g(t) не обязательно сходится к 1. он может сходиться к любому числу [0.. +inf). поэтому для целых чисел значение 0^0 постулируется- причем, постулируется в каждом отдельном случае так, как удобно конкретно в этом случае. Например, если 0^0=1 то разложение экспоненты в ряд Тейлора выглядит красивей, чем при 0^0=0 или 0^0=inf/undef. но не более.
mayorovp
04.12.2023 05:46Вы принципиально не читаете того что я пишу?
Неустранимый разрыв в функции x^y играет роль лишь тогда, когда мы пытаемся посчитать предел. Именно потому 0^0 при вычислении предела является неопределённостью.
При вычислении значения функции в точке никаких пределов и стремлений нету. Есть лишь соглашение о том, что 0^0=1. Это соглашение есть не просто так, а потому что
Иначе бы слишком много формул пришлось уточнять, начиная с определения многочлена
Tiriet
04.12.2023 05:46Читаю, в том-то и дело. И не согласен в корне с Вашей мыслью о том, что есть какое-то "обычное вычисление" выражени 0^0. Что это вообще- "при обычном вычислении" и каким образом предел отношения отличается от результатов "обычного вычисления"? Большая советская энциклопедия вот утверждает, что никакого "обычного вычисления" нет, а 0^0 "определенного смысла не имеет", и именно поэтому я и указываю Вам, что 0^0 =1 не из-за "простого вычисления", а из-за постулирования этого равенства. И что характерно- далеко не все математики согласы с таким постулированием, но все согласны с тем, что какое-то значение этого выражения надо постулировать .
mayorovp
04.12.2023 05:46Что это вообще- "при обычном вычислении"
Ну вот смотрите, у вас есть функция f(x,y)=x^y. Берём и вычисляем f(0,0).
и каким образом предел отношения отличается от результатов "обычного вычисления"?
В точке разрыва - запросто.
Большая советская энциклопедия вот утверждает, что никакого "обычного вычисления" нет, а 0^0 "определенного смысла не имеет"
Раз у вас есть к ней доступ, посмотрите там определение многочлена...
ksbes
04.12.2023 05:46Ну вот смотрите, у вас есть функция f(x,y)=x^y. Берём и вычисляем f(0,0)
Вы не сможете это сделать, не вычисляя предела или не доопределяя (т.е. постулируя) значение этой функции в точке (0,0). Ну или не переопределяя понятие степени, как это сделано в статье.
Да и вообще функции не вычисляют, а задают. Многие с помощью вычислений, но далеко не все (например, функция Дирихле).
ksbes
04.12.2023 05:46-1Ну потому что доопределяя и постулируя - мы можем решить любую проблему. Только это не будет вычислением.
Вычисление это последовательное применение правил к примитивам и конструкциям. И "взять из определения" - это не вычисление. Нет такой вычислительной операции.
mayorovp
04.12.2023 05:46А какая операция тогда есть?
Вот у вас есть выражение: 5 * 0^1 + 2 * 0^0, как вы будете его вычислять?
ksbes
04.12.2023 05:46-1Примерно так же как искать вещественные корни полинома
(x^7 - 1) / (15x^2 - 27x + 12)
Tiriet
04.12.2023 05:46Ну вот смотрите, у вас есть функция f(x,y)=x^y. Берём и вычисляем f(0,0).
Вы меня извините, но я не понимаю, что значит "берем и вычисляем" в конкретно сабжевом случае. Как вычислить число pi- я понимаю- ряд слагаемых, умножения, сложения, деления, критерий сходимости там, оценка погрешности ряда, остаточный член, методы ускорения сходимости ряда- это все я понимаю. Как вычислить число е- тоже понимаю. Как корень n-й степени из числа посчитать- что с чем складывать, на что умножать и где делить- я понимаю. sin/cos- как разложить в ряд тейлора и посчитать тоже понимаю. А вот как вычислить 0^0- не понимаю. что куда подставлять, что умножать и что делить? Поэтому раз для Вас это так просто- то приведите, пожалуйста, расчеты- как Вы вычисляете эту "идиницу"?
В точке разрыва - запросто.
меня за "запросто посчитать" в точке разрыва ругали в детстве нехорошими словами- специально заставляли учить определения левого предела, правого предела, что такое "значение функции в точке", какие бывают функци и области их определения, какие бывают варианты разрывов и всякое такое. а уж с функциями многих переменных- так ваще. Поэтому я не вижу никакого "простого" способа посчитать 0^0.
Раз у вас есть к ней доступ, посмотрите там определение многочлена...
В моей копии-
многочлен- полином, выражение вида A*x^k*y^l…..w^m + B*x^n*y^p…..w^q + …… + D*x^r*t^s…..w^t
Многочлен от одного переменного х можно всегда записать в виде
P(x) = a_0*x^n + a_1*x^(n-1) + ... + a_n-1*x + a_n,
где a_0, a_1,..., a_n — коэффициенты.и в этой версии БСЭшного определения многочлена я чет не вижу повода использовать 0^0. и никаких изменений определения многочлена от соглашения о том, чем равно 0^0- тоже не вижу. ЧЯДНТ?
mayorovp
04.12.2023 05:46А вот как вычислить 0^0- не понимаю. что куда подставлять, что умножать и что делить?
Берём постулированный результат из определения и всё.
и в этой версии БСЭшного определения многочлена я чет не вижу повода использовать 0^0
Ну да, если там даже коэффициенты нумеруются в обратном порядке - то да, никакой 0^0=1 этим авторам и правда не требуется.
Только знаете что?:Пусть идут они нафиг с таким определением многочлена!
ksbes
04.12.2023 05:46Ну и скажите мне, как мне назвать человека посылающего нафиг Маркушевича?
В отличии от интернетов, энциклопедии не анонимы писали и пишут.Ближе к сабжу: вы действительно думаете, что истинность или ложность математических утверждений зависит от порядка нумерации коэффициентов многочлена?
mayorovp
04.12.2023 05:46Если он занимался только ТКФП - то можно понять почему он не задумался об упрощении формул в других разделах математики. Но крайние случи в общеупотребимых определениях пусть всё-таки пишет тот, кто потом будет ими пользоваться.
вы действительно думаете, что истинность или ложность математических утверждений зависит от порядка нумерации коэффициентов многочлена?
Истинность или ложность математических утверждений зависит от используемой системы определений и аксиом.
А порядок нумерации коэффициентов многочлена говорит о качестве проработки этой системы.
Tiriet
04.12.2023 05:46ну, Маркушевич не только ТФКП занимался. Он занимался теорией функций вообще, отображениями всякими и смежными областями, разложениями функций, интегралами и дифурами, а еще- историей науки и педагогикой. Почему-то мне кажется, что мнение человека, о котором специальную статью писали в Успехах математических наук, о том, как нумеровать полиномы- заслуживает как минимум того, чтоб к нему прислушаться. Кстати, статью о нем писал Шабат- тоже изветный педагог от математики, одна его книжка Лаврентьев Шабат, Теория Функций комплексного переменного чего стоит- на ней поколения учились!. Докторская у Маркушевича, между прочим- по теории разложения функций в ряды- подозреваю, что он неплохо шарил в полиномах :-) а учебники его авторства (а он писал и учебники тоже!) переводились на многие языки. Вы будете настаивать, что этот почетный член плохо проработал вопрос нумерации членов полинома? серьезно?
GoshaAndYasha
04.12.2023 05:46+3Что же лучше всего покажет почему подобное бесит? Ага, вот...
Если хорошенько вдуматься, то строго доказать тождество
X^0 = 1
невозможно, а причина в том, что мы ведь сами даём определения функциям таким образом, чтобы они обладали удобными в прикладных расчётах свойствами.Надо бы понимать смысл слова "доказать"...
Аналогично классическому вопросу "кто такой Скр?", хочу спросить - кто такие "мы"? Если всяк с доступом к клавиатуре, то будет так же как с программированием - не получая по рукам должным образом, а то и в морду коли повзрослели, Всяк и Каждый завели индустрию на шаг дальше края пропасти. Для этих "мы" всё может и должно быть просто - что print сказал, то и Истина (в последней инстанции).
Если "мы" - те, кто реально даёт определения и стоит минимум на десяток лет обучения выше предыдущих "мы", то они руководствуются не только удобными свойствами, причём думая о прикладных расчётах в последнюю очередь, но и принципом Оккама.
Сам же ларчик открывается легко. Непрерывные функции просты и приятны, поэтому 0^x = 0 и x^0 = 1.
Makeman Автор
04.12.2023 05:46+10^x = 0
верно лишь дляx > 0
. В классическом понимании0^0
- уже не определено, хотя функцию можно доопределить до1
, например, как рассморено в статье.0^x
дляx < 0
обычно принимают равным бесконечности (например, в ряде языков программирования). Вот онлайн-пример.
Tiriet
04.12.2023 05:46проблема в том, что функция x^y в окрестности точки (0,0) не является непрерывной. А разрывные функции сложны и непонятны. Особенно разрывные функции нескольких переменных.
S_Corvin
04.12.2023 05:46+12В школьном учебнике было такое:
x^0=x^(n-n)=x^n*x^(-n)=x^n/x^n=1
Makeman Автор
04.12.2023 05:46Да, так тоже можно показать справедливость этого тождества, но строгим доказательством его назвать не вполне корректно, поскольку оно базируется на свойствах степеней, которые вытекают из определения! Задача публикации познакомить читателей с визуальной интерпретацией этого определения.
Tiriet
04.12.2023 05:46+3x^0=x^(n-n)=x^n*x^(-n)=x^n/x^n=1 и тут мы вдруг вспоминаем про определение операции деления, и понимаем, что при x=0 x^n/x^n= 0/0 что есть неопределенность, и конкретно точку 0 из этого доказательства надо выколоть, и разбираться с ней отдельно. :-)
marperia
04.12.2023 05:46+2Статью не читал, но и речь не о том,
дорасскажу потомС точки зрения
банальной эрудициитеории групп, 0 является нейтральным (единичным) элементом для сложения, а 1 — для умножения. При этом все свойства у них общие: замкнутость (для любых a и b => c), ассоциативность (порядок умножения/сложения не важен), существование обратного (a^-1 * a^1 = a^1 * a^-1 = 0).А возведение в степень — операция не ассоциативная, т.е. 5^6 ≠ 6^5
Вот с этого момента в тред призываются знатоки. Уважаемые знатоки, внимание, вопрос: можно ли говорить о единице как о нейтральном элементе этой вот группы, или это вообще не группа?
oldnomad
04.12.2023 05:46+4Во-первых, да, не группа. 2^(3^2) = 2^9, (2^3)^2 = 2^6, нет ассоциативности. И даже не квазигруппа, для пары (1, 0) нет левого деления (1^x = 0 не имеет решения).
Во-вторых, 1 является нейтральным элементом справа (x^1 = x), но не слева (1^x <> x).
Makeman Автор
04.12.2023 05:46Насколько понимаю сам, по определению нельзя считать группой, поскольку не выполняется аксиома ассоциативности.
Akela_wolf
04.12.2023 05:46А возведение в степень — операция не ассоциативная, т.е. 5^6 ≠ 6^5
Это коммутативность. Она не требуется. А ассоциативность 5^2^3 = (5^2)^3 = 5^(2^3). Что также не выполняется. Поэтому не группа.
acsent1
04.12.2023 05:46Вообще определение функции возведения в степень (для вещественных чисел) - это пара страниц учебника по матану
Makeman Автор
04.12.2023 05:46Это, конечно, так, для вещественных чисел возведение в степень определить сложнее! Но в публикации сделана попытка подружить читателя с тождеством
X^0 = 1
через призму целочисленных степеней.VAE
04.12.2023 05:46-1попытка подружить читателя с тождеством
X^0 = 1
через призму целочисленных степеней.На мой взгляд попытка неудачная. В высшей алгебре (Поля, кольца, группы и др.) все базируется на модулярной арифметике. Автор это полностью игнорирует. Неуместны и ссылки на авторитеты создателей языков программирования, Савватеева,...
Существуют фундаментальные основы математики и только игнорирование их подвигает автора и ему подобных излагать свое "понимание" этих основ, вводя в заблуждение не подготовленную аудиторию.
Makeman Автор
04.12.2023 05:46На мой взгляд попытка неудачная. В высшей алгебре (Поля, кольца, группы и др.) все базируется на модулярной арифметике. Автор это полностью игнорирует.
Ну, тут каждый сам для себя решает. Про тождество
x^0 = 1
мне было известно давно, немало лет, но как-то оно всё не давало покоя, что-то внутри сопротивлялось... Не помогло изучение ни групп, ни полей, ни колец.Но как увидел его визуальное представление, то всё, словно, стало на свои места. Вот оно! Наконец озарило! Это же так интуитивно!
Неуместны и ссылки на авторитеты создателей языков программирования, Савватеева,...
Как таковых ссылок в самой публикации нету, в комментариях же оставляю ссылки на те материалы, которые, на мой взгляд, будут кому-то интересны для изучения.
Существуют фундаментальные основы математики и только игнорирование их подвигает автора и ему подобных излагать свое "понимание" этих основ, вводя в заблуждение не подготовленную аудиторию.
Если вы видите ошибки в "понимании" и можете на них указать, то буду только рад такой критике. Моё видение не является чем-то незыблемым, поэтому не следует его считать абсолютно истинным и достоверным!
VAE
04.12.2023 05:46+2Но если вспомнить, что у операции умножения есть обратная - деление, то напрашивается расширение
Ничего дальше не напрашивается, так как Обратная операция для умножения (произведения) - есть факторизация результата умножения, но не деление, которое требует знания делителя и результата умножения. Обратной операцией к возведению в степень является извлечение корня.
Makeman Автор
04.12.2023 05:46-1Возможно, в контексте публикации сочетание слов "обратная операция" не совсем корректно употреблено, но точнее у меня не вышло сформулировать мысль. Если вы предложите более аккуратную фразу, то готов исправить исходную формулировку!
Makeman Автор
04.12.2023 05:46Ещё если рассмотреть вопрос с точки зрения проективной геометрии или введения в теорию групп, то сложение и вычитание - это операция сдвига, а умножение и деление - это операция масштабирования.
Поскольку композиция функций сложения и вычитания [
a + b - b = a
], а также умножения и деления [a * b / b = a
] на одно и то же число взаимно отменяют друг друга, то в таком смысле они являются взаимно обратными. Единственный момент, при делении может возникать неопределённость0/0
, которая немного нарушает симметрию...
Makeman Автор
04.12.2023 05:46Мне нравится англоязычное видео от канала 3Blue1Brown с плавным и наглядным введением в теорию групп
Euler's formula with introductory group theory
Из русскоязычных источников отмечу курс лекций от Алексея Савватеева
В контексте текущего вопроса далеко углубляться в теорию групп не обязательно, но важно прочувствовать основы, согласно которым, функции умножения и деления в определённом смысле взаимно обратные.
VAE
04.12.2023 05:46-2функции умножения и деления в определённом смысле взаимно обратные.
Так определите, обнародуйте этот определенный смысл для читателей.
Makeman Автор
04.12.2023 05:46но если вспомнить, что у операции умножения есть обратная - деление, то напрашивается расширение и для отрицательных показателей степени
В тексте публикации обозначено, что функции умножения и деления считаются взаимно обратными, просто без уточнений, с какой точки зрения (проективной геометрии). У читателя возникло законное возражение, что с другой точки зрения взаимно обратной умножению можно назвать - извлечение корня, и в общем-то соглашусь с этим.
Но для аргументированного уточнения точки видения из контекста публикации решил привести ссылки на другие источники.
То есть имеют место быть оба альтернативных взгляда, но в контекстве публикации взаимно обратными считаются умножение и деление.
Jeshua
04.12.2023 05:46+2Если нужно прямо наглядно, то давайте так. Уменьшим строгость, увеличим наглядность. Очевидно, что . Если не очевидно, то можно взять производную, она как раз равна 0, значит, точно константа. Но у нас есть сомнения, какая. Мы не можем напрямую исследовать функцию , там всё тривиально, и новой информации мы не получим. Но мы можем взять вместо неё другую функцию, более сложную, но которая даёт то же значение хотя бы в какой-то точке. Например . Очевидно, что в 0 обе эти функции дают. А значит, для ответа на первоначальный вопрос достаточно вспомнить 9й класс и найти
Это мы можем :)
Конечно, здесь я немного смухлевал и сравнивал значения двух функций в той точке, в которой обе они не определены. Но я исходил из того, что это устранимый разрыв.
Makeman Автор
04.12.2023 05:46+1Благодарю за пример!
Но это более продвинутый уровень наглядности, поэтому доступный меньшему количеству людей, ведь не всякий гуманитарий что-то помнит о производных и пределах, даже если когда-то изучал их.
К тому же целочисленные степени хоть как-то интуитивны в бытовом плане, чего не скажешь о вещественных...
ksbes
04.12.2023 05:46-1Это ничего не доказывает. Вам надо дополнительно доказать, что для любого функционала F(x) -> x^0
lim(F(x)) -> 1 при ( x ->0). При этом если найдётся хотя бы один, который стремится к другому числу, то утверждать, что x^0 = 1 уже нельзя.
И вообще есть, например, и такая точка зрения:
Tiriet
04.12.2023 05:46+4график функции x^y в окрестности нуля имеет разрыв, и в зависимости от того, по какой траектории вы двигаетесь к точке (0,0)- можно получить любое значение предела. вот Вы выбрали x=y, и двигаетесь по траектории x^x, а я хочу взять траекторию 0^x- и двигаться по x от 1 к нулю- и тогда предел будет сходиться к нулю. А если я хочу двигаться по траектории x= exp(a), y=1/a- то предел будет exp(a)^(1/a) = e^1=e. :-)
iShrimp
04.12.2023 05:46+3Обратная операция для умножения (произведения) - есть факторизация результата умножения
В общем случае, гипероператор hyper(a,n,b) некоммутативен при n>2, т.е. для степени, тетрации, пентации и т.д. аргументы a(основание) и b(показатель) невзаимозаменяемы.
Соответственно, гипероператор имеет две обратные операции, которые можно назвать гиперкорень (нахождение a) и гиперэкспонента (нахождение b). Для n=1 (сложение) и n=2 (умножение) эти операции эквивалентны.
Если нам нужна функция одного аргумента, то в качестве аргумента лучше всего использовать показатель (b). Это позволяет легко определить оператор порядка n+1 (для n>1) путём применения оператора порядка n по основанию a к единице b раз. Например, тетрация hyper(5,4,3)=5^5^5 вычисляется последовательным применением к единице показательной функции hyper(5,3,x)=5^x три раза: hyper(5,3,hyper(5,3,hyper(5,3,1))).
Таким образом, n+1-ый оператор является суперфункцией для n-ого оператора. А n-ый оператор является передаточной функцией для n+1-ого.
Передаточная функция может быть применена нулевое или отрицательное число раз. Для нуля итераций (b=0), в качестве начального значения всех операторов, начиная c n=3, принято число 1.
Для оператора n=2 передаточной функцией является сложение (n=1), а начальное значение равно 0.
Для оператора n=1 передаточной функцией является инкрементирование (n=0): hyper(a,0,b)=b+1, а в качестве начального значения принято a (первый аргумент сложения).
Чтобы определить тетрацию (n=4) с отрицательным показателем b<0, можно воспользоваться тем же принципом, что и для степени - вычислить её из начального значения 1 путём применения обратной функции по показателю (логарифма), применённой -b раз. Но, в отличие от степени, тетрация определена только для b>-2, т.к. если при b=0 результат равен 1, то при b=-1 логарифм единицы по любому основанию a>1 равен 0, а при b=-2 результат обращается в минус бесконечность.
Тетрация, как и степень, может быть определена для дробных показателей и вычислена с помощью полиномиальных рядов, как экспонента аппроксимируется рядом Тейлора. Отсюда можно численно получить и суперлогарифм.
Можно определить и оператор дробного порядка, например, полусложение-полуумножение в литературе обычно выводится из арифметико-геометрического среднего.
Jeshua
04.12.2023 05:46+3Для нуля итераций (b=0), в качестве начального значения всех операторов, начиная c n=3, принято число 1.
Для оператора n=2 передаточной функцией является сложение (n=1), а начальное значение равно 0.
Вот здесь, как бы и зарыт ответ на вопрос "почему?" То есть, ответ, конечно, "для удобства", поскольку "для единообразия" не подходит. Но вот в чем удобство - нужно объяснять на примерах.
iShrimp
04.12.2023 05:46Возможно, привычные нам "целые" операторы (сложение, умножение и т.д.) с этой точки зрения неоптимальны, и существует какое-то альтернативное гипероператорное семейство, где все функции определены единообразно.
Makeman Автор
04.12.2023 05:46Интересный обобщающий взгляд и работа по ссылке! Спасибо!
Правда, мне пришлось поднапрячься, чтоб уловить ход размышлений... Материал о тетрациях требует некоторой подготовки, поэтому можно считать, что текущая публикация - это очень плавное введение в передаточные и суперфункции для широкого круга читателей.
StjarnornasFred
04.12.2023 05:46+1Как я ждал именно этого обобщения! Добавил в закладки.
И сразу вопросы (гипотезы? задачи?):
Верно ли, что hyper(1,n,1) = 1 при любом n?
Верно ли, что hyper(2,n,2) = 4 при любом n?
Есть ли обобщённые формулы и способы для работы с hyper? Ну, типа, если мы (люди) перешли от сложения целых яблок к абстрактным дробям, то и величина оператора тоже может быть не целой, а абстрактной - дробной, отрицательной и т. д.? Можно ли обобщённо решить уравнение наподобие hyper(2,x,3)=5, не по методу "ну это ж глазами видно!", а именно математически?
muxa_ru
04.12.2023 05:46В конечном счёте, все обоснования того, почему "x^0=1" сводятся к тому, что надо соединить две половинки в одно целое, и проще всего это сделать проведя линию через точку с координатами 0,1 . :)
Makeman Автор
04.12.2023 05:46Простыми словами можно и так выразить ;) только это не строгая, а весьма вольная формулировка получается!
muxa_ru
04.12.2023 05:46Вы первый начали вольничать, а я лишь точно описал суть Вашего метода.
Вы, по сути, рисуете столбики из "x" высотой равной показателю степени, а потом просто соединяете две половинки этой гистрограммы.( Я не спрашиваю о том, что вообще значит запись "
1/x/x/x
" :) )Вы не объясняете, почему остаётся просто "1", а не "1*0". Вы просто берёте и соединяете.
Ну а потом заявляете о том, что это распространяется и на случай с основанием равном нулю.
Это не значит что Вы не правы, но метод у Вас сильно не строгий.
Makeman Автор
04.12.2023 05:46Как там в подобных случаях говорят: "я художник - я так вижу" (:
1/x/x/x
- это деление несколько раз подряд симметричное многократному умножению1*x*x*x
, для уточнения можно, конечно, скобок добавить((1/x)/x)/x
, но в общем-то они не обязатеные.Вы не объясняете, почему остаётся просто "1", а не "1*0". Вы просто берёте и соединяете.
Объяснение и мотивация тут есть - определяем функцию именно таким образом для симметрии и удобства. Можно, конечно, оставить
1*0
, но тогда поломаются свойства степеней и нашей функцией станет весьма неудобно пользоваться на практике.Такие варианты в рамках публикации рассматривать не стал, но читатель их может проверить самостоятено...
D7ILeucoH
04.12.2023 05:46+1Для чего искать ответ почему это равно единице, если ты за данное берёшь отрицательные степени с выражением типа: x^-1=1/x ? Откуда тогда здесь единица появилась?)
Ответ на вопрос прост: потому что мы не видим всей сути. Потому что на самом деле x^1=1*x, а не просто x. Количество множителей "икс" в данном выражении варьируется в зависимости от показателя степени. И вообще, это само по себе является вольной интерпретацией существующей и общепринятой "аксиомой умножения".
Доказывать аксиому не то что смысла нету, это в принципе странно. Можно попытаться её опровергнуть. Объяснение любой аксиомы выглядит следующим образом: "мы так решили, если не согласны - опровергайте". Или "придумаете лучше - приходите".
Makeman Автор
04.12.2023 05:46В целом так, в публикации схожий момент тоже обозначен:
Если хорошенько вдуматься, то строго доказать тождество X^0 = 1 невозможно, а причина в том, что мы ведь сами даём определения функциям таким образом, чтобы они обладали удобными в прикладных расчётах свойствами.
...
Ogoun
04.12.2023 05:46+1Если расписать как считается X^n для положительных n начиная от 0, то вопрос почему x^0=1 даже не возникает)
M = 1 for(i = 1; i < n; i++) { M = M * X[i]; } print(M)
Makeman Автор
04.12.2023 05:46Да-да, аналогия из мира программирования в материале присутствует
static double Pow(double x, int pow, double seed = 1d) { var value = seed; if (pow < 0) for (var i = 0; i > pow; i--) value /= x; else for (var i = 0; i < pow; i++) value *= x; return value; }
Akela_wolf
04.12.2023 05:46+2По мне - так достаточно странная статья. Это доказывается из определения операции возведения в степень. Итак, по определению, a^n = a*a*...*a (n раз). Но тогда a^b*a^c = a*a*...*a (b раз) * a*a*...*a (c раз), что, очевидно означает умножение a само на себя b+c раз. Свойство a^b*a^с = a^(b+c) доказано.
Аналогично доказывается свойство a^b/a^c = a^(b-c).
Теперь рассматриваем случай c>b, что приводит к отрицательному показатель степени. Единственный способ избежать противоречия в предыдущей формуле - это определить возведение в отрицательную степень как a^(-b) = 1/a^b
Аналогично, рассматривая случай b=c получаем a^0=1. Потому что любой другой случай приводит к противоречию. Например, мы можем умножить любое ненулевое число на a^0. Тогда a^b*a^0=a^(b+0)=a^b. Из чего следует что a^0=1.
Точно также, по определению операции возведения в степень доказывается свойство (a^b)^c=a^(b*c), что позволяет расширить операцию возвещения в степень на множество рациональных чисел.
Еще один момент. Операция умножения на множестве действительных чисел (кроме нуля) образует группу. Соответственно, для определения a^0 (умножить число само на себя 0 раз) просто напрашивается нулевой элемент группы. То есть единица.
А вот 0^0 - неопределенность т.к. ноль не имеет обратного элемента в группе по умножению.
VAE
04.12.2023 05:46-1ноль не имеет обратного элемента в группе по умножению.
В мультипликативную группу нуль не входит вообще.
Makeman Автор
04.12.2023 05:46В тексте статьи подчёркивается, что
x^0 = 1
принимается по определению, чтоб сохранить свойства степеней. Это можно показать аналитически, как делаете Вы, но строгим доказатестом вряд ли можно считать, потому что оно опирается на определение функции. В общем-то функцию можно определить и иначе, просто на практике ею станет менее удобно пользоваться из-за необходимости отдельного рассмотрения частных случаев.Визуальное же представление, на мой взгляд, помогает чуть более явно и интуитивно раскрыть симметрии, лежащие в основе принятого определения...
Akela_wolf
04.12.2023 05:46Мы, разумеется, можем определить функцию возведения в степень как-то иначе и она не будет обладать теми свойствами, которые я использовал. Но тогда это будет другая функция. Собственно любое обсуждение должно начинаться с определений в которых мы ведем дискуссию.
Makeman Автор
04.12.2023 05:46Верно подметили, в пубикации рассматривается вопрос, почему выбрано именно определение
x^0 = 1
с точки зрения симметрий и практического удобства, а не, скажем,x^0 = 0
наподобие умноженияx*0 = 0
, что тоже вполне могло бы быть, но нарушало свойства степеней.
Sergaza
04.12.2023 05:46-2«Надеюсь, что рассмотренные примеры помогут читателю подружиться с тождеством X^0 = 1»
На всякий случай. x^0 = x^(1-1) = x^1•x^(-1) = x/x = 1. Не благодарите.
Makeman Автор
04.12.2023 05:46По правде говоря, с осмысления подобных выкладок и начиналась подготовка материалов этой публикации ;)
arTk_ev
04.12.2023 05:46Вот из-за таких колец, алгебр, необратимых операций - одни проблемы. В дискретной математике достаточно суммы по модулю и все
VADemon
04.12.2023 05:46https://youtu.be/Mfk_L4Nx2ZI факториал нуля, другое объяснение.
Makeman Автор
04.12.2023 05:46+2На самом деле, на многие математические вопросы [да и в целом жизненные] зачастую существует множество альтернативных взглядов и объяснений в разном контексте и глубине рассмотрения...
Поэтому в общем-то полезно знакомиться с разными позициями и гранями для расширения кругозора и составления более полной картины представений о Мире. И да, вокруг много учителей и общепризнанных авторитетов в тех или иных областях, на которых порой хочется опереться, но каждый может быть как в чём-то прав, так и в чём-то ошибаться или же не обладать полнотой представлений.
При всём уважении к наставникам и оппонентам во многих вопросах всё же наибоее важным авторитетом для меня остаётся внутреннее чутьё, потому что кто бы что ни говорил - каждому жить свою жизнь своим умом и опытом. И за поступки тоже отвечать нам самим.
Конечно, бывают в жизни ситуации, когда вопрос касается не тебя одного лично, и тут важно уметь слышать других, искать компромиссы, где-то уступить, где-то наоборот проявить настойчивость, но всегда важно учитывать, на ком лежит ответственность за принятые решения и возможные ошибки.
P.S. Тоже с интересом смотрю Numberphile и других авторов математической тематики! В своё время меня очень заинтриговала тема сложения бесконечных расходящихся рядов, после чего очень возрос интерес к математике!..
SemenovVV
04.12.2023 05:46+1если вспомнить геометрию и интерпретацию целой степени :
степень 3 1 * 1 * 1 объем единичного куба
степень 2 1 * 1 площадь единичного квадрата
степень 1 1 длина единичного отрезка
степень 0 ??? длина-размер точки ?
тогда вроде логично 1^0 = 0
но если принять x^0 = 1, то придется смириться с x^0 = y^0
для любой пары x y
проще(правильнее) принять договориться что x^0 НЕ ОПРЕДЕЛЕНО!
также как и результат деления на 0Makeman Автор
04.12.2023 05:46Если у нас есть N-мерные пространства, то можно ввести обобщение - N-мерный объём. Тогда 3-мерный объём - это привычный бытовой объём, 2-мерный - это площадь, 1-мерный - длина, 0-мерный - безмерный точечный объём.
Чтобы получить N+1-мерный объём, нужно N-мерный умножить на новую размерность. Тогда 0-мерный объём необходимо принять безразмерной
1
, иначе мы не получим длину1см
или1м
при умножении безмерной величины точечного объёма на1см
или1м
, то есть тождестаx*1см = 1см
иx*1м = 1м
выполняются именно приx = 1
.Это у меня такое видение, может, оно в чём-то ошибочное или неполное, поэтому каждый волен выбрать ту точку зрения, которая ему ближе!
muxa_ru
04.12.2023 05:46если вспомнить геометрию и интерпретацию целой степени
если мы считаем, что возможно выполнить действие "x^3+x^2+x^1=..." то геометрические интерпретации нужно снимать со стола, потому что мы от них уже отказались и не можем к ним апеллировать.
Makeman Автор
04.12.2023 05:46-1Ещё ваш пример наводит на очень интересные и интригующие размышления о физическом смысле N-мерных отрицательных объёмов. Например, (-1)-мерное пространство можно считать вариацией бесконечномерного (+...9999)-мерного [9 в периоде с сторону целой части].
(-1) = (+...9999) в следующем смысле: если мы возьмём окружность и разделим её на 10 частей, пронумеровав разрезы от 0 до 9, то получим шкалу наподобие классических часов. Если стрелку часов установить на 9 и спросить, куда указывает стрелка, то ответ в натуральных числах будет звучать так: стрелка указывает на 9. Но если спросить, как смещена стрелка относитено нуля (добавляется направление), то корректными и эквивалентными будут уже два ответа: стрелка смещена на +9 делений либо на -1 относительно 0. Другими словами в такой системе +9 = -1.
Дальше мы можем разделить окружность на 100 частей и по аналогии получить систему, в которой +99=-1. Для 1000 частей получим +999=-1 и так далее до бесконечности. В итоге придём к тому, что +...9999=-1.
Обобщая, получим интересный взгляд на систему целых чисел:
... ... - ...9997 = + ...0003 - [9]7 = + [0]3 - ...9998 = + ...0002 - [9]8 = + [0]2 - ...9999 = + ...0001 - [9]9 = + [0]1 + ...0000 = - ...0000 - [0]0 = + [0]0 + ...9999 = - ...0001 + [9]9 = - [0]1 + ...9998 = - ...0002 + [9]8 = - [0]2 + ...9997 = - ...0003 + [9]7 = - [0]3 ... ...
Теперь вспомним, что (1 секунда)^-1 = 1 Герцу - так выглядит связь времени и частоты. Но также с точки зрения теории относительности и пространства Минковского размерность по оси времени
c*t
(где c - скорость света в вакууме, которая имеет размерность метр/секунда), то естьс * 1 секунда = 1 метр
=>1 метр = c / 1 Герц
.Тогда евклидово пространство размерности
-1
будет иметь метрику метр^-1, то есть 1 Гц / c (частота / скорость света).Другими словами, отвязашись от привычных пространственных единиц измерения: метров линейных, квадратных и кубических, - перейдя в частотно-световой базис (Гц - скорость света), мы можем получить некий физический аналог обобщённого объёма для бесконечномерных [отрицательных размерностей] евклидовых пространств, где математическая операция возведения в степень указывает на степень пропорциональности к скорости света.
Наверно, звучит словно околонаучная фантастика, - но всё же поделюсь этим полётом мысли...
Tiriet
не правда Ваша, батенька. Интегралом от дельта-функции Дирака является функция единичного скачка, или функция Хэвисайда, как ее еще называют, и она никак не похожа на Вашу Y, которая вообще не определена при X<0, равна 1 при X=0 и равна 0 при Х>0.
и опять не верно. это тождество- это определение нулевого элемента в алгебре. Все остальные Ваши рассуждения вытекают из этого тождества и алгебраических определений единицы, сложения и умножения. если это тождество удовлетворяется, то в Вашей алгебре есть умножение, возведение в степень и все остальные Ваши выкладки работают. Если нет- то все выкладки превращаются в тыкву. Школьная алгебра становится зело не тривиальной штукой при попытке разобраться, что вообще такое число, что такое ноль, единица, и что такое операции умножения и сложения- возникают всякие поля чисел, операции над ними и теоретическая заумь, в которой уровень абстракции внезапно выше ожидаемого.
Makeman Автор
Благодарю за внимательность! Решил вовсе убрать спорное утверждение о Дельта-функции.
sci_nov
У дельта функции есть свои аппроксимации. Вероятно, ошибкой было слово интеграл.
Makeman Автор
В контексте публикации слово "вытекает" подразумевает - визуально показывает или демонстрирует (но не доказывает!), почему выбрано такое определение для нулевого элемента. Благодаря этому определению, и возникает почва для дальнейшего создания алгебры: начинают удовлетворяются аксиомы групп, можно описывать поля и кольца.
Но это насколько сам понимаю, не стоит принимать за незыблемую истину!