แฟกทอเรียล

ในทางคณิตศาสตร์ แฟกทอเรียล  ของจำนวนเต็มไม่เป็นลบ "n" คือผลคูณของจำนวนเต็มบวกทั้งหมดที่น้อยกว่าหรือเท่ากับ "n" เขียนแทนด้วย "n"! (อ่านว่า "n" แฟกทอเรียล)
<math>n! = n \cdot (n-1) \cdot (n-2) \cdot (n-3) \cdot \cdots \cdot 3 \cdot 2 \cdot 1 \. </math>
ตัวอย่างเช่น
<math>5! = 5 \times 4 \times 3 \times 2 \times 1 = 120\;</math>
สำหรับค่าของ 0! ถูกกำหนดให้เท่ากับ 1 ตามหลักการของผลคูณว่าง 
การดำเนินการแฟกทอเรียลพบได้ในคณิตศาสตร์สาขาต่าง ๆ โดยเฉพาะอย่างยิ่งคณิตศาสตร์เชิงการจัด พีชคณิต และคณิตวิเคราะห์ การพบเห็นโดยพื้นฐานที่สุดคือข้อเท็จจริงที่ว่า การจัดลำดับวัตถุที่แตกต่างกัน "n" สิ่งสามารถทำได้ "n"! วิธี (การเรียงสับเปลี่ยนของเซตของวัตถุ) ข้อเท็จจริงนี้เป็นที่ทราบโดยนักวิชาการชาวอินเดียตั้งแต่ต้นคริสต์ศตวรรษที่ 12 เป็นอย่างน้อย นอกจากนี้ คริสเตียน แครมป์ (Christian Kramp) เป็นผู้แนะนำให้ใช้สัญกรณ์ "n"! เมื่อ ค.ศ. 1808 (พ.ศ. 2351) 
นิยามของแฟกทอเรียลสามารถขยายแนวคิดไปบนอาร์กิวเมนต์ที่ไม่เป็นจำนวนเต็มได้โดยยังคงมีสมบัติที่สำคัญ ซึ่งเกี่ยวข้องกับคณิตศาสตร์ชั้นสูงยิ่งขึ้น โดยเฉพาะอย่างยิ่งเทคนิคต่าง ๆ ที่ใช้ในคณิตวิเคราะห์
นิยาม.
ฟังก์ชันแฟกทอเรียลได้นิยามเชิงรูปนัยไว้ดังนี้
<math> n!=\prod_{k=1}^n k \!</math>
หรือนิยามแบบเวียนเกิดได้ดังนี้
<math> n! = \begin{cases}
1 & \text{if } n = 0 \\
(n-1)!\times n & \text{if } n > 0
</math>
นิยามด้านบนทั้งสองได้รวมกรณีนี้เข้าไปด้วย
<math>0! = 1\;</math>
ตามหลักการว่าผลคูณของจำนวนที่ไม่มีอยู่เลย (ผลคูณว่าง) มีค่าเท่ากับ 1 สิ่งนี้เป็นประโยชน์เนื่องจาก
ฟังก์ชันแฟกทอเรียลสามารถนิยามให้กับค่าที่ไม่เป็นจำนวนเต็มได้โดยใช้คณิตศาสตร์ขั้นสูง ดูรายละเอียดด้านล่าง ซึ่งนิยามโดยนัยทั่วไปมากขึ้นเช่นนี้มีใช้ในเครื่องคิดเลขระดับสูงและซอฟต์แวร์คณิตศาสตร์อาทิเมเพิลหรือแมเทอแมติกา
การประยุกต์.
แม้ว่าฟังก์ชันแฟกทอเรียลมีที่มาจากคณิตศาสตร์เชิงการจัด แต่สูตรที่เกี่ยวข้องกับแฟกทอเรียลก็ปรากฏในคณิตศาสตร์หลายสาขา
<math>n^{\underline k}=n(n-1)(n-2)\cdots(n-k+1)</math>
อย่างไรก็ตาม การเรียงลำดับของวัตถุที่ถูกเลือกในการจัดหมู่ไม่มีความสำคัญ และเนื่องจากการเรียงลำดับวัตถุ "k" สิ่งสามารถกระทำได้แตกต่างกัน "k"! วิธี เพราะฉะนั้นจำนวนวิธีของการจัดหมู่วัตถุ "k" สิ่งจากเซตของวัตถุ "n" สิ่งที่ถูกต้องจึงควรเท่ากับ
<math>\frac{n^{\underline k}}{k!}=\frac{n(n-1)(n-2)\cdots(n-k+1)}{k(k-1)(k-2)\cdots1}</math>
ผลลัพธ์ดังกล่าวเป็นที่รู้จักในชื่อสัมประสิทธิ์ทวินาม <math>\tbinom n k</math> เพราะว่ามันเป็นสัมประสิทธิ์ของพจน์ "X""k" ในการกระจาย #เปลี่ยนทาง 
<math>n^{\underline k}=\frac{n!}{(n-k)!}</math>
มันอาจถูกใช้เพื่อพิสูจน์สมบัติสมมาตรของสัมประสิทธิ์ทวินาม ในกรณีที่ไม่มีประสิทธิภาพเพียงพอที่จะคำนวณจำนวนเช่นนั้นได้
<math>\binom nk=\frac{n^{\underline k}}{k!}=\frac{n!}{(n-k)!k!}=\frac{n^{\underline{n-k}}}{(n-k)!}=\binom n{n-k}</math>
ทฤษฎีจำนวน.
แฟกทอเรียลมีการใช้งานหลายอย่างในทฤษฎีจำนวน โดยเฉพาะอย่างยิ่ง "n"! สามารถหารด้วยจำนวนเฉพาะทั้งหมดที่น้อยกว่าหรือเท่ากับ "n" ได้ลงตัว ผลสรุปที่ตามมาคือ "n" > 5 จะเป็นจำนวนประกอบก็ต่อเมื่อ
<math>(n-1)!\ \equiv\ 0 \pmod n</math>
ทฤษฎีของวิลสัน (Wilson's theorem) ได้กล่าวถึงผลสรุปที่เคร่งครัดมากกว่าดังนี้
<math>(p-1)!\ \equiv\ -1 \pmod p</math>
ก็ต่อเมื่อ "p" เป็นจำนวนเฉพาะ
อาเดรียง-มารี เลอฌ็องดร์ (Adrien-Marie Legendre) พบว่าการคูณของจำนวนเฉพาะ "p" ที่ปรากฏในการแยกตัวประกอบเฉพาะของ "n"! สามารถแสดงได้อย่างแม่นยำเป็น
<math>\sum_{i=1}^{\infty} \left \lfloor \frac{n}{p^i} \right \rfloor</math>
ข้อเท็จจริงนี้มีพื้นฐานบนการนับจำนวนตัวประกอบ "p" ของจำนวนเต็มตั้งแต่ 1 ถึง "n"; จำนวนพหุคูณของ "p" ในจำนวนเต็มตั้งแต่ 1 ถึง "n" สามารถพิจารณาได้จากสูตร <math>\textstyle \left \lfloor \frac{n}{p} \right \rfloor</math> อย่างไรก็ตามสูตรนี้จะนับตัวประกอบ "p" เพียงครั้งเดียว ยังคงมีตัวประกอบจำนวน <math>\textstyle \left \lfloor \frac{n}{p^2} \right \rfloor</math> ตัวของ "p" ที่จะต้องนับอีก และยังมีที่คล้ายกันอีกในกำลังสาม สี่ ห้า จนถึงอนันต์ ผลรวมดังกล่าวเป็นจำนวนจำกัดเนื่องจาก "p""i" สามารถมีค่าได้แค่น้อยกว่าหรือเท่ากับ "n" สำหรับ "i" หลายค่าอย่างจำกัด และฟังก์ชันพื้นจะให้ผลลัพธ์เป็น 0 เมื่อใช้กับ "p""i" > "n"
แฟกทอเรียลที่เป็นจำนวนเฉพาะด้วยมีจำนวนเดียวคือ 2 แต่ก็มีจำนวนเฉพาะจำนวนมากที่อยู่ในรูปแบบ "n"! ± 1 เรียกว่าจำนวนเฉพาะเชิงแฟกทอเรียล (factorial prime)
แฟกทอเรียลที่มากกว่า 0! และ 1! เป็นจำนวนคู่ทั้งหมด เพราะว่าเป็นพหุคูณของ 2 นอกจากนี้แฟกทอเรียลที่มากกว่า 5! ก็เป็นพหุคูณของ 10 (และทำให้มีศูนย์ลงท้ายในหลักสุดท้ายเป็นต้นไป) เนื่องจากเป็นพหุคูณของ 5 กับ 2
อนุกรมที่มีแต่ละพจน์เป็นส่วนกลับของแฟกทอเรียล ทำให้เกิดอนุกรมลู่เข้าและมีค่าเท่ากับ e
<math>\sum_{n=0}^{\infty} \frac{1}{n!} = \frac{1}{1} + \frac{1}{1} + \frac{1}{2} + \frac{1}{6} + \frac{1}{24} + \frac{1}{120} + \ldots = e</math>
อัตราการเติบโตและการประมาณเมื่อ "n" มีขนาดใหญ่.
เมื่อ "n" มีค่าเพิ่มขึ้น ค่า "n"! จะมีอัตราการเติบโตมากกว่าพหุนามและฟังก์ชันเลขชี้กำลังทั้งหมดที่มี "n" ประกอบอยู่ (แต่ก็ยังน้อยกว่าฟังก์ชันเลขชี้กำลังสองชั้น)
การประมาณค่าที่ใกล้เคียงที่สุดของ "n"! ใช้พื้นฐานบนลอการิทึมธรรมชาติดังนี้
<math>\log n! = \sum_{x=1}^n \log x</math>
กราฟของฟังก์ชัน "f"("n") = log "n"! แสดงไว้ในภาพด้านขวา ลักษณะของกราฟดูเหมือนเป็นเส้นตรง (ฟังก์ชันเชิงเส้น) สำหรับทุกค่าของ "n" ที่เป็นไปได้ แต่ความจริงมันไม่ใช่เส้นตรง เราอาจประมาณค่า log "n"! อย่างง่ายโดยกำหนดขอบเขตบนและล่างด้วยปริพันธ์
<math>\int_1^n \log x \, dx \leq \sum_{x=1}^n \log x \leq \int_0^n \log (x+1) \, dx</math>
ซึ่งจะได้การประมาณค่าดังนี้
<math>n\log\left(\frac{n}{e}\right)+1 \leq \log n! \leq (n+1)\log\left(\frac{n+1}{e} \right) + 1</math>
เนื่องจากการคำนวณ log "n"! มีประสิทธิภาพเป็น Θ("n" log "n") สิ่งนี้จึงมีบทบาทหลักในการวิเคราะห์ความซับซ้อนในการคำนวณของขั้นตอนวิธีการเรียงลำดับ (ดูเพิ่มที่การเรียงลำดับแบบเปรียบเทียบ)
จากขอบเขตของ log "n"! ที่ได้ สามารถลดรูปจนเหลือเพียง
<math>e\left(\frac ne\right)^n \leq n! \leq e\left(\frac{n+1}e\right)^{n+1}</math>
การใช้สูตรดังกล่าวในทางปฏิบัติบางครั้งสามารถประมาณได้ง่ายกว่าแต่ไม่เคร่งครัด สูตรดังกล่าวสามารถแสดงให้เห็นได้ว่า สำหรับทุกค่าของ "n" จะได้ <math>(n/3)^n < n!</math> และสำหรับ "n" ≥ 6 จะได้ <math>n! < (n/2)^n</math> เป็นต้น
เมื่อ "n" เป็นจำนวนขนาดใหญ่ เรามีวิธีการประมาณค่า "n"! ที่ดีกว่าโดยใช้การประมาณของสเตอร์ลิง (Stirling's approximation)
<math>n!\approx \sqrt{2\pi n}\left(\frac{n}{e}\right)^n</math>
ในความเป็นจริง สำหรับทุกค่าของ "n" สูตรดังกล่าวสามารถพิสูจน์ได้ว่า
<math>n! > \sqrt{2\pi n}\left(\frac{n}{e}\right)^n</math>
การประมาณค่า log "n"! ที่ดีกว่าอีกสูตรหนึ่ง กำหนดไว้โดย ศรีนิวาสะ รามานุจัน ดังนี้ 
<math>\log n! \approx n\log n - n + \frac {\log(n(1+4n(1+2n)))} {6} + \frac {\log(\pi)} {2}</math>
การขยายแฟกทอเรียลไปยังอาร์กิวเมนต์ที่ไม่เป็นจำนวนเต็ม.
ฟังก์ชันแกมมาและฟังก์ชันพาย.
นอกเหนือจากจำนวนเต็มที่ไม่เป็นลบแล้ว ฟังก์ชันแฟกทอเรียลสามารถนิยามให้กับค่าอื่นที่ไม่เป็นจำนวนเต็มได้ แต่การทำเช่นนี้จำเป็นต้องใช้เครื่องเครื่องมือขั้นสูงจากคณิตวิเคราะห์ ฟังก์ชันอันหนึ่งที่ "เติมเต็ม" ค่าต่าง ๆ ของแฟกทอเรียล (แต่มีค่าเลื่อนไป 1 ในอาร์กิวเมนต์) เรียกว่าฟังก์ชันแกมมา (Gamma function) เขียนแทนด้วย Γ("z") ซึ่งนิยามบนจำนวนเชิงซ้อน "z" ทุกจำนวนยกเว้นจำนวนเต็มลบ และส่วนจริงของ "z" เป็นจำนวนบวก ดังนี้
<math>\Gamma(z)=\int_0^\infty t^{z-1} e^{-t}\, \mathrm{d}t</math>
ความสัมพันธ์ระหว่างฟังก์ชันแกมมากับแฟกทอเรียลเมื่อ "n" เป็นจำนวนธรรมชาติ เป็นดังนี้
<math>n!=\Gamma(n+1)\,</math>
สูตรดั้งเดิมของออยเลอร์สำหรับนิยามฟังก์ชันแกมมาคือ
<math>\Gamma(z)=\lim_{n\to\infty}\frac{n^zn!}{\displaystyle\prod_{k=0}^n (z+k)}</math>
ยังมีสัญกรณ์อีกอย่างหนึ่งซึ่งเกาส์เป็นผู้คิดค้นและบางครั้งก็ถูกใช้เช่นกัน นั่นคือ "ฟังก์ชันพาย" (Pi function) เขียนแทนด้วย Π("z") นิยามไว้สำหรับจำนวนจริง "z" ที่ไม่น้อยกว่า 0 ดังนี้
<math>\Pi(z)=\int_0^\infty t^{z} e^{-t}\, \mathrm{d}t</math>
หากเทียบกับฟังก์ชันแกมมาจะได้ว่า
<math>\Pi(z) = \Gamma(z+1)\,</math>
ฟังก์ชันพายเป็นการขยายแนวคิดแฟกทอเรียลอย่างแท้จริงดังนี้
<math>\Pi(n) = n!\text{ for }n \in \mathbf{N}\,</math>
ยิ่งไปกว่านี้ ฟังก์ชันพายมีการเวียนเกิดเหมือนกับแฟกทอเรียล แต่ใช้กับจำนวนเชิงซ้อน "z" ทุกจำนวนที่นิยาม
<math>\Pi(z) = z\Pi(z-1)\,</math>
โดยข้อเท็จจริงความสัมพันธ์เวียนเกิดไม่มีอีกต่อไปแล้ว เว้นแต่ในสมการเชิงฟังก์ชัน เมื่อแสดงในพจน์ของฟังก์ชันแกมมา สมการดังกล่าวจะเปลี่ยนเป็น
<math>\Gamma(n+1)=n\Gamma(n)\,</math>
เนื่องจากแฟกทอเรียลถูกขยายโดยฟังก์ชันพาย สำหรับจำนวนเชิงซ้อน "z" ทุกจำนวนที่นิยาม เราจึงสามารถเขียนว่า
<math>z! = \Pi(z)\,</math>
ค่าของฟังก์ชันเหล่านี้ที่จำนวนเต็มครึ่ง (half-integer) สามารถพิจารณาได้จากสูตรต่อไปนี้ โดยพื้นฐานเราทราบว่า
<math>\Gamma\left (\frac{1}{2}\right)=\left (-\frac{1}{2}\right)!=\Pi\left (-\frac{1}{2}\right) = \sqrt{\pi}</math>
เมื่อ "n" เป็นจำนวนธรรมชาติ จะได้สูตร
<math>\Gamma\left (\frac{1}{2}+n\right) = \left (-\frac{1}{2}+n\right)! = \Pi\left (-\frac{1}{2}+n\right) = \sqrt{\pi} \prod_{k=1}^n {2k - 1 \over 2} = {(2n)! \over 4^n n!} \sqrt{\pi} = {(2n-1)! \over 2^{2n-1}(n-1)!} \sqrt{\pi}</math>
ตัวอย่าง
<math>\Gamma\left (4.5 \right) = 3.5! = \Pi\left (3.5\right) = {1\over 2}\cdot{3\over 2}\cdot{5\over 2}\cdot{7\over 2} \sqrt{\pi} = {8! \over 4^4 4!} \sqrt{\pi} = {7! \over 2^7 3!} \sqrt{\pi} = {105 \over 16} \sqrt{\pi} \approx 11.63</math>
และอีกสูตรหนึ่ง
<math>\Gamma\left (\frac{1}{2}-n\right) = \left (-\frac{1}{2}-n\right)! = \Pi\left (-\frac{1}{2}-n\right) = \sqrt{\pi} \prod_{k=1}^n {2 \over 1 - 2k} = {(-4)^n n! \over (2n)!} \sqrt{\pi}</math>
ตัวอย่าง
<math>\Gamma\left (-2.5 \right) = (-3.5)! = \Pi\left (-3.5\right) = {2\over -1}\cdot{2\over -3}\cdot{2\over -5} \sqrt{\pi} = {(-4)^3 3! \over 6!} \sqrt{\pi} = -{8 \over 15} \sqrt{\pi} \approx -0.9453</math>
ฟังก์ชันพายไม่ได้เป็นเพียงฟังก์ชันเดียวที่ขยายแฟกทอเรียล ไปเป็นฟังก์ชันสำหรับจำนวนเชิงซ้อนเกือบทุกจำนวน และไม่ได้เป็นเพียงฟังก์ชันเดียวที่เป็นฟังก์ชันวิเคราะห์ (analytic function) เมื่อใดก็ตามที่มันถูกนิยาม แต่ไม่ว่าด้วยเหตุผลอันใด ฟังก์ชันพายมักเป็นตัวแทนโดยปริยายเมื่อต้องการหาค่าแฟกทอเรียลของจำนวนเชิงซ้อน ตัวอย่างเช่น ทฤษฎีบทบอร์-โมลเลอรัประบุว่า ฟังก์ชันแกมมาเป็นฟังก์ชันเดียวที่รับค่า 1 แล้วให้ผลลัพธ์เป็น 1, สอดคล้องกับสมการเชิงฟังก์ชัน Γ("n" + 1) = "n"Γ("n"), เป็นฟังก์ชันมีโรมอร์ฟิก (meromorphic function) บนจำนวนเชิงซ้อน, และเป็นฟังก์ชันคอนเวกซ์เชิงลอการิทึม (logarithmically convex function) บนแกนจำนวนจริงบวก เงื่อนไขที่คล้ายกันนี้ก็ปรากฏในฟังก์ชันพาย โดยเปลี่ยนสมการเชิงฟังก์ชันเป็น Π("n") = "n"Π("n" − 1)
อย่างไรก็ตาม ก็ยังมีฟังก์ชันเชิงซ้อนอื่นที่เรียบง่ายกว่าฟังก์ชันวิเคราะห์และสอดแทรกแฟกทอเรียลเข้าไป ตัวอย่างเช่น "ฟังก์ชันแกมมา" ของฌัก อาดามาร์ (Jacques Hadamard) ต่างจากฟังก์ชันแกมมาปรกติตรงที่มันเป็นฟังก์ชันทั่ว (entire function) 
ออยเลอร์ยังได้สร้างสูตรสำหรับการประมาณค่าด้วยผลคูณลู่เข้าสำหรับแฟกทอเรียลที่ไม่ใช่จำนวนเต็ม ซึ่งเทียบเท่ากับสูตรของฟังก์ชันแกมมาที่ได้กล่าวไว้แล้ว
<math>\begin{align}
n! = \Pi(n) &= \prod_{k = 1}^\infty \left(\frac{k+1}{k}\right)^n\!\!\frac{k}{n+k} \\
&= \left[ \left(\frac{2}{1}\right)^n\frac{1}{n+1}\right]\left[ \left(\frac{3}{2}\right)^n\frac{2}{n+2}\right]\left[ \left(\frac{4}{3}\right)^n\frac{3}{n+3}\right]\cdots
\end{align}</math>
อย่างไรก็ดี สูตรนี้ไม่ได้ให้วิธีการคำนวณเชิงปฏิบัติของฟังก์ชันพายหรือฟังก์ชันแกมมา เนื่องด้วยอัตราการลู่เข้าของมันนั้นช้า
การประยุกต์ใช้ฟังก์ชันแกมมา.
ปริมาตรของทรงกลม "n" มิติที่มีรัศมี "R" หน่วย คำนวณได้จากสูตร
<math>V_n=\frac{\pi^{n/2}}{\Gamma((n/2)+1)}R^n</math>
ฟังก์ชันที่มีลักษณะคล้ายกับแฟกทอเรียล.
มัลติแฟกทอเรียล.
มัลติแฟกทอเรียล เป็นฟังก์ชันที่เขียนอยู่ในรูปแบบ n!, n!! หรือมีเครื่องหมายแฟกทอเรียลมากกว่านั้น
"n"!! หมายถึง ดับเบิลแฟกทอเรียล ของ "n" ซึ่งนิยามโดย
<math>
 n!!=
 \left\{
 1,\qquad\quad\ &&\mbox{if }n=0\mbox{ or }n=1;
 n (n-2) !!&&\mbox{if }n\ge2.\qquad\qquad
 \right.
 </math>
ตัวอย่างเช่น 8!! = 2 · 4 · 6 · 8 = 384 and 9!! = 1 · 3 · 5 · 7 · 9 = 945 ลำดับของดับเบิลแฟกทอเรียล สำหรับ "n" = 0, 1, 2... ได้แก่
1, 1, 2, 3, 8, 15, 48, 105, 384, 945, 3840, ...
จากนิยามดังกล่าวทำให้สามารถหาดับเบิลแฟกทอเรียลของจำนวนเต็มลบได้คือ
<math> (n-2) !!=\frac{n!!}{n}</math>
ลำดับของดับเบิลแฟกทอเรียลสำหรับ "n" = -1, -3, -5, -7... คือ
 1, -1, 1/3, -1/15, ...
เอกลักษณ์ของดับเบิลแฟกทอเรียลได้แก่
<math>n!=n!! (n-1) !! \,</math>
<math> (2n) !!=2^nn! \,</math>
<math> (2n+1) !!={(2n+1) !\over (2n) !!}={(2n+1) !\over2^nn!}</math>
<math>\Gamma\left (n+{1\over2}\right) =\sqrt{\pi}\,\,{(2n-1) !!\over2^n}</math>
<math>\Gamma\left ({n\over2}+1\right) =\sqrt{\pi}\,\,{n!!\over2^{(n+1)/2}}</math>
ฟังก์ชันมัลติแฟกทอเรียลอื่นๆ ที่มีเครื่องหมายแฟกทอเรียล k เครื่องหมาย มีนิยามโดย
<math>
 n!^{(k)}=
 \left\{
 1,\qquad\qquad\ &&\mbox{if }0\le n<k;
 n (n-k) !^{(k)},&&\mbox{if }n\ge k.\quad\ \ \,
 \right.
 </math>
ซูเปอร์แฟกทอเรียล.
ซูเปอร์แฟกทอเรียล มีรูปแบบคือ
<math>
 \mathrm{sf} (n)
 =1^n\cdot2^{n-1}\cdot3^{n-2}\cdots (n-1) ^2\cdot n^1.
 </math>
เช่น ซูเปอร์แฟกทอเรียลของ 4 คือ
<math> \mathrm{sf} (4) =1! \times 2! \times 3! \times 4!=288 \,</math>