Факторіал

Матеріал з testwiki
Версія від 18:41, 3 жовтня 2024, створена 46.119.210.11 (обговорення) (цікаві факти)
(різн.) ← Попередня версія | Поточна версія (різн.) | Новіша версія → (різн.)
Перейти до навігації Перейти до пошуку
Обрані числа із факторіальної послідовності (Шаблон:OEIS); значення наведені в науковій нотації округлені до наведеної точності
Шаблон:Math Шаблон:Math
0 1
1 1
2 2
3 6
4 24
5 120
6 720
7 Шаблон:Val
8 Шаблон:Val
9 Шаблон:Val
10 Шаблон:Val
11 Шаблон:Val
12 Шаблон:Val
13 Шаблон:Val
14 Шаблон:Val
15 Шаблон:Val
16 Шаблон:Val
17 Шаблон:Val
18 Шаблон:Val
19 Шаблон:Val
20 Шаблон:Val
25 Шаблон:Val
50 Шаблон:Val
70 Шаблон:Val
100 Шаблон:Val
450 Шаблон:Val
Шаблон:Val Шаблон:Val
Шаблон:Val Шаблон:Val
Шаблон:Val Шаблон:Val
Шаблон:Val Шаблон:Val
Шаблон:Val Шаблон:Val
Шаблон:Val Шаблон:Val
Шаблон:Val Шаблон:Val
[[Гугол|Шаблон:Val]] 10Шаблон:Val

Факторіал натурального числа n — добуток натуральних чисел від одиниці до n включно, позначається n!.

Шаблон:Center За означенням 0!=1, згідно з конвенцією для порожнього добутку.Шаблон:Sfn.

При великих n наближене значення факторіала можна обчислити за формулою Стірлінга.

Факторіал n дорівнює кількості перестановок з n елементів.

Історія

Індійські науковці використовували факторіали для підрахунку перестановок ще в 12-му столітті.[1] В 1677, Шаблон:Нп описав застосування факторіалів для узгодження Шаблон:Нп, музичного мистецтва із використанням багатьох підібраних налаштованих дзвонів.Шаблон:Sfn Після описання рекурсивного методу, Стедмен приводить визначення факторіалу.

Математичний запис Шаблон:Math було запропонована французьким математиком Шаблон:Нп у 1808.[2]

Визначення

Функція факторіалу визначається добутком

n!=123(n2)(n1)n,

для початкового цілого числа Шаблон:Math. Цей добуток можна представити у нотації великим Пі для добутку наступним чином

n!=i=1ni.

Із цих формул можна отримати наступне рекурентне співвідношення:

n!=n(n1)!.

Наприклад, маємо наступне:

5!=54!6!=65!50!=5049!

і так далі.

Факторіал нуля

Для того, щоб рекурентне співвідношення могло поширюватися на випадок Шаблон:Math, необхідним є визначити, що

0!=1

Так що

1!=10!=1.

Існує ряд незалежних причин, чому це визначення вважають гармонійним. Це є наступні твердження:

  • У випадку Шаблон:Math, у визначенні Шаблон:Math як добутку припускає порожній добуток без чисел взагалі, і тому це є прикладом більш ширшої конвенції того що добуток без множників дорівнює мультиплікативній одиниці (див. порожній добуток).
  • Існує лише єдина перестановка нульової кількості об'єктів (оскільки нема чого переставляти, єдиною можливою перестановкою залишається тотожна, яка нічого не робить).
  • Це дозволяє утворити багато рівнянь з комбінаторики, що будуть дійсними для всіх заданих розмірів. Кількість різних способів вибрати 0 елементів із порожньої множини задається біноміальним коефіцієнтом
(00)=0!0!0!=1.
В більш загальному випадку, кількість різних способів впорядкувати всі Шаблон:Mvar елементи із множини з Шаблон:Mvar елементів дорівнюватиме
(nn)=n!n!0!=1.
  • Це дозволяє мати компактний вираз багатьох формул, таких як показникова функція, що задає степеневий ряд:
ex=n=0xnn!.

Факторіал не цілого числа

Функцію факторіалу також можна визначити для не цілих чисел з використанням більш складних математичних понять (за допомогою гамма-функції Шаблон:Math). Це більш загальне визначення використовується в інженерних калькуляторах і в математичному програмному забезпеченні такому як Maple, Mathematica або APL.

Факторіали деяких чисел

0! = 1
1! = 1
2! = 1·2 = 2
3! = 1·2·3 = 6
4! = 1·2·3·4 = 24
5! = 1·2·3·4·5 = 120
6! = 1·2·3·4·5·6 = 720
7! = 1·2·3·4·5·6·7 = 5040
8! = 1·2·3·4·5·6·7·8 = 40320
9! = 1·2·3·4·5·6·7·8·9 = 362880
10! = 1·2·3·4·5·6·7·8·9·10 = 3628800

Властивості

Рекурентна формула

n!={1n=0,n(n1)!n>0.

Комбінаторна інтерпретація

В комбінаториці факторіал натурального числа n інтерпретується як кількість перестановок (упорядкування) множини з n елементів. Наприклад, для множини {A, B, C, D} з 4-х елементів існує 4! = 24 перестановки:

ABCD  BACD  CABD  DABC
ABDC  BADC  CADB  DACB
ACBD  BCAD  CBAD  DBAC
ACDB  BCDA  CBDA  DBCA
ADBC  BDAC  CDAB  DCAB
ADCB  BDCA  CDBA  DCBA

Комбінаторна інтерпретація факторіала слугує обґрунтуванням тотожності 0! = 1, оскільки порожня множина може бути впорядкованою лише одним способом.

Зв'язок з гамма-функцією

Факторіал є пов'язаним з гамма-функцією від цілого аргументу співвідношенням: Шаблон:Center

Таким чином, гамма-функцію розглядають як узагальнення факторіалу для додатних дійсних чисел. Шляхом аналітичного продовження її також поширюють на всю комплексну площину, виключаючи особливі точки.

Формула Стірлінга

Формула Стірлінґа — одна з найвідоміших наближених формул для обчислення факторіала: Шаблон:Center

В багатьох випадках для наближеного значення факторіала досить розглядати лише головний член формули Стірлінга: Шаблон:Center при цьому можна стверджувати, що Шаблон:Center

Подвійний факторіал

Подвійний факторіал числа n позначається n!! і визначається як добуток всіх послідовних парних (якщо n парне) або непарних (якщо n непарне) натуральних чисел до n включно. Таким чином, Шаблон:Center Шаблон:Center За означенням 0!!=1.

Застосування

Хоча функція факторіалу має свої корені у комбінаториці, формули, в яких зустрічається факторіал, є в різноманітних галузях математики.

(n0)(n1)(n2)(n(k1))=n!(nk)!=nk_
можливостей. Однак це підраховує Шаблон:Mvar-комбінацій у заданому порядку, що в даному підрахунку потрібно ігнорувати; оскільки кожну Шаблон:Mvar-комбінацію можна отримати Шаблон:Math різними способами, таким чином правильною кількістю Шаблон:Mvar-комбінацій є
n(n1)(n2)(nk+1)k(k1)(k2)1=nk_k!=n!(nk)!k!=(nk).
Це число відоме як[5] біноміальний коефіцієнт, оскільки він також є коефіцієнтом Шаблон:Math у Шаблон:Math. Терм nk_ часто називають Шаблон:Нп.
nk_=n!(nk)!;
хоча цей вираз є неефективний для розрахунку цього числа, він може використовуватися для доведення властивості симетричності[4][5] біноміальних коефіцієнтів:
(nk)=nk_k!=n!(nk)!k!=nnk_(nk)!=(nnk).
  • За допомогою Шаблон:Нп можна показати, що функція факторіалу є
n!=Dnxn=dndxnxn
де Шаблон:Math є нотацією Ейлера для Шаблон:Mvarї похідної функції Шаблон:Math.[8]

Швидкість зростання функції і апроксимація для великих Шаблон:Mvar

Графік натурального логарифму від факторіалу

Із збільшенням Шаблон:Mvar, факторіал Шаблон:Math зростає швидше за усі поліноміальні та експоненційні функції (але повільніше ніж Шаблон:Нп) із Шаблон:Mvar.

Більшість апроксимацій для n! основані на наближенні її натурального логарифма

lnn!=x=1nlnx.

Графік функції Шаблон:Math показано на малюнку праворуч. Він має приблизно лінійний вигляд для всіх розумних значень Шаблон:Mvar, але це інтуїтивне сприйняття є хибним. Найпростішу апроксимацію для Шаблон:Math можна отримати обмеживши суму за допомогою інтегралу зверху і знизу наступним чином:

1nlnxdxx=1nlnx0nln(x+1)dx

що дає нам наступну оцінку

nln(ne)+1lnn!(n+1)ln(n+1e)+1.

Оскільки Шаблон:Math (див. [[Нотація Ландау|Нотація великого Шаблон:Mvar]]). Цей результат відіграє важливу роль в аналізі розрахункової складності алгоритмів сортування (див. сортування порівняннями). Із тих обмежень для Шаблон:Math, що отримані вище ми маємо

(ne)nen!(n+1e)n+1e.

Іноді більш практичним є використання слабших, але простіших оцінок. Використавши вищенаведену формулу легко показати, що для всіх Шаблон:Mvar ми маємо Шаблон:Math, а для всіх Шаблон:Math ми маємо Шаблон:Math.

Порівняння апроксимації Стірлінґа із факторіалом

Для великих Шаблон:Mvar ми маємо кращу оцінку для числа Шаблон:Math якщо використати апроксимацію Стірлінґа:

n!2πn(ne)n.

Цей вираз отримано із асимптотичного ряду для логарифма, а Шаблон:Mvar факторіал знаходиться між цією і наступною апроксимацією:

2πn(ne)n<n!<2πn(ne)ne112n.

Інше наближення для Шаблон:Math запропонував Срініваса Рамануджан Шаблон:Harv

lnn!nlnnn+ln(n(1+4n(1+2n)))6+lnπ2[6px]n!2πn(ne)n(1+12n+18n2)16.

Обидва останні наближення мають відносну похибку, що має порядок в Шаблон:Math, але апроксимація Рамануджана майже в чотири рази точніша. Однак, якщо ми використаємо два терми корекції (як у апроксимації Рамануджана) відносна похибка матиме порядок Шаблон:Math:

n!2πn(ne)nexp(112n1360n3).

Розширення факторіалу до не цілих значень аргумента

Гамма і пі функції

Гамма функція інтерполює функцію факторіала для не цілих значень. Основна ідея полягає в рекурентному співвідношенні, що узагальнене до неперервної області.

Шаблон:Main

Окрім невід'ємних цілих, факторіал також можна визначити для нецілих значень, але це потребуватиме застосування більш складних методів математичного аналізу.

Однією функцією, що «збігається» зі значеннями факторіалу (але із зсувом на 1 в аргументі), що часто використовується для його розрахунку, називається гамма-функцією, і позначається як Шаблон:Math. Вона визначена для всіх комплексних чисел Шаблон:Mvar крім не від'ємних цілих, і при додатній дійсній частині Шаблон:Mvar задається наступним чином

Γ(z)=0tz1etdt.

Вона пов'язана із факторіала, таким чином, що для будь-якого натурального числа Шаблон:Mvar

n!=Γ(n+1).

Оригінальна формула яку запропонував Ейлер для гамма-функції мала наступний вигляд

Γ(z)=limnnzn!k=0n(z+k).

Іншою функцією що використовується, яка також «збігається» у своїх значеннях до факторіала (але без зсуву аргументів), є функція, яку запропонував Карл Фрідріх Гаусс, називається пі функцією, позначається як Шаблон:Math для дійсних чисел Шаблон:Math. Вона визначається наступним чином

Π(z)=0tzetdt.

Якщо виразити через гамма-функцію, то пі функція зв'язана з нею наступним чином

Π(z)=Γ(z+1).
Функція факторіалу, узагальнена для всіх дійсних чисел крім від'ємних цілих. Наприклад, Шаблон:Nowrap, Шаблон:Nowrap, Шаблон:Nowrap.

Пі функція повністю поширює факторіал до наступного:

n!=Π(n) для n𝐍.

Крім того, пі функція задовольняє тому ж правилу рекурентності що і факторіал, але для кожного комплексного значення Шаблон:Mvar для якого вона визначена

Π(z)=zΠ(z1).

Насправді, це більше не є рекурентним відношенням, а є функціональним рівнянням. Якщо виразити його в термінах гамма-функції, то це функціональне рівняння прийме вигляд:

Γ(n+1)=nΓ(n).

Оскільки за допомогою пі функції факторіал поширено для кожного комплексного значення Шаблон:Mvar де він визначений, можна записати наступне:

z!=Π(z)

Значення цих функцій для напівцілих значень таким чином визначаються однією із них; матимемо

Γ(12)=(12)!=Π(12)=π,

звідки випливає, що для Шаблон:Math,

Γ(12+n)=(12+n)!=Π(12+n)=πk=1n2k12=(2n)!4nn!π=(2n1)!22n1(n1)!π.

Наприклад,

Γ(92)=72!=Π(72)=12325272π=8!444!π=7!273!π=10516π11.631728

Також маємо, що для Шаблон:Math,

Γ(12n)=(12n)!=Π(12n)=πk=1n212k=(4)nn!(2n)!π.

Наприклад,

Γ(52)=(72)!=Π(72)=212325π=(4)33!6!π=815π0.945308

Пі функція, звичайно, не є єдиним способом розширити факторіал до вигляду функції визначеної для майже всіх комплексних значень, і навіть не є єдиною функцією, що є аналітичною у області її визначення. Однак зазвичай її розглядають як найбільш природний спосіб поширити значення факторіала до комплексної функції. Наприклад, Бор-Молерупова теорема стверджує, що гамма-функція, що приймає значення 1 при 1, задовольняє функціональному рівнянню Шаблон:Math, є мероморфною для комплексних чисел, і є логарифмічно опуклою функцією у додатній частині осі дійсних чисел. Подібне твердження є дійсним так само і для пі функції, при використанні функціонального рівняння Шаблон:Math.

Однак, існують комплексні функції, які імовірно простіші з точки зору теорії аналітичних функцій і які також інтерполюють значення факторіала. Наприклад, Шаблон:Нп Шаблон:Harv яка, на відміну від гамма-функції є цілою функцією.[9]

Ейлер також розробив збіжну апроксимацію добутків для нецілих факторіалів, яку можна розглядати еквівалентною формулою для гамма функції, наведеної вище:

n!=Π(n)=k=1(k+1k)nkn+k=[(21)n1n+1][(32)n2n+2][(43)n3n+3]

Однак, ця функція не має практичного застосування для розрахунку пі функції або гама функції, швидкість її збіжності дуже мала.

Застосування гамма-функції

Об'єм [[Розмірність простору|Шаблон:Mvar-вимірної]] гіперсфери радіусом Шаблон:Mvar дорівнює

Vn=πn2Γ(n2+1)Rn.

Факторіал у комплексній площині

Амплітуда і фаза факторіалу комплексного аргумента

Представлення за допомогою гамма-функції дозволяє розраховувати факторіал для комплексного аргументу. Ізолінії амплітуди і фази для факторіала показані на зображенні праворуч. Нехай

f=ρeiφ=(x+iy)!=Γ(x+iy+1).

Показано декілька рівнів для сталого модуля (амплітуди) Шаблон:Mvar і сталої фази Шаблон:Mvar. Сітка покриває діапазон значень Шаблон:Math, Шаблон:Math, з одиничним кроком. Виділена жирним лінія показує рівень Шаблон:Math.

Тонкі лінії показують проміжні рівні при сталій амплітуді і сталій фазі. В полюсах для кожного від'ємного цілого, фаза і амплітуда не визначені. Ізолінії стають густішими в околі сингулярностей здовж від'ємних цілих значень аргументу.

Для |z| < 1, можна застосувати розкладання в ряд Тейлора:

z!=n=0gnzn.

Перші коефіцієнти цього розкладання будуть наступними

Шаблон:Mvar Шаблон:Mvar наближення
0 1 1
1 Шаблон:Math Шаблон:Val
2 Шаблон:Math Шаблон:Val
3 Шаблон:Math Шаблон:Val

де Шаблон:Mvar це Стала Ейлера—Маскероні, а Шаблон:Math це Дзета-функція Рімана. Системи комп'ютерної алгебри, на кшталт SageMath можуть генерувати багато термів такого ряду.

Наближення факторіалу

Для великих значень аргументу, факторіал можна наблизити за допомогою інтегрування дигамма-функції, використавши представлення у формі ланцюгового дробу. Це наближення запропонував Т. Ж. Стілтьєс (1894). Маючи Шаблон:Math де Шаблон:Math є

P(z)=p(z)+ln2π2z+(z+12)ln(z),

Стілтьєс запропонував ланцюговий дріб для Шаблон:Math:

p(z)=a0z+a1z+a2z+a3z+

Перші декілька коефіцієнтів Шаблон:Math виглядатимуть наступним чином:[10]

Шаблон:Math Шаблон:Math
0 Шаблон:Sfrac
1 Шаблон:Sfrac
2 Шаблон:Sfrac
3 Шаблон:Sfrac
4 Шаблон:Sfrac
5 Шаблон:Sfrac
6 Шаблон:Sfrac

Існує невірне уявлення про те, що рівняння Шаблон:Math або Шаблон:Math є вірним для будь-яких комплексних значень Шаблон:Math. Насправді, відношення задане через логарифм є дійсним лише на певному відрізку значень Шаблон:Mvar в околі осі дійсних значень, де Шаблон:Math. Чим більшою є дійсна частина аргументу тим меншою має бути уявна частина. Однак, обернене відношення, Шаблон:Math, є вірним для всієї комплексної площини значень крім Шаблон:Math. Збіжність буде слабшою в околі від'ємної частини осі дійсних значень; також важко мати хорошу збіжність будь-якого наближення біля точок сингулярностей. Коли |Im z|>2 або Шаблон:Math, шести коефіцієнтів буде вдосталь для розрахунку факторіалу комплексного числа із подвійною точністю. Для більшої точності знадобиться розрахувати більшу кількість коефіцієнтів за допомогою раціональної схеми QD (QD алгоритм Рутісгаузера).[11]

Від'ємні цілі аргументи

Відношення Шаблон:Math дозволяє розрахувати факторіал заданого цілого числа у випадку не великих значень. Це співвідношення можна переписати таким чином, аби мати можливість розрахувати факторіал для відносно великих цілих чисел:

(n1)!=n!n.

Однак використати цю рекурсію не можливо, якщо необхідно розрахувати факторіал для від'ємного цілого числа; якщо використати цю формулу для розрахунку (−1)! ми отримаємо операцію Ділення на нуль, і таким чином це не дозволяє розрахувати факторіал для будь-якого цілого від'ємного числа. Аналогічно тому, гамма-функція також є невизначеною для нуля або від'ємних цілих, хоча вона є визначеною для всіх інших комплексних чисел.

Див. також

Примітки

Шаблон:Reflist

Література

Шаблон:Математичні знаки Шаблон:Послідовності й ряди