ฟังก์ชันพื้นและฟังก์ชันเพดาน

กราฟของฟังก์ชันพื้น
กราฟของฟังก์ชันเพดาน
ในทางคณิตศาสตร์และวิทยาการคอมพิวเตอร์ ฟังก์ชันพื้น (floor function) คือฟังก์ชันที่จับคู่จำนวนจริงไปยังจำนวนเต็มที่อยู่ก่อนหน้า นั่นคือ floor (x) เป็นจำนวนเต็มมากที่สุดที่ไม่มากกว่า x 
ส่วน ฟังก์ชันเพดาน (ceiling function) คือฟังก์ชันที่จับคู่จำนวนจริงไปยังจำนวนเต็มที่อยู่ถัดจากจำนวนนั้น นั่นคือ ceiling (x) คือจำนวนเต็มน้อยที่สุดที่ไม่น้อยกว่า x 
กราฟของฟังก์ชันพื้นและเพดานทั้งหมด มีลักษณะคล้ายฟังก์ชันขั้นบันได แต่ไม่ใช่ฟังก์ชันขั้นบันได เนื่องจากมีช่วงบนแกน x เป็นจำนวนอนันต์

**สัญกรณ์**
เกาส์ได้แนะนำสัญกรณ์วงเล็บเหลี่ยม x สำหรับแทนฟังก์ชันพื้น ในการพิสูจน์การแลกเปลี่ยนกำลังสอง (quadratic reciprocity) ของเขาเมื่อ ค.ศ. 1808  สิ่งนี้เป็นบรรทัดฐานในคณิตศาสตร์เรื่อยมา  จนกระทั่งอิเวอร์สัน (Kenneth E. Iverson) ได้แนะนำให้ใช้ชื่อ "floor" และ "ceiling" พร้อมกับทั้งแนะนำสัญกรณ์ ⌊x⌋ และ ⌈x⌉ สำหรับฟังก์ชันทั้งสองตามลำดับ เพื่อเขียนโปรแกรมภาษาเอพีแอลเมื่อ ค.ศ. 1962  ปัจจุบันสัญกรณ์ทั้งสองแบบก็ยังมีการใช้กันอยู่ในคณิตศาสตร์ สำหรับบทความนี้จะอธิบายด้วยสัญกรณ์ของอิเวอร์สัน
ฟังก์ชันพื้นอาจเรียกว่าเป็น ฟังก์ชันจำนวนเต็มมากสุด (greatest integer function) หรือ อองเทียร์ (entier หมายถึงจำนวนเต็มในภาษาฝรั่งเศส) และสำหรับฟังก์ชันพื้นของจำนวนที่ไม่เป็นลบ x อาจเรียกว่าเป็น ภาคจำนวนเต็ม (integral part) ของ x ในภาษาโปรแกรมอื่นที่นอกเหนือจากภาษาเอพีแอล มักจะใช้สัญกรณ์ว่า ENTIER (x)  (ภาษาอัลกอล), floor (x) , หรือไม่ก็ int (x)  (ภาษาซี/ซีพลัสพลัส)  ในทางคณิตศาสตร์ สัญกรณ์สำหรับฟังก์ชันนี้สามารถเขียนเป็นวงเล็บเหลี่ยมตัวหนาหรือซ้อนสองก็ได้   
ส่วนฟังก์ชันเพดานอาจเรียกว่าเป็น ฟังก์ชันจำนวนเต็มน้อยสุด (least integer function) ในภาษาโปรแกรมอื่นมักจะใช้แทนด้วย ceil (x)  หรือ ceiling (x)  ในทางคณิตศาสตร์ มีสัญกรณ์อีกแบบหนึ่งคือวงเล็บเหลี่ยมตัวหนาหรือซ้อนสองที่หันออก  หรือใช้เพียงแค่วงเล็บเหลี่ยมธรรมดาหันออกก็ได้ x 

**ตัวอย่าง**
สำหรับนิยามของภาคเศษส่วน ดูในหัวข้อถัดไป

**นิยามและสมบัติ**
ในสูตรคณิตศาสตร์ต่อไปนี้ สมมติให้ x, y เป็นจำนวนจริง k, m, n เป็นจำนวนเต็ม และ  คือเซตของจำนวนเต็ม (อันประกอบด้วยจำนวนเต็มบวก จำนวนเต็มลบ และศูนย์)
ฟังก์ชันพื้นและเพดานสามารถนิยามได้ด้วยเซตดังนี้
:
:
เนื่องจากช่วงครึ่งเปิดความยาวหนึ่งหน่วย จะมีจำนวนเต็มเพียงหนึ่งตัวในช่วงนั้น ดังนั้นสำหรับจำนวนจริง x ใด ๆ จะมีจำนวนเต็ม m และ n ที่ทำให้
:
เราจะได้  และ  ซึ่งก็ถือว่าเป็นนิยามอย่างหนึ่งเช่นกัน
นอกจากนี้ก็ยังมี  และ 

**การเทียบเท่า**
สูตรเหล่านี้สามารถใช้ถอดฟังก์ชันพื้นและฟังก์ชันเพดานออกจากนิพจน์ 
:
และสำหรับอสมการ
:
สูตรเหล่านี้แสดงให้เห็นถึงผลจากการบวกด้วยจำนวนเต็ม n ภายในฟังก์ชัน
:
อย่างไรก็ตาม สูตรด้านบนอาจไม่เป็นจริงเสมอไปถ้า n ไม่ใช่จำนวนเต็ม แต่จะได้ผลดังนี้แทน
:

**ความสัมพันธ์ระหว่างฟังก์ชัน**
จากนิยามเราสามารถสรุปได้ว่า
: กรณีที่มีค่าเท่ากันคือเมื่อ x เป็นจำนวนเต็ม
:
สำหรับจำนวนเต็ม n ประโยคนี้จะเป็นจริง
:
สลับเครื่องหมายในอาร์กิวเมนต์ของฟังก์ชันพื้นและเพดาน
:
:
:
สลับเครื่องหมายในอาร์กิวเมนต์ของภาคเศษส่วน
:
ฟังก์ชันพื้น ฟังก์ชันเพดาน และภาคเศษส่วน เป็นฟังก์ชันนิจพล
:
ใช้ฟังก์ชันพื้นและเพดานซ้อนกัน ผลลัพธ์ที่ได้คือฟังก์ชันที่อยู่ในสุด
:
กำหนดให้ y มีค่าคงตัว x mod y จะเป็นนิจพล
:
และจากนิยาม
:

**ผลหาร**
ถ้า n ≠  0 แล้ว
:
ถ้า n เป็นจำนวนเต็มบวก 
:
:
ถ้า m เป็นจำนวนเต็มบวก 
:
:
ซึ่งเมื่อ m = 2 จะทำให้เกิดสมบัตินี้
:
กรณีทั่วไปสำหรับจำนวนเต็มบวก m 
:
:
สูตรต่อไปนี้สามารถเปลี่ยนระหว่างฟังก์ชันพื้นกับฟังก์ชันเพดาน เมื่อ m เป็นจำนวนเต็มบวก 
:
:
ถ้า m และ n เป็นจำนวนเต็มบวกและเป็นจำนวนเฉพาะสัมพัทธ์ จะได้
:
เนื่องจากสูตรข้างต้น m และ n มีความสมมาตรต่อกัน จึงสามารถกระจายฝั่งซ้ายของเครื่องหมายเท่ากับได้ดังนี้
:
และสำหรับกรณีทั่วไป เมื่อ m และ n เป็นจำนวนเต็มบวก
:  
สิ่งนี้เรียกว่า กฎการแลกเปลี่ยน 

**ผลหารซ้อน**
สำหรับจำนวนเต็มบวก m และ n และจำนวนจริง x
:
:

**ความต่อเนื่อง**
ฟังก์ชันทั้งหมดที่กล่าวมาไม่เป็นฟังก์ชันต่อเนื่อง แต่เป็นฟังก์ชันเชิงเส้นเป็นช่วง ซึ่ง ⌊x⌋ กับ ⌈x⌉ เป็นฟังก์ชันคงตัวในแต่ละช่วง และไม่ต่อเนื่องที่จำนวนเต็ม {x} ก็ไม่ต่อเนื่องที่จำนวนเต็มเช่นกัน แต่ไม่ได้เป็นฟังก์ชันคงตัว ส่วน x mod y เป็นฟังก์ชันที่ไม่ต่อเนื่องที่พหุคูณของ y ถ้าให้ y มีค่าคงตัว
⌊x⌋ ถือได้ว่าเป็นฟังก์ชันกึ่งต่อเนื่องบน (upper semi-continuous function) และ ⌈x⌉ กับ {x} เป็นฟังก์ชันกึ่งต่อเนื่องล่าง (lower semi-continuous function) ส่วน x mod y จะเป็นฟังก์ชันกึ่งต่อเนื่องล่างเมื่อ y เป็นจำนวนบวก และเป็นฟังก์ชันกึ่งต่อเนื่องบนเมื่อ y เป็นจำนวนลบ

**การกระจายอนุกรม**
เนื่องจากฟังก์ชันทั้งหมดที่กล่าวมาไม่ต่อเนื่อง จึงไม่มีฟังก์ชันใดที่เขียนแทนด้วยการกระจายอนุกรมกำลังได้ และเนื่องจากฟังก์ชันพื้นและเพดานไม่เป็นคาบ (periodic) สองฟังก์ชันนี้จึงไม่มีการกระจายอนุกรมฟูรีเย
สำหรับ x mod y โดยที่ y มีค่าคงตัว มีการกระจายฟูรีเยดังนี้ 
:
ด้วยสมบัติที่ว่า {x} = x mod 1 ดังนั้นจะได้
:
ในจุดที่เกิดความไม่ต่อเนื่อง อนุกรมฟูรีเยจะลู่เข้าค่าใดค่าหนึ่งที่เป็นค่าเฉลี่ยของลิมิตทางซ้ายและทางขวา สำหรับ x mod y ซึ่ง y มีค่าคงตัว อนุกรมฟูรีเยจะลู่เข้า y / 2 ที่ตำแหน่งพหุคูณของ y ส่วนในจุดอื่น ๆ ที่มีความต่อเนื่อง อนุกรมจะลู่เข้าค่าจริง
จากสูตรที่ว่า {x} = x − ⌊x⌋ จึงสรุปได้ว่า
:

**การประยุกต์ใช้**

**ภาคเศษส่วน**
ภาคเศษส่วน (fractional part) เป็นฟังก์ชันฟันเลื่อย เขียนแทนด้วย {x} สำหรับทุกจำนวนจริง x ซึ่งนิยามโดยสูตรนี้ 
:
ภาคเศษส่วนของ x จะมีค่าอยู่ระหว่าง 0 กับ 1 นั่นคือ
:
ถ้า x เป็นจำนวนบวก ฟังก์ชันพื้นของ x สามารถสรุปได้อย่างง่ายว่า เป็นค่า x ที่ตัดตัวเลขหลังจุดทศนิยมออกไป ดังนั้นภาคเศษส่วนของ x ก็คือค่า x ที่ตัดตัวเลขหน้าจุดทศนิยมออกไป

**มอดุโล**
การดำเนินการมอดุโล (modulo) เขียนแทนด้วย x mod y สำหรับจำนวนจริง x และ y โดยที่ y ≠ 0 นิยามโดยสูตรนี้
:
ผลลัพธ์ของ x mod y จะมีค่าอยู่ระหว่าง 0 ถึง y นั่นคือ
:
:
ถ้า x เป็นจำนวนเต็มและ y เป็นจำนวนเต็มบวก
:
ฟังก์ชัน x mod y โดยที่ y เป็นค่าคงตัว จะเป็นฟังก์ชันฟันเลื่อยเช่นกัน

**การแลกเปลี่ยนกำลังสอง**
การพิสูจน์การแลกเปลี่ยนกำลังสอง (quadratic reciprocity) ของเกาส์ครั้งที่สาม ซึ่งปรับปรุงแก้ไขโดยไอเซนสไตน์ (Ferdinand Eisenstein) มีสองขั้นตอนพื้นฐานดังนี้ 
กำหนดให้ p และ q เป็นจำนวนเฉพาะที่เป็นจำนวนคี่คนละตัวกัน และกำหนดให้
:
ขั้นตอนแรก สัญลักษณ์เลอช็องดร์ถูกนำมาเขียนอธิบายด้วยบทตั้งของเกาส์
: 
:
ขั้นตอนที่สองคือใช้การให้เหตุผลทางเรขาคณิตเพื่อที่จะแสดงว่า
:
จากนั้นจึงเอาสูตรทั้งสองมารวมกัน ทำให้เกิดการแลกเปลี่ยนกำลังสอง
:
สูตรต่อไปนี้เป็นการใช้ฟังก์ชันพื้นเพื่อแสดงลักษณะกำลังสองของจำนวนขนาดเล็ก มอดุโลกับจำนวนเฉพาะ p 
:
:

**การปัดเศษ**
การปัดเศษจำนวนบวก x ไปยังจำนวนเต็มที่อยู่ใกล้ที่สุด จะใช้วิธีการปัดเศษโดยครึ่งหนึ่งให้ปัดขึ้นโดยปกติ สามารถเขียนได้เป็น 

**จำนวนหลัก**
จำนวนหลักของจำนวนเต็มบวก k ในฐาน b คำนวณได้จาก 

**ตัวประกอบของแฟกทอเรียล**
กำหนดให้ n เป็นจำนวนเต็มบวกและ p เป็นจำนวนเฉพาะ (ซึ่งเป็นบวกเช่นกัน) กำลังสูงสุดของ p ที่สามารถหาร n! (แฟกทอเรียลของ n) ได้ลงตัว คำนวณได้จากสูตรนี้ 
:
ผลรวมของอนุกรมนี้จำกัด เนื่องจากฟังก์ชันพื้นจะให้ผลลัพธ์เป็นศูนย์เมื่อ pk > n

**ลำดับบีตตี**
ลำดับบีตตี (Beatty sequence) ได้แสดงไว้ว่าจำนวนอตรรกยะที่เป็นบวกทุกจำนวน เมื่อผ่านฟังก์ชันพื้นแล้วจะเป็นส่วนหนึ่งของจำนวนธรรมชาติซึ่งเป็นสมาชิกของลำดับสองลำดับคู่กัน 

**ค่าคงตัวออยเลอร์-แมสเชโรนี**
สูตรที่ใช้แสดงค่าคงตัวออยเลอร์-แมสเชโรนี γ = 0.57721 56649 … ที่เกี่ยวกับฟังก์ชันพื้นและเพดาน ตัวอย่างเช่น 
:
:
:

**ฟังก์ชันซีตาของรีมันน์**
ฟังก์ชันภาคเศษส่วนปรากฏในการแจกแจงปริพันธ์ของฟังก์ชันซีตาของรีมันน์ ซึ่งสามารถพิสูจน์ได้อย่างตรงไปตรงมาด้วยการหาปริพันธ์โดยการแยกส่วน  โดยสมมติว่า φ (x) คือฟังก์ชันใด ๆ ที่มีความต่อเนื่องและหาอนุพันธ์ได้ในช่วงปิด a, b
:
กำหนดให้ φ (n) = n−s สำหรับส่วนจริงของ s ที่มากกว่า 1 และกำหนดให้ a, b เป็นจำนวนเต็ม ซึ่ง b มีค่าเข้าใกล้อนันต์ จะได้
:
สูตรนี้สามารถใช้ได้กับทุกค่าของ s ที่มีส่วนจริงมากกว่า −1 (ยกเว้นเมื่อ s = 1 เพราะจุดนั้นเป็นโพล) และเมื่อรวมเข้ากับการกระจายฟูรีเยของ {x} จะทำให้สามารถใช้ฟังก์ชันซีตาได้กับทั้งระนาบเชิงซ้อน และใช้สำหรับพิสูจน์สมการเชิงฟังก์ชัน 
สำหรับ s = σ + i t ภายในแถบวิกฤต (critical strip) เช่น 0  1 เป็นจำนวนเต็ม, pn คือจำนวนเฉพาะตัวที่ n และ α ซึ่งนิยามโดย
:
เราจะได้ว่า 
:
มีจำนวน θ = 1.3064… ซึ่งมีสมบัติว่า จำนวนทั้งหมดในลำดับ  เป็นจำนวนเฉพาะ  
และมีจำนวน ω = 1.9287800… ซึ่งมีสมบัติว่า จำนวนทั้งหมดในลำดับ  เป็นจำนวนเฉพาะ 
π (x) เป็นฟังก์ชันนับจำนวนเฉพาะ คือนับว่ามีจำนวนเฉพาะอยู่เท่าไรที่มีค่าน้อยกว่าหรือเท่ากับ x ซึ่งเป็นการลดทอนมาจากทฤษฎีบทของวิลสันที่ว่า 
:
และถ้าหาก n ≥ 2 จะได้ 
:
แต่สูตรในส่วนนี้ที่กล่าวมาทั้งหมด ไม่มีการนำไปใช้จริงในทางปฏิบัติ

**ข้อปัญหาที่แก้ได้**
รามานุจันได้ส่งข้อปัญหาที่เกี่ยวกับฟังก์ชันพื้นเหล่านี้ลงใน Journal of the Indian Mathematical Society 
ถ้า n เป็นจำนวนเต็มบวก จงพิสูจน์ว่า
#  
# 
# 

**ข้อปัญหาที่แก้ไม่ได้**
จากการศึกษาข้อปัญหาของวาริง ได้นำไปสู่ปัญหาที่ยังไม่สามารถแก้ได้จนปัจจุบัน นั่นคือ
จริงหรือไม่ที่จำนวนเต็มบวก k ใด ๆ โดยที่ k ≥ 6 ทำให้เงื่อนไขนี้เป็นจริง 
:
เคิร์ต มาห์เลอร์ เคยพิสูจน์และสรุปว่า มีเพียงจำนวนจำกัดจำนวนหนึ่งเท่านั้นสำหรับ k ที่ตรงตามเงื่อนไขข้างต้น นอกเหนือจากนั้นยังไม่สามารถสรุปได้ 

**การใช้งานในคอมพิวเตอร์**
กราฟของการแปลงเป็นจำนวนเต็ม (int)

**ภาษาโปรแกรม**
ภาษาซี ภาษาซีพลัสพลัส และภาษาอื่น ๆ ที่เกี่ยวข้อง (เช่นภาษาซีชาร์ป ภาษาจาวา) มีฟังก์ชันมาตรฐาน floor ()  สำหรับฟังก์ชันพื้น  และ ceil ()  สำหรับฟังก์ชันเพดาน 
นอกจากนี้ยังมีอีกวิธีการหนึ่งคือการแปลงจำนวนจุดลอยตัว (floating point) ไปเป็นจำนวนเต็มโดยการกำกับชนิดข้อมูล  (int) value ซึ่งจะทำให้ตัวเลขที่อยู่หลังจุดทศนิยมถูกตัดออกไปทั้งหมด ไม่ว่าจำนวนนั้นจะเป็นบวกหรือลบ หรือกล่าวอีกนัยหนึ่งคือ ถูกปัดเศษไปยังค่าศูนย์ 

**เชิงอรรถ**

**อ้างอิง**
 Nicholas J. Higham, Handbook of writing for the mathematical sciences, SIAM. ISBN 0898714206, p. 25- ISO/IEC. ISO/IEC 9899::1999 (E) : Programming languages — C (2nd ed), 1999; Section 6.3.1.4, p. 43.- Michael Sullivan. Precalculus, 8th edition, p. 86

**ดูเพิ่ม**
 ฟังก์ชันจำนวนเต็มใกล้สุด- ฟังก์ชันขั้นบันได
หมวดหมู่:ฟังก์ชันพิเศษมูลฐาน
หมวดหมู่:สัญกรณ์คณิตศาสตร์