Transformare naturală

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită la 8 martie 2020; verificarea necesită 1 editare .

În teoria categoriilor, o transformare naturală oferă o modalitate de a traduce un functor în altul, păstrând în același timp structura internă (cum ar fi compozițiile morfismelor). Prin urmare, o transformare naturală poate fi înțeleasă ca un „morfism al functorilor”. Această intuiţie poate fi formalizată riguros în definiţia categoriei de functori . Transformările naturale sunt definiția cea mai de bază în teoria categoriilor, alături de functorii, deoarece apare în majoritatea aplicațiilor sale.

Definiție

Fie și să fie functori  covarianți din categoria la . Apoi transformarea naturală atribuie fiecărui obiect al categoriei un morfism din categoria numită componentă în , astfel încât pentru orice morfism diagrama prezentată în figura de mai jos este comutativă. În cazul functorilor contravarianți , definiția este exact aceeași (nu trebuie decât să inversăm săgețile orizontale, având în vedere că acestea sunt inversate de morfismul contravariant).

Dacă η este o transformare naturală a unui functor F într-un functor G , scriem η : F → G . Se mai spune că familia de morfisme η X  : F ( X ) → G ( X ) este naturală în X.

Dacă pentru fiecare X din C morfismul η al lui X este un izomorfism în D , atunci η se numește izomorfism natural (sau, uneori, o echivalență naturală sau izomorfism functor ).

O transformare infranaturală η de la F la G  este pur și simplu o familie de morfisme η X : F ( X ) → G ( X ). Naturalizatorul lui η, nat(η), este cea mai mare subcategorie a lui C , conținând acele obiecte din C , în restricția la care η este o transformare naturală.

Dacă η : F → G și ε : G → H  sunt transformări naturale, putem lua compoziția lor și obținem o transformare naturală εη : F → H . Aceasta se face component cu component: (εη) X = ε X η X . Această operație este asociativă și are o unitate, ceea ce face posibilă formarea categoriei de functori .

Exemple

Un exemplu de transformare naturală

Un exemplu de transformare naturală este determinantul . Într-adevăr, să fie un inel  comutativ , apoi matrice pătrate de ordin peste formează un monoid în raport cu înmulțirea și  să fie un monoid multiplicativ al inelului însuși . Fie un functor care ia un inel într-un monoid de matrice peste el. Întrucât determinantul este exprimat în termeni de înmulțire, adunare și scădere, care sunt păstrate de morfismele inelului (ceea ce înseamnă că morfismul și aceste operații comută), maparea va fi o transformare naturală între un functor și un functor, atribuind fiecare inel identic monoidul său multiplicativ (ambele functori din categoria inelelor comutative până la categoria monoizilor ).

Un exemplu de transformare „nenaturală”

Să dăm un exemplu de transformare care nu este firească. Fie  un spațiu vectorial n - dimensional peste câmp .  este baza sa,  este baza spațiului dual al funcționalelor , astfel încât

unde  este simbolul Kronecker . Toate spațiile n -dimensionale sunt izomorfe. Sa punem

și se extind liniar pe întreg spațiul . mapează functorul identic (evident covariant) la un functor contravariant care mapează spațiul vectorial la spațiul dual al funcționalelor. Dacă luăm categoria de spații vectoriale cu dimensiuni finite, unde morfismele sunt izomorfisme (și nu orice mapări liniare), atunci putem înlocui functorul contravariant cu un functor covariant (unde , ). Transformarea nu va fi firească nici în cel mai simplu caz al unui spațiu unidimensional peste câmpul numerelor reale. Într-adevăr, fie V unidimensional și izomorfismul o înmulțire cu 2:

Atunci , în timp ce , adică, diagrama este necomutativă.

Motivul pentru aceasta este destul de clar - este determinat de o bază aleasă complet aleatoriu. Dacă luăm al doilea spațiu dual , atunci în cazul unui spațiu finit-dimensional există un izomorfism (și anume, pentru orice și funcțional ). În acest caz, izomorfismul definește o transformare naturală a functorului de identitate într-un functor .

Funcții polimorfe

Un alt exemplu important de transformări naturale sunt funcțiile polimorfe (adică polimorfismul parametric ). Un exemplu de astfel de conversie este inversul :: pentru toată o funcție. [a] -> [a] , care inversează o listă de elemente de tip arbitrar. În acest caz h(T) este invers T  :: [T] -> [T]; iar functorii F și G sunt Listă.

Acest fapt poate fi formulat astfel: forall f :: a -> b : harta f . reversul a = inversul b . harta f . Aceasta este una dintre așa-numitele „teoreme libere”.

Naturalitatea tuturor funcțiilor polimorfe parametric este o consecință a teoremei Reynolds .

Literatură