# Fonksiyon
Fonksiyon, matematikte değişken sayıları girdi olarak kabul edip bunlardan bir çıktı sayısı oluşmasını sağlayan kurallardır. Fonksiyon, 17. yüzyılda matematiğin kavramlarından biri olmuştur. Fizik, mühendislik, mimarlık ve birçok alanda kullanılmaktadır. Galile, Kepler ve Newton hareketlerin araştırılmasında, zaman ve mesafe arasındaki durumu incelemek için fonksiyonlardan faydalanmıştır. Dört işlemden sonra gelen bir işlem türüdür.


## Matematiksel tanım.
Fonksiyonun matematiksel yani biçimsel ve kuramsal tanımı şu şekildedir:
A ve B iki küme olmak üzere ve F, A×B kartezyen çarpımının şu özelliğini sağlayan bir alt kümesi olmak üzere:
Her x∈A için, (x, y)∈F ilişkisini sağlayan 
bir tane y∈B elemanı vardır.
Bu durumda (A, B, F) üçlüsüne "fonksiyon" adı verilir. A, (A, B, F) fonksiyonunun tanım kümesidir, B ise varış (görüntü) kümesidir.
(A, B, F) fonksiyonuna f adı verilirse, verilen bir x∈A için B'nin (x,y)∈F ilişkisini sağlayan tek y elemanı f(x) olarak gösterilir. Kimi zaman f(x) yerine fx yazıldığı da olur. Yani her x∈X için (x, fx) ∈F olur. Ayrıca F kümesine f fonksiyonunun grafiği adı verilir.
Fonksiyonu matematiksel olarak tanımlamak için bir kural zorunluluğu yoktur. Ama F'nin bir küme olma zorunluluğu vardır.
Eğer A=∅ ise (A, B, F) üçlüsünün bir fonksiyon olabilmesi için F'nin boş küme olması gerektiği açıktır, bu durumda bu (∅, B, ∅) üçlüsü boş fonksiyondur. Çizgileri düşey doğruları hepsi grafiği yalnız bir noktada kestiği için f (x) fonksiyondur.


## Örnekler.
A ve B iki küme ise, A'nın her elemanını bir şekilde B'nin bir ve bir tek elemanıyla ilişkilendirilmiştir. Mesela A = ℝ (gerçel sayılar kümesi), B de -3'ten büyük gerçel sayılar kümesi olsun, yani B = (-3, ∞) olsun. İlişkilendirme de şöyle yapılmalı: A'nın her elemanını (yani her gerçel sayıyı), o elemanın karesiyle ilişkilendirilmiş olsun. Böylece ilişkilendirmeyi bir formülle tanımlamış olduk. Bu örnekteki ilişkilendirmeyi x ↦x^2 olarak yazarız, her sayı karesiyle ilişkilendirilmiştir, mesela -3 sayısı 9'la, √(2) sayısı 2'yle ilişkilendirilmiştir. İşte A'dan B'ye giden fonksiyon böyle bir şeydir. Fonksiyon f sembolüyle ifade edilir. Verilen örnek için f(x) = x^2 yazılır.
A yaşamış ya da şu anda yaşayan insanlar kümesi olsun. f fonksiyonu her insanı annesine götürsün. Matematiksel olmasa da bu, A'dan A'ya giden bir fonksiyondur, çünkü her insanın bir annesi vardır. Ama her insanı kardeşine götüren bir fonksiyon yoktur çünkü bazı insanların kardeşi olmadığı gibi bazı insanların birden çok kardeşi vardır. Öte yandan, her insanı en büyük kardeşine götüren kural, kardeşi olan insanlar kümesinden A kümesine giden bir fonksiyondur.
A'dan B'ye giden bir f:A⟶B fonksiyonu, A kümesinin her elemanını B'nin bir ve bir tek elemanına götüren/elemanıyla ilişkilendiren bir "kural"dır. (Burada biraz yalan var, ama pek önemli değil: Kuralın ne demek olduğunu söylemediğimiz gibi, bir fonksiyonun tanımlanması için herhangi bir kurala da aslında gerek yoktur! İleride, yazının sonunda, fonksiyonun gerçek matematiksel tanımını verdiğimizde bu pembe yalana ihtiyacımız kalmayacak.)
Özet olarak, verilmiş bir f:A⟶B fonksiyonu, A'nın her elemanını bir şekilde B'nin bir ve bir tek elemanına götürür/elemanıyla ilişkilendirir.
Yukarıdaki örnekte, kural, f(x) = x^2 olarak verilmiştir. Ama bir fonksiyon bir formül ya da bir kuraldan öte bir şeydir. Bir fonksiyon, sadece bir kural değildir; bir fonksiyonu tanımlamak için, kural dışında, bir de ayrıca A ve B kümeleri de gerekmektedir. Formül ya da kural aynı kalsa bile A ve B kümeleri değişirse fonksiyon da değişir. Yukarıdaki örnek üzerinden gidelim:
Yukarıda A = R ve B = (-3,∞) almış ve fonksiyonu f(x)=x^2 kuralıyla tanımlanmıştı. Şimdi A yerine A_1 = (-5, ∞) alırsak ve formülü ve B kümesini aynı tutarsak, o zaman elde edilen A_1 ⟶B fonksiyonunu gene f ile göstermek yanlış olur, çünkü bu iki fonksiyon değişik fonksiyonlardır. A_1'den B'ye giden ve kare alma kuralıyla tanımlanan fonksiyonu mesela g ile gösterilebilir.
Bunun gibi, B kümesi değişirse, o zaman fonksiyon da değişir; mesela B_1 = [0, ∞) ise, kare alma kuralı A'dan B_1'e giden bir fonksiyon tanımlar ve bu fonksiyon, yukarıdakilerle karışmasın diye, f ya da g ile değil, bir başka sembolle, mesela h ile gösterilir.
Aynı şekilde A_1'den B_1'e giden bir fonksiyon, f, g ya da h ile değil, mesela k ile gösterilmelidir.
Yukarıda koyu renkle yazılı kelimeler şu nedenle önemlidir: Bir f:A⟶B fonksiyonu, A kümesinin her elemanını B'nin bir elemanına götürür, yani A'nın bazı elemanlarını unutmuş olamaz. Mesela, karekök alma kuralı, gerçel sayılar kümesi ℝ'den ℝ'ye giden bir fonksiyon tanımlamaz, çünkü negatif sayıların gerçel sayılarda karekökü yoktur. Ya da A=B=ℕ (doğal sayılar kümesi) ise, f(x) = x-1 kuralı, A'dan B'ye giden bir fonksiyon tanımlamaz çünkü f(0)=-1'dir ve 0 ∈A olmasına karşın -1 sayısı B'de değildir. Öte yandan bu f(x) = x-1 kuralı, ℕ'den tam sayılar kümesi ℤ'ye giden bir fonksiyon tanımlar.
İkinci koyu renkli kısmın önemi ise şu şekildedir: Bir f:A⟶B fonksiyonu, A'nın her elemanını B'nin bir ve bir tek elemanına götürür, yani A'nın aynı elemanı B'nin iki ayrı elemanına gidemez. (Yukarıda verilen kardeş misali hatırlanmalı.) Mesela A = B =ℝ ise, A'nin bir x elemanını x^2 = y^2 denkleminin y çözümlerine götüremez, çünkü eğer x = 0 değilse, bu denklemin R'de iki değişik y çözümü vardır, nitekim x^2 = y^2 denkleminin çözümleri y=x ve y=-x'tir. Burada, y'nin x'e mi yoksa -x'e mi gideceği belirtilmemiştir ve bu, bir fonksiyon yaratmada sorun teşkil eder. Bir f:A⟶B fonksiyonunda, A'nın her elemanını B'nin bir ve bir tek elemanına gitmelidir, iki ya da daha fazla elemana gidemez. (Birkaç yüzyıl önce bu tür fonksiyonlar kabul ediliyordu ama bugün bunlara fonksiyon denmiyor.)


## Tanım kümesi ve değer kümesi.
Bir f:A⟶B fonksiyonunda, A'ya tanım kümesi ya da kalkış kümesi denir. B'ye de değer kümesi ya da varış kümesi denir.


## Görüntü.
Eğer x∈A ise f(x)'e x'in f altında görüntüsü adı verilir. B'nin
altkümesi f(A) olarak gösterilir ve bu kümeye f'nin görüntü kümesi adı verilir. (Kimi f(A) yerine B'ye görüntü kümesi demeyi yeğliyor ama her zaman görüntü kümesi değer kümesine eşit olmak zorunda değildir.)
Mesela f(x) = x^2 kuralıyla tanımlanan f: (-3,5) ⟶ R fonksiyonunun görüntü kümesi [0, 25) aralığıdır.


## Fonksiyon eşitliği.
f ve g fonksiyonlarının birbirine eşit olması için, 1) tanım kümelerinin eşit olması, 2) değer kümelerinin eşit olması ve 3) tanım kümesindeki her x için f(x)=g(x) olması gerekmektedir. Bu üç şarttan biri eksikse fonksiyonlar eşit olmaz. (Genellikle liselerde sadece üçüncü şart üzerinde durulur.) Gene de eşitlikte en önemli şart (3) şartıdır. Ardından (1) şartı gelir. (2) şartının gözden kaçtığı olur.


## Durağan (sabit) fonksiyonlar.
A ve B iki küme olsun ve b∈B olsun. A'nın her elemanını B'nin bu b elemanına götüren fonksiyona sabit fonksiyon adı verilir. b değerini alan sabit fonksiyonu c_b olarak gösterirsek, o zaman c_b lt;zvxcvcxvcxvcxvcvxcbcv
 A ⟶B fonksiyonu, her x∈A için c_b(x) = b kuralıyla tanımlanır. Not: A ve B kümelerinin önemini ortaya çıkarmak istiyorsak, c_b yerine c_b,A,B yazmak gerekebilir. Bu fonksiyona "sabit b fonksiyonu" adı verilir.
Bileşke mümkün olduğunda c_b∘f = c_b'dir. Ama f∘c_b=c_f(c)'dir.
Eğer A ya da B'nin tek bir elemanı varsa, o zaman A'dan B'ye giden her fonksiyon sabit olmak zorundadır.


## Boş fonksiyon.
Eğer A≠∅ ve B=∅ ise, A⟶B'ye giden bir fonksiyon yoktur.
Eğer A=∅ ise, B hangi küme olursa olsun, A'dan B'ye giden bir ve tek fonksiyon vardır: boş fonksiyon. Pek de önemli olmayan bu olgu, birazdan, fonksiyonun matematiksel tanımı verdiğimizde bariz olacak.


## Özdeşlik fonksiyonu.
Eğer A bir kümeyse, her x∈A için Id_A(x)=x kuralıyla tanımlanan Id_A:A⟶A fonksiyonuna A'nın özdeşlik fonksiyonu adı verilir. Özdeşlik fonksiyonu bileşkenin sağdan ve soldan etkisiz elemanıdır.


## Bir fonksiyonun kısıtlanışı.
Eğer f:A⟶B bir fonksiyonsa ve A_1 ⊆A, A'nın bir altkümesiyse, o zaman f fonksiyonunu A_1 altkümesine kısıtlayabiliriz, yani f'nin sadece A_1 kümesinin elemanlarında alacağı değerlerle ilgilenilebilir. Bu yeni fonksiyon
f_|A_1:A_1⟶B
olarak yazılır ve bu fonksiyona f'nin A_1'e kısıtlanmışı adı verilir. Elbette eğer A_2⊆A_1⊆A ise (f_|A_1)_|A_2=f_|A_2 eşitliği geçerlidir.


## Varış kümesini değiştirmek.
Bir fonksiyonun varış kümesini de değiştirilebilir: f:A⟶B bir fonksiyon olsun. B_1, f'nin görüntü kümesi f(A)'yı altküme olarak içeren herhangi bir küme olsun. O zaman A tanım kümesini ve f kuralını değiştirmeden yeni bir g:A⟶B_1 fonksiyonu elde edilebilir. Bu fonksiyon - daha önceki paragraftaki gibi - özel bir sembolle gösterilmez.


## Fonksiyonların yapıştırılması ya da birleşimi.
f:A ⟶V ve g:B ⟶V iki fonksiyon olsun. A üzerinde f olan, B üzerinde g olan ve A∪B'den V'ye giden bir f∪g fonksiyonu tanımlamak istiyoruz. Eğer x∈A∖B ise (f∪g)(x)=f(x) olmalı. Eğer x∈B∖A ise (f∪g)(x)=g(x) olmalı. Ama x∈A∩B olduğunda, (f∪g)(x) için f(x) ya da g(x) arasında bir seçim yapmalıyız, özellikle eğer f(x)≠g(x) ise... Bu durumda hangi seçimi yapılırsa yapılsın istediğimiz iki şarttan birini çiğnemek zorunda kalacağız. Ama diyelim ki, her x∈A∩B için f(x)=g(x), yani f ve g fonksiyonları A∩B kesişiminde aldıkları değer aynı, bir başka deyişle f_|A∩B=g_|A∩B. O zaman f∪g:A∪B ⟶V fonksiyonunu herhangi bir seçime gerek kalmadan şöyle tanimlayabiliriz:
(f∪g)(x)=f(x) eğer x∈A ise
(f∪g)(x)=g(x) eğer x∈B ise.
Bu fonksiyona f ve g fonksiyonlarının birleşimi ya da yapıştırılması adı verilir ve yukarıda gösterildiği gibi bu fonksiyon f∪g olarak yazılır.
Mesela f: [0, ∞)⟶ℝ fonksiyonu f(x)=x olarak tanımlanmışsa ve g: (∞, 0]⟶ℝ fonksiyonu g(x)=-x olarak tanımlanmışsa, o zaman f∪g: A∪B ⟶ℝ fonksiyonu aynen mutlak değer fonksiyonudur: (f∪g)(x)=|x|.
Elbette (f∪g)_|A = f ve (f∪g)_|B = g.
Gene doğal olarak f∪g diye bir fonksiyon varsa g∪f diye bir fonksiyon de vardır ve bu iki fonksiyon birbirine eşittir.
Yukarıdaki yapıştırmayı yapabilmemiz için f ve g fonksiyonlarının varış kümeleri aynı olmak zorunda değildi. Nitekim, eğer f:A ⟶U ve g:B ⟶V iki fonksiyon ise ve bu fonksiyonların A∩B kümesinde aldıkları değer eşitse, o zaman A üzerinde f olan, B üzerinde g olan bir f∪g: A∪B ⟶U ∪V fonksiyonunu gene tanımlayabiliriz.
İkiden çok, hatta sonsuz tane fonksiyonu da yapıştırabiliriz eğer gerekli şartlar sağlanıyorsa: (f_i : A_i ⟶V_i)_i∈I bir fonksiyon ailesi olsun. Ayrıca her i, j∈I göstergeçleri (endisleri) için f_i ve f_j fonksiyonlarının A_i ∩A_j kesişiminde aldıkları değerler eşit olsun. O zaman her i∈I ve her x∈A_i için (∪_i∈I f_i)(x)=f_i(x) eşitliğini sağlayan bir ∪_i∈I f_i ⟶∪_i∈I V_i fonksiyonu,
"eğer x∈X_i ise (∪_i∈I f_i)(x)=f_i(x)"
kuralıyla tanımlanabilir. Bu tür yapıştırmalar topolojide ve analizde sık sık kullanılır.
Bir fonksiyonun altkümeler kümesinde neden olduğu fonksiyon. f: A ⟶B bir fonksiyon olsun. A'nın her X altkümesi için, B'nin f(X) altkümesi şöyle tanımlanır:
f(X) = {f(x) : x ∈X}.
Bu f(X) yazılımı ender de olsa soruna yol açabilir, çünkü A'nın X altkümesi bal gibi de aynı zamanda A'nın bir elemanı olabilir, o zaman f(X) ifadesinin f:A⟶B fonksiyonunun X'te aldığı değer mi olduğu, yoksa yukarıdaki gibi B' nin altkümesi olarak mı tanımlandığı anlaşılamaz. Mesela, A={0, {0}} olsun. B = {5, 6} olsun. f: A ⟶B fonksiyonu, f(0) = 5, f({0}) = 6 olarak tanımlansın. Ve son olarak X={0} olsun. X, hem A'nın bir elemanı hem de bir alt kümesidir. X eleman olarak görüldüğünde f(X)=6 olur ama altküme olarak görüldüğünde f(X)={5} olur. Belki bu yüzden
tanımı yerine,
tanımını yapmak daha yerinde olur.
Eğer P(X), X'in alt kümeleri kümesiyse, yukarıdaki f̃ kuralı, P(X)'ten P(Y)'ye giden bir fonksiyon tanımlar. Bu f̃ fonksiyonu altküme olma ilişkisine saygı duyar.


## Alakalı maddeler.
  - Bileşke fonksiyon
  - Birebir fonksiyon
  - Eşleme
  - Eşleşme
  - Örten fonksiyon
  - Seçim fonksiyonu


## Gönderme örnekleri.
  - Doğal sayılarda bir sayının ardılı bir göndermedir.
g:ℕ →ℕ, A(x)=x+1
  - İki değişkenli göndermeler de vardır.
h:ℝ ×ℝ →ℝ, h(x,y)=x^2-y^2
  - Verilen sıraya karşılık gelen çift sayıyı söyleyen bağıntı bir göndermedir: "f(n)=2n".
  - Bir küme üzerinde tanımlı bir ikili işlem, göndermedir: "f(x,y)=x+y".
  - Diziler birer göndermedir.
f:ℝ ×ℝ →ℂ için f(x,y)=x+𝐢y yani ℂ ≡ℝ ×ℝ


## Tanım.
A'dan B'ye tanımlı bir gönderme (f), (A, B, F) şeklinde gösterilebilen bir üçlüdür. Burada F, aşağıdaki özelliklere sahip sıralı ikili kümesidir.
 F ⊆A ×B 
 ∀a,b,c   ((a,b) ∈F ∧(a,c) ∈F) ⇒(b = c) 
Başka bir deyişle, bir bağıntının gönderme olabilmesi için, A kümesindeki herhangi bir ögenin B kümesinden en fazla bir ögeyle eşleşmesi gerekmektedir.
Gönderme, daha soyut matematiksel anlamda bir kümedir ve tanımı şu şekildedir:
f:A →B göndermesi için,
f= { (x,y) | ∀x ∈A ∧∃! y ∈B } 
buradaki ∃! sembolü "y" nin biricik olduğunu ifade eder.
Yukarıdaki resmi tanımlama, her zaman kullanışlı olmadığından genelde göndermeler farklı tanımlanır.
En yaygın tanımlama biçimi, örneklerde görüldüğü gibi sağ tarafı girdilere (parametrelere) dayalı formül, sol tarafı göndermenin ve bağımsız girdilerin belirtildiği bir eşitliktir.
Göndermeler aşağıda örnekte görüldüğü gibi parçalı şekilde de tanımlanabilir.
mutlak(x)=
 -x amp; x lt; 0 
  x amp; x ≥0 
Tümevarımla yakın ilişkisi olan ilginç bir tanımlama biçimi de yinelgedir. Mesela Fibonacci Serisi'nin üretici göndermesi şu şekilde tanımlanabilir.
f(n)=
 n amp; 0 ≤n ≤1 
f(n-1)+f(n-2) amp; n gt; 1. 
Böylece ℕ'den ℕ'ye giden bir n↦f_n fonksiyonu tanımlanır.


## Göndermelerin kümesel özellikleri.
 f:A →B şeklinde tanımlı bir gönderme,
  - Birebir ise, A kümesinde tanımlı olduğu her değeri B kümesinden ayrı bir ögeye eşler. Matematiksel olarak  her x1, x2 €A için f(x1)=f(x2) => x1=x2
  - İçine ise B kümesinde, eşlenmemiş en az bir değer vardır.
  - Örten ise A kümesindeki bütün ögeler için tanımlıdır.
Matematiksel olarak; her y € B için en az bir x€A vardır öyle ki; f(x)=y'dir.


## Bilgisayar bilimi ve göndermeler.
Bilgisayarda göndermelere Türkçede genellikle fonksiyon adı verilir.
  - Bilgisayar biliminde hesaplanabilir fonksiyonlar, birbirine eşdeğer olan Church ve Turing Tezleri ile incelenir.
  - Girdisi ve çıktısı mantıksal (ikili ya da Boolean) olan fonksiyonlar, BDD'ler yardımıyla gösterilebilir.