В математике существует множество конструкций, которые были бы функторами, если бы не тот факт, что они «переворачивают морфизмы» и «обратят композицию». Затем мы определяем контравариантный функтор F из C в D как отображение, которое
связывает каждый объект в C с объектом в D ,
сопоставляет каждому морфизму в C морфизм в D такой, что выполняются следующие два условия:
для каждого объекта в C ,
для всех морфизмов и в C .
Обратите внимание, что контравариантные функторы меняют направление композиции.
Обычные функторы также называются ковариантными , чтобы отличить их от контравариантных. Обратите внимание, что контравариантный функтор можно также определить как ковариантный функтор противоположной категории . [4] Некоторые авторы предпочитают записывать все выражения ковариантно. То есть вместо того, чтобы сказать, что это контравариантный функтор, они просто пишут (или иногда ) и называют его функтором.
Контравариантные функторы также иногда называют кофункторами . [5]
Существует соглашение, которое называет «векторы» — т. е. векторные поля , элементы пространства сечений касательного расслоения — «контравариантными», а «ковекторы» — т. е. 1-формы — элементы пространства сечений касательного расслоения. кокасательное расслоение — как «ковариантное». Эта терминология возникла в физике, и ее обоснование связано с положением индексов («наверху» и «внизу») в таких выражениях , как for или for . В этом формализме замечено, что символ преобразования координат (представляющий матрицу ) на «ковекторные координаты» действует «так же», как и на базисные векторы: — тогда как на «векторные координаты» действует «противоположно» (но «так же», как на базисные ковекторы: ) . Эта терминология противоречит той, которая используется в теории категорий, поскольку именно ковекторы в целом имеют откат и, таким образом, являются контравариантными , тогда как векторы в целом являются ковариантными, поскольку их можно сдвигать вперед . См. также Ковариантность и контравариантность векторов .
Противоположный функтор
Каждый функтор порождает противоположный функтор , где и — категории , противоположные и . [6] По определению, отображает объекты и морфизмы так же, как и . Поскольку не совпадает с как категория и аналогично для отличается от . Например, при создании композиции с помощью , следует использовать либо , либо . Заметим, что, следуя свойству противоположной категории , .
Бифункторы и мультифункторы
Бифунктор (также известный как бинарный функтор ) — это функтор, областью определения которого является категория произведения . Например, функтор Hom имеет тип C op × C → Set . Его можно рассматривать как функтор с двумя аргументами. Функтор Hom является естественным примером; он контрвариантен в одном аргументе и ковариантен в другом.
Мультифунктор — это обобщение концепции функтора на n переменных. Так, например, бифунктор — это мультифунктор с n = 2 .
если f — изоморфизм в C , то F ( f ) — изоморфизм в D.
Можно составить функторы, т. е. если F — функтор из A в B , а G — функтор из B в C , то можно сформировать составной функтор G ∘ F из A в C. Композиция функторов ассоциативна там, где она определена. Тождественность композиции функторов есть тождественный функтор. Это показывает, что функторы можно рассматривать как морфизмы в категориях категорий, например в категории малых категорий .
Небольшая категория с одним объектом — это то же самое, что и моноид : морфизмы категории с одним объектом можно рассматривать как элементы моноида, а композицию в категории — как операцию моноида. Функторы между однообъектными категориями соответствуют моноидным гомоморфизмам . Таким образом, в некотором смысле функторы между произвольными категориями являются своего рода обобщением моноидных гомоморфизмов на категории с более чем одним объектом.
Для категорий C и J J - предпучок на C является контравариантным функтором .В особом случае, когда J — это Set , категория множеств и функций, D называется предпучком на C.
Предпучки (в топологическом пространстве)
Если X — топологическое пространство , то открытые множества в X образуют частично упорядоченное множество Open( X ) при включении. Как и любое частично упорядоченное множество, Open( X ) образует небольшую категорию, добавляя одну стрелку U → V тогда и только тогда, когда . Контравариантные функторы на Open( X ) называются предпучками на X . Например, присваивая каждому открытому множеству U ассоциативную алгебру вещественнозначных непрерывных функций на U , можно получить предпучок алгебр на X.
Постоянный функтор
Функтор C → D , который отображает каждый объект C в фиксированный объект X в D и каждый морфизм в C в тождественный морфизм на X . Такой функтор называется константой или функтором выбора .
Эндофунктор
Функтор, который сопоставляет категорию с той же самой категорией; например, полиномиальный функтор .
Функтор тождества
В категории C , записанной 1 C или id C , отображает объект в себя и морфизм в себя. Тождественный функтор является эндофунктором.
Диагональный функтор
Диагональный функтор определяется как функтор из D в категорию функторов D C , который отправляет каждый объект в D в постоянный функтор этого объекта.
Предельный функтор
Для категории J с фиксированным индексом , если каждый функтор J → C имеет предел (например, если C полно), то предельный функтор C J → C присваивает каждому функтору его предел. Существование этого функтора можно доказать, осознав, что он является правосопряженным к диагональному функтору , и применив теорему Фрейда о сопряженном функторе . Для этого требуется подходящая версия выбранной аксиомы . Аналогичные замечания применимы и к функтору копредела (который присваивает каждому функтору его копредел и является ковариантным).
Функтор степенных наборов
Функтор набора мощности P : Set → Set отображает каждый набор на его набор мощности и каждую функцию на карту, которая передает ее изображение . Можно также рассмотреть контравариантный функтор набора степеней , который отправляет на карту, которая отправляет ее обратное изображениеНапример, если тогда . Предположим и . Тогда это функция, которая отправляет любое подмножество в свое изображение , что в данном случае означает , где обозначает отображение под , поэтому это также можно записать как . Для других значений обратите внимание, что, следовательно, генерируется тривиальная топология на . Также обратите внимание, что хотя функция в этом примере отображается на набор степеней , в общем случае это не обязательно.
Двойное векторное пространство
Отображение, которое ставит в соответствие каждому векторному пространству свое двойственное пространство и каждому линейному отображению свое двойственное или транспонированное пространство, является контравариантным функтором из категории всех векторных пространств над фиксированным полем в себя.
Фундаментальная группа
Рассмотрим категорию точечных топологических пространств , т. е. топологических пространств с выделенными точками. Объекты представляют собой пары ( X , x0 ) , где X — топологическое пространство, а x0 — точка в X. Морфизм из ( X , x 0 ) в ( Y , y 0 ) задается непрерывным отображением f : X → Y с f ( x 0 ) = y 0 .Для каждого топологического пространства X с отмеченной точкой x0 можно определить фундаментальную группу , основанную в точке x0 , обозначаемую π1 ( X , x0 ) . Это группа гомотопических классов петель, основанных в точке x0 , с групповой операцией конкатенации. Если f : X → Y — морфизм точечных пространств , то каждая петля в X с базовой точкой x 0 может быть составлена с f , чтобы получить петлю в Y с базовой точкой y 0 . Эта операция совместима с отношением гомотопической эквивалентности и композицией петель, и мы получаем групповой гомоморфизм из π( X , x 0 ) в π( Y , y 0 ) . Таким образом, мы получаем функтор из категории точечных топологических пространств в категорию групп .В категории топологических пространств (без выделенной точки) рассматриваются гомотопические классы общих кривых, но они не могут быть составлены, если не имеют общей конечной точки. Таким образом , вместо фундаментальной группы имеется фундаментальный группоид , и эта конструкция является функториальной.
Алгебра непрерывных функций
Контравариантный функтор из категории топологических пространств (с непрерывными отображениями в качестве морфизмов) в категорию вещественных ассоциативных алгебр задается путем присвоения каждому топологическому пространству X алгебры C( X ) всех вещественнозначных непрерывных функций на этом пространстве. Каждое непрерывное отображение f : X → Y индуцирует гомоморфизм алгебр C( f ) : C( Y ) → C( X ) по правилу C( f )( φ ) = φ ∘ f для каждого φ в C( Y ).
Касательные и котангенсные расслоения
Отображение, которое переводит каждое дифференцируемое многообразие в его касательное расслоение и каждое гладкое отображение в его производную , является ковариантным функтором из категории дифференцируемых многообразий в категорию векторных расслоений .Выполнение этих конструкций поточечно дает касательное пространство , ковариантный функтор из категории заостренных дифференцируемых многообразий в категорию вещественных векторных пространств. Точно так же кокасательное пространство является контравариантным функтором, по сути являющимся композицией касательного пространства с двойственным пространством, указанным выше.
Групповые действия/представления
Каждую группу G можно рассматривать как категорию с единственным объектом, морфизмы которого являются элементами G . Тогда функтор из G в Set представляет собой не что иное , как групповое действие G на конкретном множестве, т. е. G -множестве. Аналогично , функтор из G в категорию векторных пространств Vect K является линейным представлением G. В общем, функтор G → C можно рассматривать как «действие» G на объект в категории C . Если C — группа, то это действие является гомоморфизмом группы.
Алгебры Ли
Сопоставляя каждой вещественной (комплексной) группе Ли ее вещественную (комплексную) алгебру Ли, мы определяем функтор.
Тензорные продукты
Если C обозначает категорию векторных пространств над фиксированным полем с линейными отображениями в качестве морфизмов, то тензорное произведение определяет функтор C × C → C , который является ковариантным по обоим аргументам. [7]
Забывчивые функторы
Функтор U : Grp → Set , который отображает группу в ее основной набор, а гомоморфизм группы в ее основную функцию множеств, является функтором. [8] Подобные функторы, которые «забывают» некоторую структуру, называются забывчивыми функторами . Другим примером является функтор Rng → Ab , который отображает кольцо в лежащую в его основе аддитивную абелеву группу . Морфизмы в Rng ( гомоморфизмы колец ) становятся морфизмами в Ab (гомоморфизмы абелевых групп).
Свободные функторы
В противоположном направлении от забывчивых функторов действуют свободные функторы. Свободный функтор F : Set → Grp отправляет каждое множество X в свободную группу , порожденную X. Функции отображаются в групповые гомоморфизмы между свободными группами. Для многих категорий существуют свободные конструкции, основанные на структурированных множествах. Посмотреть свободный объект .
Группы гомоморфизмов
Каждой паре абелевых групп A , B можно сопоставить абелеву группу Hom( A , B ) , состоящую из всех гомоморфизмов групп из A в B. Это функтор, контравариантный по первому и ковариантный по второму аргументу, т. е. функтор Ab op × Ab → Ab (где Ab обозначает категорию абелевых групп с групповыми гомоморфизмами). Если f : A 1 → A 2 и g : B 1 → B 2 являются морфизмами в Ab , то групповой гомоморфизм Hom( f , g ) : Hom( A 2 , B 1 ) → Hom( A 1 , B 2 ) есть φ ↦ г ∘ φ ∘ ж . _ См. функтор Hom .
Представимые функторы
Мы можем обобщить предыдущий пример на любую категорию C. Каждой паре X , Y объектов в C можно сопоставить множество Hom( X , Y ) морфизмов из X в Y. Это определяет функтор для Set , который контравариантен по первому аргументу и ковариантен по второму, т. е. это функтор C op × C → Set . Если f : X 1 → X 2 и g : Y 1 → Y 2 являются морфизмами в C , то отображение Hom( f , g ) : Hom( X 2 , Y 1 ) → Hom( X 1 , Y 2 ) задано φ ↦ г ∘ φ ∘ ж . _Подобные функторы называются представимыми функторами . Во многих случаях важной целью является определение того, представим ли данный функтор.
Связь с другими категориальными понятиями
Пусть C и D — категории. Совокупность всех функторов от C до D образует объекты категории: категория функторов . Морфизмы этой категории представляют собой естественные преобразования между функторами.
Функторы иногда появляются в функциональном программировании . Например, в языке программирования Haskell есть классFunctor где fmap— политипическая функция , используемая для отображения функций ( морфизмы в Hask , категории типов Haskell) [9] между существующими типами в функции между некоторыми новыми типами. [10]
^ Хазевинкель, Мишель ; Губарени Надежда Михайловна; Губарени, Надежда; Кириченко, Владимир В. (2004), Алгебры, кольца и модули , Springer, ISBN978-1-4020-2690-4
^ Джейкобсон (2009), с. 20, упр. 2.
^ Не совсем ясно, действительно ли типы данных Haskell образуют категорию. См. https://wiki.haskell.org/Hask для получения более подробной информации.
^ Дополнительную информацию см. https://wiki.haskell.org/Category_theory/Functor#Functors_in_Haskell.