# Kategori teorisi
Kategori teorisi ya da Ulam kuramı, matematiksel yapılar ve bunlar arasındaki ilişkilerle soyut olarak ilgilenen bir matematik kuramıdır. Kategori kuramı, öğelere (nesnelere) yoğunlaşan küme kuramının aksine, nesneler arası ilişkilere (morfizmlere) odaklanır.


## Tarihi.
Bir kategori birbirileriyle ilişkili matematiksel nesneler sınıfının (örneğin grupların) özünü yakalamaya çalışır. Geleneksel olarak yapıldığı gibi tekil nesneler (gruplar) üzerine yoğunlaşmak yerine, bu nesneler arasındaki yapı muhafaza edici gönderimler (yani morfizmler) üzerine yoğunlaşır. Gruplar örneğinde bu gönderimler grup homomorfizmleridir. Bu şekilde farklı kategorileri funktorlar aracılığıyla ilişkilendirmek mümkündür. Funktorlar, bir kategorinin her nesnesini diğer kategorinin bir nesnesiyle ve bir kategorideki morfizmi diğerindeki bir morfizme ilişkilendiren fonksiyonların bir genelleştirmesidir. Sıkça topolojik uzayın temel grubu gibi "doğal yapılar" funktorlar şeklinde ifade edilebilir. Bunun ötesinde, bu tip yapılar "doğal bir bağıntıya" sahiptir ve bir funktoru diğerine ilişkilendirme yolu olan doğal transformasyon konseptine olanak tanır.
Kategoriler, funktorlar ve doğal transformasyonlar Samuel Eilenberg ve Saunders MacLane tarafından 1945 yılında ortaya atılmıştır. Başlangıçta bu nosyonlar, topolojide, özellikle cebirsel topolojide, geometrik ve sezgisel bir kavram olan homolojiden aksiyomatik bir yaklaşım olan homoloji teorisine geçişte önemli bir bölümdür.
Başkalarının yanı sıra Ulam tarafından (ya da kendisine atfen), benzer düşüncelerin 1930'ların sonunda Polonya okulunda ortaya çıktığı iddia edilmiştir.
Eilenberg/MacLane, kendi ifadelerine göre, bu kuramı geliştirirken doğal transformasyonları anlama çabasındaydılar. Bunu yapabilmek için funktorlar tanımlamak, funktorları tanımlamak için ise kategoriler tanımlamak gerekiyordu.
Günümüzde bu kuram, matematiğin tüm alanlarında uygulanmaktadır.


## Kategoriler, nesneler ve morfizmler.
### Kategoriler.
Bir "kategori" "C" aşağıdaki üç matematiksel durumu oluşturur:
  - Bir sınıf ob("C"), böyle ögelere "nesneler" denir 
  - Bir sınıf hom("C"), böyle ögelere biçimler veya göndermeler veya "oklar" denir. Her biçim f bir "kaynak nesne a ve "hedef nesne b var. "f" : "a" → "b" ifadesi, sözlü olarak ifadesi ""f" "a'"dan "b'"ye bir biçimdir".hom("a", "b") ifadesi - alternatif ifade olarak hom"C"("a", "b"), mor("a", "b") veya "C"("a", "b") - "a" dan "b"ye tüm biçimlerin "hom-sınıf" ifadesidir.
  - Bir ikili işlem ∘, "biçimlerin kompozisyonu" denir, böylece "a", "b" ve "c" herhangi üç nesne için, elimizde hom("b", "c") × hom("a", "b") → hom("a", "c") var."f" : "a" → "b" nin kompozisyonu ve "g" : "b" → "c" "g" ∘ "f" veya "gf" olarak yazılır, aksiyom ile yönetilir:
   - Birleşimlilik: Eğer "f" : "a" → "b", "g" : "b" → "c" ve "h" : "c" → "d" ise "h" ∘ ("g" ∘ "f") = ("h" ∘ "g") ∘ "f" ve
   - Özdeşlik: "x" nesnesi için, burada bir morfizm 1"x" : "x" → "x" var. x için "özdeş morfizm " denir, böylece her "f" : "a" → "b" morfizm için, elimizde 1"b" ∘ "f" = "f" = "f" ∘ 1"a" var.
aksiyomlardan,buna burada her nesne için tam bir özdeş morfizm sağlanabilir. Bazı yazarlar sadece kendi özdeş morfizmalarını tanımlayarak verilen tanımından sapabilir.


### Morfizmler.
morfizmler boyunca ilişkiler ("fg" = "h" gibi) değişmeli diyagramlar ile "noktalar" (köşeler) gösterimsel nesneler ve "oklar" gösterimsel biçimler sık sık kullanılarak gösterilmiştir.
Morfizmler için aşağıdaki özelliklerin herhangisi olabilir. Bir morfizm "f" : "a" → "b" bir:
  - monomorfizm (veya "monik") eğer "f" ∘ "g"1 = "f" ∘ "g"2 vurgusu "g"1 = "g"2 tüm "g"1, "g2" : "x" → "a" morfizmler için.
  - epimorfizm (veya "epik") eğer "g"1 ∘ "f" = "g"2 ∘ "f" vurgusu "g1" = "g2" tüm "g1", "g2" : "b" → "x" morfizmler için.
  - "bimorfizm" eğer "f" hem epik ve hem de moniktir.
  - izomorfizm eğer burada bir morfizm "g" : "b" → "a" var böylece "f" ∘ "g" = 1"b" ve "g" ∘ "f" = 1"a".
  - endomorfizm eğer "a" = "b". ise end("a") "a"nın endomorfizminin sınıfını ifade eder.
  - otomorfizm eğer "f" hem bir endomorfizm ve hem de bir izomorfizmdir. aut("a") "a"nın otomorfizmlerinin sınıfını ifade eder.
  - çekilme eğer "f"nin bir sağ tersi var, yani eğer burada bir morfizm "g" : "b" → "a" ile "f" ∘ "g" = 1"b" varsa.
  - kesit eğer "f" in bir sol tersi var, yani eğer burada bir morfizm "g" : "b" → "a" ile "g" ∘ "f" = 1"a" varsa.
Her çekilme bir epimorfizmdir ve her kesit bir monomorfizmdir. Dahası, aşağıdaki üç durumun eşdeğeridir:
  - "f" bir monomorfizm ve bir çekilmedir 
  - "f" bir epimorfizm ve bir kesittir 
  - "f" bir izomorfizmdir.