สำหรับความหมายอื่น ดูที่ ฟังก์ชัน
"f(x)" เปลี่ยนทางมาที่นี่ สำหรับวงดนตรีเกาหลี ดูที่ เอฟ (เอกซ์)

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

แนวคิด
------

แนวคิดที่สำคัญที่สุดคือ ฟังก์ชันนั้นเป็น "กฎ" ที่กำหนดผลลัพธ์โดยขึ้นกับสิ่งที่นำเข้ามา ต่อไปนี้เป็นตัวอย่าง

* แต่ละคนจะมีสีที่ตนชอบ (แดง, ส้ม, เหลือง, ฟ้า, น้ำเงิน, คราม หรือม่วง) สีที่ชอบเป็นฟังก์ชันของแต่ละคน เช่น จอห์นชอบสีแดง แต่คิมชอบสีม่วง ในที่นี้สิ่งที่นำเข้าคือคน และผลลัพธ์คือ 1 ใน 7 สีดังกล่าว
* มีเด็กบางคนขายน้ำมะนาวในช่วงฤดูร้อน จำนวนน้ำมะนาวที่ขายได้เป็นฟังก์ชันของอุณหภูมิภายนอก ตัวอย่างเช่น ถ้าภายนอกมีอุณหภูมิ 85 องศาฟาเรนไฮด์ จะขายได้ 10 แก้ว แต่ถ้าอุณหภูมิ 95 องศา จะขายได้ 25 แก้ว ในที่นี้ สิ่งที่นำเข้าคืออุณหภูมิ และผลลัพธ์คือจำนวนน้ำมะนาวที่ขายได้
* ก้อนหินก้อนหนึ่งปล่อยลงมาจากชั้นต่างๆของตึกสูง ถ้าปล่อยจากชั้นที่สอง จะใช้เวลา 2 วินาที และถ้าปล่อยจากชั้นที่แปด จะใช้เวลา (เพียง) 4 วินาที ในที่นี้ สิ่งนำเข้าคือชั้น และผลลัพธ์คือระยะเวลาเป็นวินาที *ฟังก์ชัน*นี้อธิบายความสัมพันธ์ระหว่าง เวลาที่ก้อนหินใช้ตกถึงพื้นกับชั้นที่มันถูกปล่อยลงมา (ดู ความเร่ง)

"กฎ" ที่นิยามฟังก์ชันอาจเป็น สูตร, ความสัมพันธ์ (คณิตศาสตร์) หรือเป็นแค่ตารางที่ลำดับผลลัพธ์กับสิ่งที่นำเข้า ลักษณะเฉพาะที่สำคัญของฟังก์ชันคือมันจะมีผลลัพธ์เหมือนเดิมตลอดเมื่อให้สิ่งนำเข้าเหมือนเดิม ลักษณะนี้ทำให้เราเปรียบเทียบฟังก์ชันกับ "เครื่องกล" หรือ "กล่องดำ" ที่จะเปลี่ยนสิ่งนำเข้าไปเป็นผลลัพธ์ที่ตายตัว เรามักจะเรียกสิ่งนำเข้าว่า *อาร์กิวเมนต์ (argument)*  และเรียกผลลัพธ์ว่า *ค่า (value)*  ของฟังก์ชัน

ชนิดของฟังก์ชันธรรมดาเกิดจากที่ทั้งอาร์กิวเมนต์และค่าของฟังก์ชันเป็นตัวเลขทั้งคู่ ความสัมพันธ์ของฟังก์ชันมักจะเขียนในรูปสูตร และจะได้ค่าของฟังก์ชันมาทันทีเพียงแทนที่อาร์กิวเมนต์ลงในสูตร เช่น

{\displaystyle f(x)=x^{2}}
ซึ่งจะได้ค่ากำลังสองของ *x* ใดๆ

โดยนัยทั่วไปแล้ว ฟังก์ชันจะสามารถมีได้มากกว่าหนึ่งอาร์กิวเมนต์ เช่น

{\displaystyle g(x,y)=xy}
เป็นฟังก์ชันที่นำตัวเลข *x* และ *y* มาหาผลคูณ ดูเหมือนว่านี่ไม่ใช่ฟังก์ชันจริงๆดังที่เราได้อธิบายข้างต้น เพราะว่า "กฎ" ขึ้นอยู่กับสิ่งนำเข้า 2 สิ่ง อย่างไรก็ตาม ถ้าเราคิดว่าสิ่งนำเข้า 2 สิ่งนี้เป็น คู่อันดับ {\displaystyle (x,y)} 1 คู่ เราก็จะสามารถแปลได้ว่า *g* เป็นฟังก์ชัน โดยที่อาร์กิวเมนต์คือคู่อันดับ {\displaystyle (x,y)} และค่าของฟังก์ชันคือ {\displaystyle xy}

ในวิทยาศาสตร์ เรามักจะต้องเผชิญหน้ากับฟังก์ชันที่ไม่ได้กำหนดขึ้นจากสูตร เช่นอุณหภูมิบนพื้นผิวโลกในเวลาใดเวลาหนึ่ง นี่เป็นฟังก์ชันที่มีสถานที่และเวลาเป็นอาร์กิวเมนต์ และให้ผลลัพธ์เป็นอุณหภูมิของสถานที่และเวลานั้นๆ

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

ประวัติ
-------

ในทางคณิตศาสตร์ "**ฟังก์ชัน**" บัญญัติขึ้นโดย ไลบ์นิซ ใน พ.ศ. 2237 เพื่ออธิบายปริมาณที่เกี่ยวข้องกับเส้นโค้ง เช่น ความชันของเส้นโค้ง หรือจุดบนเส้นโค้ง ฟังก์ชันที่ไลบ์นิซพิจารณานั้นในปัจจุบันเรียกว่า ฟังก์ชันที่หาอนุพันธ์ได้ และเป็นชนิดของฟังก์ชันที่มักจะแก้ด้วยผู้ที่ไม่ใช่นักคณิตศาสตร์ สำหรับฟังก์ชันชนิดนี้ เราสามารถพูดถึงลิมิตและอนุพันธ์ ซึ่งเป็นการทฤษฎีเซต พวกเขาได้พยายามนิยามวัตถุทางคณิตศาสตร์ทั้งหมดด้วย เซต ดีริคเลท และ โลบาเชฟสกี ได้ให้นิยามสมัยใหม่ของฟังก์ชันออกมาเกือบพร้อมๆกัน

ในคำนิยามนี้ ฟังก์ชันเป็นเพียงกรณีพิเศษของความสัมพันธ์ อย่างไรก็ตาม เป็นกรณีที่มีความน่าสนใจเป็นพิเศษ ความแตกต่างระหว่างคำนิยามสมัยใหม่กับคำนิยามของออยเลอร์นั้นเล็กน้อยมาก

แนวคิดของ **ฟังก์ชัน** ที่เป็นกฎในการคำนวณ แทนที่เป็นความสัมพันธ์ชนิดพิเศษนั้น อยู่ในคณิตตรรกศาสตร์ และวิทยาการคอมพิวเตอร์เชิงทฤษฎี ด้วยหลายระบบ รวมไปถึง แคลคูลัสแลมบ์ดา ทฤษฎีฟังก์ชันเวียนเกิด และเครื่องจักรทัวริง

นิยามอย่างเป็นรูปนัย
--------------------

ฟังก์ชัน f จากข้อมูลนำเข้าในเซต {\displaystyle X} ไปยังผลที่เป็นไปได้ในเซต {\displaystyle Y} (เขียนเป็น {\displaystyle f:X\rightarrow Y}) คือความสัมพันธ์ระหว่าง {\displaystyle X} กับ {\displaystyle Y} ซึ่ง

1. สำหรับทุกค่า {\displaystyle x} ใน {\displaystyle X} จะมี {\displaystyle y} ใน {\displaystyle Y} ซึ่ง {\displaystyle xfy} ( {\displaystyle x} มีความสัมพันธ์ f กับ {\displaystyle y}) นั่นคือ สำหรับค่านำเข้าแต่ละค่า จะมีผลลัพธ์ใน {\displaystyle Y} อย่างน้อย {\displaystyle 1} ผลลัพธ์เสมอ
2. ถ้า {\displaystyle xfy} และ {\displaystyle xfz} แล้ว {\displaystyle y=z} นั่นคือ ค่านำเข้าหลายค่าสามารถมีผลลัพธ์ได้ค่าเดียว แต่ค่านำเข้าค่าเดียวไม่สามารถมีผลลัพธ์หลายผลลัพธ์ได้

ค่านำเข้า {\displaystyle x} แต่ละค่า จากโดเมน จะมีผลลัพธ์ {\displaystyle y} จากโคโดเมนเพียงค่าเดียว แทนด้วย {\displaystyle f(x)}

จากนิยามข้างต้น เราสามารถเขียนอย่างสั้นๆได้ว่า ฟังก์ชันจาก {\displaystyle X} ไปยัง {\displaystyle Y} คือเซตย่อย f ของผลคูณคาร์ทีเซียน {\displaystyle X\times Y} โดยที่แต่ละค่าของ {\displaystyle x} ใน {\displaystyle X} จะมี {\displaystyle y} ใน {\displaystyle Y} ที่แตกต่างกัน โดยที่คู่อันดับ {\displaystyle (x,y)} อยู่ใน f

เซตของฟังก์ชัน {\displaystyle f:X\rightarrow Y} ทุกฟังก์ชันแทนด้วย {\displaystyle Y^{X}} เรียกว่าปริภูมิฟังก์ชัน สังเกตว่า {\displaystyle |Y^{X}|=|Y|^{|X|}} (อ้างถึง จำนวนเชิงการนับ)

ความสัมพันธ์ระหว่าง {\displaystyle X} กับ {\displaystyle Y} ซึ่งเป็นไปตามเงื่อนไข (1) นั่นคือ**ฟังก์ชันหลายค่า** ฟังก์ชันทุกฟังก์ชันเป็นฟังก์ชันหลายค่า แต่ฟังก์ชันหลายค่าไม่ทุกฟังก์ชันเป็นฟังก์ชัน ความสัมพันธ์ระหว่าง {\displaystyle X} กับ {\displaystyle Y} ซึ่งเป็นไปตามเงื่อนไข (2) นั่นคือ**ฟังก์ชันบางส่วน** ฟังก์ชันทุกฟังก์ชันเป็นฟังก์ชันบางส่วน แต่ฟังก์ชันบางส่วนไม่ทุกฟังก์ชันเป็นฟังก์ชัน "ฟังก์ชัน" คือความสัมพันธ์ที่เป็นไปตามเงื่อนไขทั้งสองเงื่อนไข

ดูตัวอย่างต่อไปนี้

 สมาชิก {\displaystyle 3} ใน {\displaystyle X} สัมพันธ์กับ {\displaystyle b} และ c ใน {\displaystyle Y} ความสัมพันธ์นี้เป็นฟังก์ชันหลายค่า แต่*ไม่*เป็นฟังก์ชัน

 สมาชิก 1 ใน {\displaystyle X} ไม่สัมพันธ์กับสมาชิกใดๆเลยใน {\displaystyle Y} ความสัมพันธ์นี้เป็นฟังก์ชันบางส่วน แต่*ไม่*เป็นฟังก์ชัน

 ความสัมพันธ์นี้เป็นฟังก์ชันจาก {\displaystyle X} ไปยัง {\displaystyle Y} เราสามารถหานิยามฟังก์ชันนี้อย่างชัดแจ้งได้เป็น {\displaystyle f=\{(1,d),(2,d),(3,c)\}} หรือเป็น

{\displaystyle f(x)=\left\{{\begin{matrix}d,&{\mbox{if }}x=1\\d,&{\mbox{if }}x=2\\c,&{\mbox{if }}x=3.\end{matrix}}\right.}

โดเมน, โคโดเมน และเรนจ์
-----------------------

*X* ซึ่งคือเซตข้อมูลนำเข้าเรียกว่า โดเมนของ *f* และ *Y* ซึ่งคือเซตของผลลัพธ์**ที่เป็นไปได้** เรียกว่า โคโดเมน เรนจ์ของ *f* คือเซตของผลลัพธ์**จริงๆ** {*f (x) : x* ในโดเมน} ระวังว่าบางครั้งโคโดเมนจะถูกเรียกว่าเรนจ์ เนื่องจากความผิดพลาดจากการจำแนกระหว่างผลที่เป็นไปได้กับผลจริงๆ

ฟังก์ชันนั้นเรียกชื่อตามเรนจ์ของมัน เช่น **ฟังก์ชันจำนวนจริง** หรือ **ฟังก์ชันจำนวนเชิงซ้อน**

เอนโดฟังก์ชัน คือฟังก์ชันที่โดเมนและเรนจ์เป็นเซตเดียวกัน

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

ฟังก์ชันหนึ่งต่อหนึ่ง ฟังก์ชันทั่วถึง และฟังก์ชันหนึ่งต่อหนึ่งทั่วถึง
---------------------------------------------------------------------

เราสามารถแบ่งฟังก์ชันตามลักษณะความสัมพันธ์ได้ดังนี้

* ฟังก์ชันหนึ่งต่อหนึ่ง (1-1) ฟังก์ชันจะคืนค่าที่ไม่เหมือนกันหากนำเข้าค่าคนละค่ากัน กล่าวคือ ถ้า *x1* และ *x2* เป็นสมาชิกของโดเมนของ *f* แล้ว *f* (*x1*) = *f* (*x2*) ก็ต่อเมื่อ *x1* = *x2*

* ฟังก์ชันทั่วถึง (แบบ onto) ฟังก์ชันจะมีเรนจ์เท่ากับโคโดเมน กล่าวคือ ถ้า *y* เป็นสมาชิกใดๆของโคโดเมนของ *f* แล้วจะมี *x* อย่างน้อย 1 ตัว ซึ่ง *f* (*x*) = *y*

* ฟังก์ชันหนึ่งต่อหนึ่งทั่วถึง เป็นฟังก์ชันที่เป็นทั้งฟังก์ชันหนึ่งต่อหนึ่ง และฟังก์ชันทั่วถึง มักจะใช้แสดงว่าเซต *X* และเซต *Y* มีขนาดเท่ากัน

ภาพ และบุพภาพ
-------------

*ภาพ* (image) ของ *x*โดยที่ *x* ∈ *X* ภายใต้ *f* คือผลลัพธ์ *f (x)* 

ภาพของเซตย่อย *A*⊂*X* ภายใต้ *f* คือเซตย่อย *Y* ซึ่งมีนิยามดังนี้

*f*[*A*] = {*f* (*x*)  | *x* อยู่ใน *A*}
บางครั้ง อาจใช้ *f* (*A*) แทน *f*[*A*]

สังเกตว่าเรนจ์ของ *f* คือภาพ *f (X)*  ของโดเมนของมัน. ในฟังก์ชันข้างบน ภาพของ {2, 3} ภายใต้ *f* คือ *f* ({2, 3}) = {c, d} และเรนจ์ของ *f* คือ {c, d}

*บุพภาพ* (preimage) (หรือ *ภาพผกผัน*) ของเซต *B* ⊂ *Y* ภายใต้ *f* คือเซตย่อยของ *X* ซึ่งมีนิยามคือ

*f*−1 (*B*)  = {*x* อยู่ใน *X* | *f* (*x*) ∈*B*}
สำหรับฟังก์ชันข้างบน บุพภาพของ {a, b} คือ *f*−1 ({a, b}) = {1}

กราฟของฟังก์ชัน
---------------

กราฟของฟังก์ชัน *f* คือเซตของคู่อันดับ (*x*, *y* (*x*)) ทั้งหมด สำหรับค่า *x* ทั้งหมดในโดเมน *X* มีทฤษฎีบทที่แสดงหรือพิสูจน์ง่ายมากเมื่อใช้กราฟ เช่น ทฤษฎีบทกราฟปิด ถ้า *X* และ *Y* เป็นเส้นจำนวนจริง แล้วนิยามนี้จะสอดคล้องกับแนวคิดของกราฟ

กราฟของฟังก์ชันกำลังสาม กราฟนี้เป็นฟังก์ชันทั่วถึงแต่ไม่เป็นฟังก์ชันหนึ่งต่อหนึ่ง
สังเกตว่าเมื่อความสัมพันธ์ระหว่างสองเซต *X* และ *Y* มักจะแสดงด้วยเซตย่อยของ *X*×*Y* นิยามอย่างเป็นทางการของฟังก์ชันนั้นระบุฟังก์ชัน *f* ด้วยกราฟของมัน

ตัวอย่างฟังก์ชัน
----------------

* ความสัมพันธ์ *wght* ระหว่างบุคคลกับน้ำหนักในเวลาใดเวลาหนึ่ง
* ความสัมพันธ์ *cap* ระหว่างประเทศกับเมืองหลวงของประเทศนั้น
* ความสัมพันธ์ *sqr* ระหว่างจำนวนธรรมชาติ *n* กับกำลังสอง *n2*
* ความสัมพันธ์ *ln* ระหว่างจำนวนจริง*บวก* *x* กับลอการิทึมฐานธรรมชาติ ln (*x*) แต่ความสัมพันธ์ระหว่างจำนวนจริงกับลอการิทึมฐานธรรมชาตินั้นไม่เป็นฟังก์ชัน เพราะว่าจำนวนจริงทุกจำนวนไม่ได้มีลอการิทึมฐานธรรมชาติ นั่นคือเป็นความสัมพันธ์ไม่ทั้งหมด
* ความสัมพันธ์ *dist* ระหว่างจุดบนระนาบ **R**2 กับระยะทางจากจุดกำเนิด (0,0)

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

คุณสมบัติของฟังก์ชัน
--------------------

ฟังก์ชันอาจเป็น

* ฟังก์ชันคู่หรือคี่
* ฟังก์ชันต่อเนื่องหรือไม่ต่อเนื่อง
* ฟังก์ชันจำนวนจริง หรือ ฟังก์ชันเชิงซ้อน
* ฟังก์ชันสเกลาร์ หรือ ฟังก์ชันเวกเตอร์

ฟังก์ชันแบบ *n*-ary : ฟังก์ชันหลายตัวแปร
----------------------------------------

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

ถ้าโดเมนของฟังก์ชันหนึ่งเป็นเซตย่อยของ ผลคูณคาร์ทีเซียน ของ *n* เซต แล้ว เราเรียกฟังก์ชันนี้ว่า ฟังก์ชัน *n*-ary
ตัวอย่างเช่นฟังก์ชัน *dist* มีโดเมน {\displaystyle \mathbb {R} \times \mathbb {R} } จึงเป็นฟังก์ชันทวิภาค
ในกรณีนี้ *dist* ((*x*,*y*)) เขียนอย่างง่ายเป็น *dist* (*x*,*y*)

การดำเนินการ ก็เป็นฟังก์ชันหลายตัวแปรชนิดหนึ่ง ในพีชคณิตนามธรรม
ตัวดำเนินการเช่น "\*" นั้นนิยามจากฟังก์ชันทวิภาค เมื่อเราเขียนสูตรเช่น *x*\**y* ในสาขานี้ เสมือนกับว่าเราเรียกใช้ฟังก์ชัน \* (*x*,*y*) โดยปริยาย เพียงแต่เขียนในรูปสัญกรณ์เติมกลาง (infix notation) ซึ่งสะดวกกว่า

ตัวอย่างที่สำคัญทางทฤษฎีตัวอย่างหนึ่งคือ กำหนดการเชิงฟังก์ชัน ซึ่งใช้แนวคิดของฟังก์ชันเป็นศูนย์กลาง
ด้วยวิธีนี้ การจัดการ**ฟังก์ชันหลายตัวแปร**ทำได้เหมือนเป็นการดำเนินการ ซึ่งแคลคูลัสแลมบ์ดา มีวากยสัมพันธ์ (syntax) ให้เรา

การประกอบฟังก์ชัน
-----------------

ฟังก์ชัน *f*: *X* → *Y* และ *g*:*Y* → *Z* สามารถ*ประกอบ*กันได้
ซึ่งจะได้ผลเป็นฟังก์ชันประกอบ *g* o *f*: *X* → *Z* ซึ่งมีนิยามคือ (*g* o *f*) (*x*) = *g* (*f* (*x*)) สำหรับทุกค่าของ *x* ใน *X* ตัวอย่างเช่น สมมติว่าความสูงของเครื่องบินที่เวลา *t* เป็นไปตามฟังก์ชัน *h* (*t*) และความเข้มข้นของออกซิเจนในอากาศที่ความสูง *x* เป็นไปตามฟังก์ชัน *c* (*x*) ดังนี้น (*c* o *h*) (*t*) จะบอกความเข้มข้นของออกซิเจนในอากาศรอบๆเครื่องบินที่เวลา *t*

### ฟังก์ชันผกผัน

ถ้าฟังก์ชัน *f*: *X* → *Y* เป็นฟังก์ชันหนึ่งต่อหนึ่งต่อเนื่อง แล้ว พรีอิเมจของสมาชิก *y* ใดๆในโคโดเมน *Y* จะเป็นเซตโทน
ฟังก์ชันจาก *y* ∈ *Y* ไปยังพรีอิเมจ *f* −1 (*y*) ของมัน คือฟังก์ชันที่เรียกว่า ฟังก์ชันผกผัน ของ *f* เขียนแทนด้วย *f* −1

ตัวอย่างหนึ่งของฟังก์ชันผกผันสำหรับ *f* (*x*) = 2*x* คือ *f* −1 (*x*) = *x*/2
ฟังก์ชันผกผันคือฟังก์ชันที่ย้อนการกระทำของฟังก์ชันต้นแบบของมัน
ดู อิเมจผกผัน

บางครั้งฟังก์ชันผกผันก็หายากหรือไม่มี
พิจารณา {\displaystyle f(x)=x^{2}} ฟังก์ชัน {\displaystyle f(x)={\sqrt {x}}} ไม่ใช่ฟังก์ชันผกผันเมื่อโดเมนของ f คือ {\displaystyle \mathbb {R} }