В теории категорий есте́ственное преобразова́ние предоставляет способ перевести один функтор в другой, сохраняя внутреннюю структуру (например, композиции морфизмов). Поэтому естественное преобразование можно понимать как «морфизм функторов». Эта интуиция может быть строго формализована в определении категории функторов. Естественные преобразования — наиболее базовое определение в теории категорий наряду с функторами, потому что оно появляется в большинстве её приложений.
Определение
Пусть и — ковариантные функторы из категории в . Тогда естественное преобразование из в сопоставляет каждому объекту категории морфизм в категории , называемый компонентой в , так, что для любого морфизма диаграмма, изображённая на рисунке ниже, коммутативна. В случае контравариантных функторов и определение совершенно аналогично (необходимо только обратить горизонтальные стрелки, учитывая, что их обращает контравариантный морфизм).
Если η — естественное преобразование функтора F в функтор G, мы пишем η : F → G. Также об этом говорят, что семейство морфизмов ηX : F(X) → G(X) естественно по X.
Если для каждого X в C морфизм ηX является изоморфизмом в D, то η называют естественным изоморфизмом (или, иногда, естественной эквивалентностью или изоморфизмом функторов).
Инфраестественное преобразование η из F в G — это просто семейство морфизмов ηX: F(X) → G(X). Натурализатор η, nat(η), — это самая большая подкатегория C, содержащая те объекты C, в ограничении на которые η является естественным преобразованием.
Если η : F → G и ε : G → H — естественные преобразования, мы можем взять их композицию и получить естественное преобразование εη : F → H. Это делается покомпонентно: (εη)X = εXηX. Эта операция ассоциативна и имеет единицу, что позволяет образовать категорию функторов.
Примеры
Пример естественного преобразования
Примером естественного преобразования может служить определитель. В самом деле пусть — коммутативное кольцо, тогда квадратные матрицы порядка над образуют моноид по умножению, а — мультипликативный моноид самого кольца . Пусть будет функтором, переводящим кольцо в моноид матриц над ним. Поскольку определитель выражается через умножение, сложение и вычитание, которые сохраняются морфизмами кольца (что означает перестановочность морфизма и этих операций), отображение будет естественным преобразованием между функтором и функтором, тождественно сопоставляющим каждому кольцу его мультипликативный моноид (оба функтора из категории коммутативных колец в категорию моноидов ).
Пример «неестественного» преобразования
Приведём пример преобразования, не являющегося естественным. Пусть — n-мерное векторное пространство над полем . — его базис, — базис сопряжённого пространства функционалов , такой что
где — символ Кронекера. Все n-мерные пространства изоморфны. Положим
и распространим линейно на всё пространство . отображает тождественный (очевидно ковариантный) функтор в контравариантный функтор , отображающий векторное пространство в сопряжённое пространство функционалов. Если мы возьмём категорию конечномерных векторных пространств, где морфизмами будут изоморфизмы (а не любые линейные отображения), то можно заменить контравариантный функтор ковариантным функтором (где , ). Преобразование не будет естественным даже в простейшем случае одномерного пространства над полем действительных чисел. В самом деле, пусть V одномерно и изоморфизм является умножением на 2:
Тогда , в то время как , то есть диаграмма некоммутативна.
Причина этого совершенно ясна — определяется совершенно случайно выбранным базисом. Если мы возьмём второе сопряжённое пространство , то в случае конечномерного пространства существует изоморфизм
(а именно для любого и функционала ). В данном случае изоморфизм определяет естественное преобразование тождественного функтора в функтор .
Полиморфные функции
Другой важнейший пример естественных преобразований — полиморфные функции (имеется в виду параметрический полиморфизм). Примером такого преобразования является функция reverse :: forall a . [a] -> [a], переворачивающая список элементов произвольного типа. В данном случае h(T) — это reverseT :: [T] -> [T]; а функторы F и G — это List.
Сформулировать этот факт можно так: forall f :: a -> b : map f . reversea = reverseb . map f.
Это — одна из так называемых «бесплатных теорем».
Естественность всех параметрически полиморфных функций — это следствие теоремы Рейнольдса.
Литература
- Дольд А. Лекции по алгебраической топологии — М.: Мир, 1976.
- Маклейн С. Гомология — М.: Мир, 1966.
- Маклейн С. Категории для работающего математика — М.: Физматлит, 2004.
- Wadler, Philip — Theorems for free!