В математике существует множество конструкций, которые были бы функторами, если бы не тот факт, что они «переворачивают морфизмы» и «обратную композицию». Затем мы определяем контравариантный функтор F из C в D как отображение, которое
связывает каждый объект в C с объектом в D ,
связывает каждый морфизм в C с морфизмом в D таким образом, что выполняются следующие два условия:
для каждого объекта в C ,
для всех морфизмов и в C.
Дисперсия функтора (композитная) [4]
Композиция двух функторов одинаковой дисперсии:
Композиция двух функторов с противоположной дисперсией:
Обратите внимание, что контравариантные функторы меняют направление композиции на противоположное.
Обычные функторы также называются ковариантными функторами , чтобы отличать их от контравариантных. Обратите внимание, что контравариантный функтор можно также определить как ковариантный функтор на противоположной категории . [5] Некоторые авторы предпочитают записывать все выражения ковариантно. То есть, вместо того, чтобы говорить является контравариантным функтором, они просто пишут (или иногда ) и называют его функтором.
Контравариантные функторы также иногда называют кофункторами . [6]
Существует соглашение, которое ссылается на «векторы» — т. е. векторные поля , элементы пространства сечений касательного расслоения — как на «контравариантные», а на «ковекторы» — т. е. 1-формы , элементы пространства сечений кокасательного расслоения — как на «ковариантные». Эта терминология берет свое начало в физике, и ее обоснование связано с положением индексов («вверху» и «внизу») в выражениях, таких как для или для В этом формализме наблюдается, что символ преобразования координат (представляющий матрицу ) действует на «координаты ковектора» «таким же образом», как на базисные векторы: — тогда как на «координаты вектора» он действует «обратным образом» (но «таким же образом», как на базисные ковекторы: ). Эта терминология противоречит той, которая используется в теории категорий, поскольку именно ковекторы имеют обратные пути в общем случае и, таким образом, контравариантны , тогда как векторы в общем случае ковариантны, поскольку их можно продвинуть вперед . См. также Ковариантность и контравариантность векторов .
Противоположный функтор
Каждый функтор индуцирует противоположный функтор , где и являются противоположными категориями к и . [7] По определению, отображает объекты и морфизмы таким же образом, как и . Поскольку не совпадает с как категория, и аналогично для , отличается от . Например, при композиции с следует использовать либо , либо . Обратите внимание, что, следуя свойству противоположной категории , .
Бифункторы и мультифункторы
Бифунктор (также известный как бинарный функтор ) — это функтор, областью определения которого является категория произведения . Например, функтор Hom имеет тип C op × C → Set . Его можно рассматривать как функтор от двух аргументов; он контравариантен в одном аргументе и ковариантен в другом.
Мультифунктор — это обобщение концепции функтора на 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 алгебры 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 , который ковариантен по обоим аргументам. [8]
Забывчивые функторы
Функтор U : Grp → Set , который отображает группу в ее базовое множество, а гомоморфизм группы в ее базовую функцию множеств, является функтором. [9] Такие функторы, которые «забывают» некоторую структуру, называются забывающими функторами . Другим примером является функтор 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 ) задается формулой φ ↦ g ∘ φ ∘ f . См. Hom functor .
Представимые функторы
Мы можем обобщить предыдущий пример на любую категорию 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 ) задается как φ ↦ g ∘ φ ∘ f .Такие функторы называются представимыми функторами . Важной целью во многих ситуациях является определение того, представим ли данный функтор.
Связь с другими категориальными понятиями
Пусть C и D — категории. Совокупность всех функторов от C до D образует объекты категории: категорию функторов . Морфизмы в этой категории — это естественные преобразования между функторами.
Функторы иногда появляются в функциональном программировании . Например, язык программирования Haskell имеет классFunctor , где fmap— политипная функция, используемая для отображения функций ( морфизмов на Hask , категории типов Haskell) [10] между существующими типами в функции между некоторыми новыми типами. [11]
^ Хазевинкель, Мишель ; Губарени Надежда Михайловна; Губарени, Надежда; Кириченко, Владимир В. (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.
Симмонс, Гарольд (2011), «Функторы и естественные преобразования», Введение в теорию категорий, стр. 72–107 , doi :10.1017/CBO9780511863226.004, ISBN978-1-107-01087-1
Внешние ссылки
Найдите слово «функтор» в Викисловаре, бесплатном словаре.