ฟังก์ชัน (คณิตศาสตร์)
ในคณิตศาสตร์ ฟังก์ชัน คือ "ความสัมพันธ์" จากเซตหนึ่งที่เรียกว่าโดเมน ไปยังอีกเซตหนึ่งที่เรียกว่าโคโดเมน (บางครั้งคำว่าเรนจ์อาจถูกใช้แทน แต่เรนจ์นั้นมีความหมายอื่นด้วย "โคโดเมน" จึงเป็นที่นิยมมากกว่า เพราะไม่กำกวม) โดยที่สมาชิกตัวหน้าไม่ซ้ำกัน ความคิดรวบยอดของฟังก์ชันนี้เป็นพื้นฐานของทุกสาขาของคณิตศาสตร์และวิทยาศาสตร์เชิงปริมาณ
แนวคิดที่สำคัญที่สุดคือ ฟังก์ชันนั้นเป็น "กฎ" ที่กำหนด ผลลัพธ์โดยขึ้นกับสิ่งที่นำเข้ามา ต่อไปนี้เป็นตัวอย่าง
"กฎ" ที่นิยามฟังก์ชันอาจเป็น สูตร, ความสัมพันธ์ (คณิตศาสตร์) หรือเป็นแค่ตารางที่ลำดับผลลัพธ์กับสิ่งที่นำเข้า ลักษณะเฉพาะที่สำคัญของฟังก์ชันคือมันจะมีผลลัพธ์เหมือนเดิมตลอดเมื่อให้สิ่งนำเข้าเหมือนเดิม ลักษณะนี้ทำให้เราเปรียบเทียบฟังก์ชันกับ "เครื่องกล" หรือ "กล่องดำ" ที่จะเปลี่ยนสิ่งนำเข้าไปเป็นผลลัพธ์ที่ตายตัว เรามักจะเรียกสิ่งนำเข้าว่า "อาร์กิวเมนต์ (argument) " และเรียกผลลัพธ์ว่า "ค่า (value) " ของฟังก์ชัน
ชนิดของฟังก์ชันธรรมดาเกิดจากที่ทั้งอาร์กิวเมนต์และค่าของฟังก์ชันเป็นตัวเลขทั้งคู่ ความสัมพันธ์ของฟังก์ชันมักจะเขียนในรูปสูตร และจะได้ค่าของฟังก์ชันมาทันทีเพียงแทนที่อาร์กิวเมนต์ลงในสูตร เช่น
ซึ่งจะได้ค่ากำลังสองของ "x" ใดๆ
โดยนัยทั่วไปแล้ว ฟังก์ชันจะสามารถมีได้มากกว่าหนึ่งอาร์กิวเมนต์ เช่น
เป็นฟังก์ชันที่นำตัวเลข "x" และ "y" มาหาผลคูณ ดูเหมือนว่านี่ไม่ใช่ฟังก์ชันจริงๆดังที่เราได้อธิบายข้างต้น เพราะว่า "กฎ" ขึ้นอยู่กับสิ่งนำเข้า 2 สิ่ง อย่างไรก็ตาม ถ้าเราคิดว่าสิ่งนำเข้า 2 สิ่งนี้เป็น คู่อันดับ formula_3 1 คู่ เราก็จะสามารถแปลได้ว่า "g" เป็นฟังก์ชัน โดยที่อาร์กิวเมนต์คือคู่อันดับ formula_3 และค่าของฟังก์ชันคือ formula_5
ในวิทยาศาสตร์ เรามักจะต้องเผชิญหน้ากับฟังก์ชันที่ไม่ได้กำหนดขึ้นจากสูตร เช่นอุณหภูมิบนพื้นผิวโลกในเวลาใดเวลาหนึ่ง นี่เป็นฟังก์ชันที่มีสถานที่และเวลาเป็นอาร์กิวเมนต์ และให้ผลลัพธ์เป็นอุณหภูมิของสถานที่และเวลานั้นๆ
เราได้เห็นแล้วว่าแนวคิดของฟังก์ชันไม่ได้จำกัดอยู่แค่การคำนวณด้วยตัวเลขเท่านั้น และไม่ได้จำกัดอยู่แค่การคำนวณด้วย แนวคิดของคณิตศาสตร์เกี่ยวกับฟังก์ชัน เป็นแนวคิดโดยทั่วไปและไม่ได้จำกัดอยู่แค่สถานการณ์ที่เกี่ยวข้องกับตัวเลขเท่านั้น แน่นอนว่าฟังก์ชันเชื่อมโยง "โดเมน" (เซตของสิ่งนำเข้า) เข้ากับ "โคโดเมน" (เซตของผลลัพธ์ที่เป็นไปได้) ดังนั้นสมาชิกแต่ละตัวของโดเมนจะจับคู่กับสมาชิกตัวใดตัวหนึ่งของโคโดเมนเท่านั้น ฟังก์ชันนั้นนิยามเป็นความสัมพันธ์ที่แน่นอน ดังที่จะกล่าวต่อไป เป็นเหตุจากลักษณะทั่วไปนี้ แนวคิดรวบยอดของฟังก์ชันจึงเป็นพื้นฐานของทุกสาขาในคณิตศาสตร์
ในทางคณิตศาสตร์ "ฟังก์ชัน" บัญญัติขึ้นโดย ไลบ์นิซ ใน พ.ศ. 2237 เพื่ออธิบายปริมาณที่เกี่ยวข้องกับเส้นโค้ง เช่น ความชันของเส้นโค้ง หรือจุดบนเส้นโค้ง ฟังก์ชันที่ไลบ์นิซพิจารณานั้นในปัจจุบันเรียกว่า ฟังก์ชันที่หาอนุพันธ์ได้ และเป็นชนิดของฟังก์ชันที่มักจะแก้ด้วยผู้ที่ไม่ใช่นักคณิตศาสตร์ สำหรับฟังก์ชันชนิดนี้ เราสามารถพูดถึงลิมิตและอนุพันธ์ ซึ่งเป็นการทฤษฎีเซต พวกเขาได้พยายามนิยามวัตถุทางคณิตศาสตร์ทั้งหมดด้วย เซต ดีริคเลท และ โลบาเชฟสกี ได้ให้นิยามสมัยใหม่ของฟังก์ชันออกมาเกือบพร้อมๆกัน
ในคำนิยามนี้ ฟังก์ชันเป็นเพียงกรณีพิเศษของความสัมพันธ์ อย่างไรก็ตาม เป็นกรณีที่มีความน่าสนใจเป็นพิเศษ ความแตกต่างระหว่างคำนิยามสมัยใหม่กับคำนิยามของออยเลอร์นั้นเล็กน้อยมาก
แนวคิดของ ฟังก์ชัน ที่เป็นกฎในการคำนวณ แทนที่เป็นความสัมพันธ์ชนิดพิเศษนั้น อยู่ในคณิตตรรกศาสตร์ และวิทยาการคอมพิวเตอร์เชิงทฤษฎี ด้วยหลายระบบ รวมไปถึง แคลคูลัสแลมบ์ดา ทฤษฎีฟังก์ชันเวียนเกิด และเครื่องจักรทัวริง
ฟังก์ชัน formula_6 จากข้อมูลนำเข้าในเซต formula_7 ไปยังผลที่เป็นไปได้ในเซต formula_8 (เขียนเป็น formula_9) คือความสัมพันธ์ระหว่าง formula_7 กับ formula_8 ซึ่ง
ค่านำเข้า formula_12 แต่ละค่า จากโดเมน จะมีผลลัพธ์ formula_14 จากโคโดเมนเพียงค่าเดียว แทนด้วย formula_27
จากนิยามข้างต้น เราสามารถเขียนอย่างสั้นๆได้ว่า ฟังก์ชันจาก formula_7 ไปยัง formula_8 คือเซตย่อย formula_6 ของผลคูณคาร์ทีเซียน formula_31 โดยที่แต่ละค่าของ formula_12 ใน formula_7 จะมี formula_14 ใน formula_8 ที่แตกต่างกัน โดยที่คู่อันดับ formula_36 อยู่ใน formula_6
เซตของฟังก์ชัน formula_9 ทุกฟังก์ชันแทนด้วย formula_39 เรียกว่าปริภูมิฟังก์ชัน สังเกตว่า formula_40 (อ้างถึง จำนวนเชิงการนับ)
ความสัมพันธ์ระหว่าง formula_7 กับ formula_8 ซึ่งเป็นไปตามเงื่อนไข (1) นั่นคือฟังก์ชันหลายค่า ฟังก์ชันทุกฟังก์ชันเป็นฟังก์ชันหลายค่า แต่ฟังก์ชันหลายค่าไม่ทุกฟังก์ชันเป็นฟังก์ชัน ความสัมพันธ์ระหว่าง formula_7 กับ formula_8 ซึ่งเป็นไปตามเงื่อนไข (2) นั่นคือฟังก์ชันบางส่วน ฟังก์ชันทุกฟังก์ชันเป็นฟังก์ชันบางส่วน แต่ฟังก์ชันบางส่วนไม่ทุกฟังก์ชันเป็นฟังก์ชัน "ฟังก์ชัน" คือความสัมพันธ์ที่เป็นไปตามเงื่อนไขทั้งสองเงื่อนไข
ดูตัวอย่างต่อไปนี้
"X" ซึ่งคือเซตข้อมูลนำเข้าเรียกว่า โดเมนของ "f" และ "Y" ซึ่งคือเซตของผลลัพธ์ที่เป็นไปได้ เรียกว่า โคโดเมน เรนจ์ของ "f" คือเซตของผลลัพธ์จริงๆ {"f (x) : x" ในโดเมน} ระวังว่าบางครั้งโคโดเมนจะถูกเรียกว่าเรนจ์ เนื่องจากความผิดพลาดจากการจำแนกระหว่างผลที่เป็นไปได้กับผลจริงๆ
ฟังก์ชันนั้นเรียกชื่อตามเรนจ์ของมัน เช่น ฟังก์ชันจำนวนจริง หรือ ฟังก์ชันจำนวนเชิงซ้อน
เอนโดฟังก์ชัน คือฟังก์ชันที่โดเมนและเรนจ์เป็นเซตเดียวกัน
ในสาขาวิทยาการคอมพิวเตอร์ แบบชนิดข้อมูลของอาร์กิวเมนต์และค่าที่คืนกลับมาระบุโดเมนและโคโดเมน (ตามลำดับ) ของโปรแกรมย่อย ดังนั้นโดเมนและโคโดเมนจะถูกกำหนดไว้ในแต่ละฟังก์ชัน แต่เรนจ์จะเกี่ยวกับว่าค่าที่คืนกลับมาจะเป็นอย่างไร
เราสามารถแบ่งฟังก์ชันตามลักษณะความสัมพันธ์ได้ดังนี้
"ภาพ" (image) ของ "x"โดยที่ "x" ∈ "X" ภายใต้ "f" คือผลลัพธ์ "f (x) "
ภาพของเซตย่อย "A"⊂"X" ภายใต้ "f" คือเซตย่อย "Y" ซึ่งมีนิยามดังนี้
บางครั้ง อาจใช้ "f" ("A") แทน "f"["A"]
"บุพภาพ" (preimage) (หรือ "ภาพผกผัน") ของเซต "B" ⊂ "Y" ภายใต้ "f" คือเซตย่อยของ "X" ซึ่งมีนิยามคือ
กราฟของฟังก์ชัน "f" คือเซตของคู่อันดับ ("x", "y" ("x")) ทั้งหมด สำหรับค่า "x" ทั้งหมดในโดเมน "X" มีทฤษฎีบทที่แสดงหรือพิสูจน์ง่ายมากเมื่อใช้กราฟ เช่น ทฤษฎีบทกราฟปิด ถ้า "X" และ "Y" เป็นเส้นจำนวนจริง แล้วนิยามนี้จะสอดคล้องกับแนวคิดของกราฟ
สังเกตว่าเมื่อความสัมพันธ์ระหว่างสองเซต "X" และ "Y" มักจะแสดงด้วยเซตย่อยของ "X"×"Y" นิยามอย่างเป็นทางการของฟังก์ชันนั้นระบุฟังก์ชัน "f" ด้วยกราฟของมันชนิดของฟังก์ชันทางคณิตศาสตร์ที่มักใช้กันเช่น การบวก การลบ การคูณ การหาร พหุนาม เลขยกกำลัง ลอการิทึม ราก อัตราส่วน และตรีโกณมิติ ฟังก์ชันเหล่านี้มักเรียกว่า ฟังก์ชันพื้นฐาน แต่คำนี้จะมีความหมายต่างออกไปตามสาขาของคณิตศาสตร์ ตัวอย่างของฟังก์ชันที่ไม่เป็นพื้นฐาน (ฟังก์ชันพิเศษ) เช่น ฟังก์ชันเบสเซิล และฟังก์ชันแกมมา
ฟังก์ชันอาจเป็น
ฟังก์ชันที่เราใช้ส่วนมักจะเป็น ฟังก์ชันหลายตัวแปร ค่าที่ได้จะขึ้นอยู่กับปัจจัยต่างๆกัน
จากมุมมองของคณิตศาสตร์ ตัวแปรทั้งหมดต้องแสดงอย่างชัดแจ้งเพื่อที่จะเกิดความสัมพันธ์แบบฟังก์ชัน - ไม่มีปัจจัย "ซ่อนเร้น" อยู่
และเช่นกัน จากมุมมองของคณิตศาสตร์ ไม่มีความแตกต่างเชิงคุณภาพระหว่างฟังก์ชันตัวแปรเดียวกับฟังก์ชันหลายตัวแปร
ฟังก์ชันสามตัวแปรจำนวนจริงนั้นก็คือฟังก์ชันของ "triple" (("x","y","z")) ของจำนวนจริง
ถ้าโดเมนของฟังก์ชันหนึ่งเป็นเซตย่อยของ ผลคูณคาร์ทีเซียน ของ "n" เซต แล้ว เราเรียกฟังก์ชันนี้ว่า ฟังก์ชัน "n"-ary
ตัวอย่างเช่นฟังก์ชัน "dist" มีโดเมน formula_56 จึงเป็นฟังก์ชันทวิภาค
ในกรณีนี้ "dist" (("x","y")) เขียนอย่างง่ายเป็น "dist" ("x","y")
การดำเนินการ ก็เป็นฟังก์ชันหลายตัวแปรชนิดหนึ่ง ในพีชคณิตนามธรรม
ตัวดำเนินการเช่น "*" นั้นนิยามจากฟังก์ชันทวิภาค เมื่อเราเขียนสูตรเช่น "x"*"y" ในสาขานี้ เสมือนกับว่าเราเรียกใช้ฟังก์ชัน * ("x","y") โดยปริยาย เพียงแต่เขียนในรูปสัญกรณ์เติมกลาง (infix notation) ซึ่งสะดวกกว่า
ตัวอย่างที่สำคัญทางทฤษฎีตัวอย่างหนึ่งคือ กำหนดการเชิงฟังก์ชัน ซึ่งใช้แนวคิดของฟังก์ชันเป็นศูนย์กลาง
ด้วยวิธีนี้ การจัดการฟังก์ชันหลายตัวแปรทำได้เหมือนเป็นการดำเนินการ ซึ่งแคลคูลัสแลมบ์ดา มีวากยสัมพันธ์ (syntax) ให้เรา
ฟังก์ชัน "f": "X" → "Y" และ "g":"Y" → "Z" สามารถ"ประกอบ"กันได้
ซึ่งจะได้ผลเป็นฟังก์ชันประกอบ "g" "f": "X" → "Z" ซึ่งมีนิยามคือ ("g" "f") ("x") = "g" ("f" ("x")) สำหรับทุกค่าของ "x" ใน "X" ตัวอย่างเช่น สมมติว่าความสูงของเครื่องบินที่เวลา "t" เป็นไปตามฟังก์ชัน "h" ("t") และความเข้มข้นของออกซิเจนในอากาศที่ความสูง "x" เป็นไปตามฟังก์ชัน "c" ("x") ดังนี้น ("c" "h") ("t") จะบอกความเข้มข้นของออกซิเจนในอากาศรอบๆเครื่องบินที่เวลา "t"
ถ้าฟังก์ชัน "f": "X" → "Y" เป็นฟังก์ชันหนึ่งต่อหนึ่งต่อเนื่อง แล้ว พรีอิเมจของสมาชิก "y" ใดๆในโคโดเมน "Y" จะเป็นเซตโทน
ฟังก์ชันจาก "y" ∈ "Y" ไปยังพรีอิเมจ "f" ("y") ของมัน คือฟังก์ชันที่เรียกว่า ฟังก์ชันผกผัน ของ "f" เขียนแทนด้วย "f"
ตัวอย่างหนึ่งของฟังก์ชันผกผันสำหรับ "f" ("x") = 2"x" คือ "f" ("x") = "x"/2
ฟังก์ชันผกผันคือฟังก์ชันที่ย้อนการกระทำของฟังก์ชันต้นแบบของมัน
ดู อิเมจผกผัน
บางครั้งฟังก์ชันผกผันก็หายากหรือไม่มี
พิจารณา formula_57 ฟังก์ชัน formula_58 ไม่ใช่ฟังก์ชันผกผันเมื่อโดเมนของ formula_6 คือ formula_60