函子

数学,特别是类别理论中,函子类别之间的映射。首先在代数拓扑中考虑函子,其中代数对象(例如基本组)与拓扑空间相关联,这些代数对象之间的地图与空间之间的连续图相关联。如今,函数在整个现代数学中都被用于关联各种类别。因此,在数学中的所有领域中,函子都非常重要。

类别函子的单词分别是由哲学家亚里士多德鲁道夫·卡纳普(Rudolf Carnap)借来的。后者在语言背景下使用的函子;请参阅功能词

定义

具有对象x,y,z和形态的类别f,g,g∘f
函子必须保留形态的组成和

CD类别。从CD的函子F是一个映射

  • 将C中的每个对象与D中的对象相关联
  • 在c中的每种形态与d的形态相关,以使以下两个条件成立:
    • 对于C中的每个对象,
    • 对于所有的形态和C.

也就是说,函子必须保留形态的认同态度组成

协方差和违反

数学中有许多构造将是函子,但事实上它们“绕着形态化”和“反向组成”。然后我们将违反函数CD定义为映射

  • 将C中的每个对象与D中的对象相关联
  • 在c中的每个形态与d的形态相关,以使以下两个条件成立:
    • 对于C中的每个对象,
    • 对于所有的形态和C.

请注意,违反函子逆转了组成方向。

普通的函子也称为协变函子,以将它们与违反函数区分开。请注意,一个人还可以将逆函数定义为相对类别的协变量函子。一些作者更喜欢写所有协变。也就是说,与其说是违反函数,他们只是简单地写(或有时)并将其称为函子。

偶性函子也有时被称为辅助因子

有一个惯例是指“向量” - ie,矢量场,切线束空间的要素,例如“违反”和“ covector”,以及“ covectors” - ie,1形,1形,元素的元素,一个cotangent束-作为“协变”。该术语起源于物理学,其基本原理与索引(“上楼”和“楼下”)的位置有关。以与基础向量相同的方式对“共坐标”的作用: - whereas它以“相反的方式”上的“向量坐标”(但以“以相同的方式”与基础共vectors:):) 。该术语与类别理论中使用的术语背道而驰,因为它的共vect子通常具有回调,因此是违反的,而矢量通常是协变量的,因为它们可以向前推动。另请参见向量的协方差和违反。

相反的函子

每个函子都诱导相反的函子,与和相反的类别和相反的类别。根据定义,以相同的方式映射对象和形态。由于与一个类别不吻合,而是类似地与众不同。例如,在使用时,应该使用或使用。请注意,遵循相反类别的属性。

双分解器和多功能器

双胞胎(也称为二进制函子)是函数,其域是产品类别。例如, HOM函子C op × cset类型。可以将其视为两个参数中的函子。 HOM功能是一个自然的例子。这是一个论点违反的,另一个论点是协变量的。

多函数是对N变量的函子概念的概括。因此,例如,双肢体是一个具有n = 2的多函数。

特性

子公理的两个重要后果是:

  • FC中的每个交换图转换为d中的交换图;
  • 如果FC中的同构,则FF )是d中的同构。

一个人可以组成函子,即如果f是从ab的函子,而g是从bc的函子,那么一个可以从ac形成复合函子g f f 。函子的组成是定义的关联。函子组成的身份是身份函子。这表明函子可以被视为类别类别中的形态,例如小型类别的类别

具有单个对象的小类别与单型物体相同:单对像类别的形态可以被认为是单型元素的元素,并且该类别中的组成被认为是单型操作。单对像类别之间的函子对应於单体同态。因此,从某种意义上说,任意类别之间的函子是对具有多个对象的类别的单体同态的一种概括。

例子

图表
对于C类C和J,C中的J型图是协变量函子。
(理论类别)
对于C类C和J,C上的J-PRESHEAF是违反函数。
设置j的特殊情况下,集合和功能的类别, dc上称为Presheaf
预选(在拓扑空间上)
如果x是拓扑空间,则x形式的开放集在包含下的部分有序集(x)。像每个部分排序的集合一样,打开(x)仅在且仅在当时添加单个箭头u→V来形成一个小类别。开放式(X)上的逆函数在X上称为Presheaves。
常数函子
函数cdc的每个对象映射到d中的固定对象x ,而c中的每个形态都映射到x上的身份形态。这样的函子称为常数选择函子。
内functor
将类别映射到同一类别的函子;例如,多项式函数
身份函数
C类(书面1 C或ID C)中,将一个对象映射到自身和形态上。身份函子是一个函数。
对角线函子
对角线函子定义为从d到函数类别d c的函子,该函数将d中的每个对象发送到该对象的常数函子。
限制函子
对于固定的索引类别J ,如果每个函子jC都有限制(例如,如果C完成),则限制函数C JC将每个函数分配给每个函数。可以通过意识到它是对角线函子的右拥抱并调用弗雷德伴随函数定理的右选择来证明该函子的存在。这需要合适的选择的公理。类似的说明适用于Colimit函子(分配给每个函子的colimit,并且是协变量的)。
功率集函数
电源集函数P:SET→将每个集合设置为其功率集,并将每个函数发送到发送到其图像的地图。一个人还可以考虑发送到地图发送到其倒数图像的逆力组启动器
例如,如果那样。假设和。然后是将任何子集发送到其图像的函数,在这种情况下,这意味着表示下面的映射,因此也可以将其写入。对于其他值,请注意,因此会生成微不足道的拓扑。另请注意,尽管此示例中的功能映射到了功率集,但通常不必是这种情况。
双向量空间
分配给每个向量空间双重空间和每个线性映射的地图其双重或转置是从固定字段到本身的所有向量空间的类别的逆函数。
基本小组
考虑尖式拓扑空间的类别,即具有杰出点的拓扑空间。对像是对xx 0 ,其中x是拓扑空间, x 0x中的一个点。从xx 0yy 0的形态由连续的映射fxyfx 0 )= y 0
对于具有特殊点x 0的每个拓扑空间x ,一个人可以定义基于x 0基本组,表示π1xx 0 。这是基于x 0的LOOP的一组同拷贝类,并具有串联的组操作。如果fxy尖的空间的形态,则可以用f组成x每个,可以用f组成,以在y中以y为基础y 0 。该操作与同质等效关系和环的组成兼容,我们得到了从π( xx 0π( yy 0组同态。因此,我们从尖的拓扑空间类别获得函数到组类别
在拓扑空间的类别(没有区别点)中,人们考虑了通用曲线的同喻类别,但是除非它们共享终点,否则不能构成它们。因此,一个人具有基本的群体,而不是基本组,并且该结构是功能的。
连续函数的代数
通过分配给每个真实的连续函数的每个拓扑空间x 给出了来自拓扑空间(连续地图作为形态的连续图)类别到实际关联代数类别的违反函数。每个连续的映射FXY诱导代数同态C( f ):C( y )→C( x通过规则C( f )(φ)( φ= φ∘F ,c( y )中的每个φf
切线
将每个可区分流形发送到其切线捆绑包的地图,并将每个平滑地图转移到其导数中,是从可区分的流形类别到向量捆绑包的类别的协变函数。
在此构造方面进行此构造可以使切线空间,这是一个从尖的歧管类别到真实向量空间类别的协变量函子。同样, cotangent空间是一个违反函数,本质上是切线空间与上方双重空间的组成。
小组行动/表示
每个G都可以视为具有单个对象的类别,其形态是G的元素。从GSET的函子则无非是G在特定集合的组动作,即A g -set。同样,从g向量空间类别的函子Vect KG线性表示。通常,函子gC可以被视为g在类别c中的对像上的“动作”。如果C是一个组,则此操作是组同态。
谎言代数
分配给每个真实(复杂)谎言组的真实(复杂)谎言代数定义函子。
张量产品
如果C在固定场上表示矢量空间的类别,则用线性图作为形态,则张量产物定义一个在两个参数中协变的函数C×C→C。
健忘的函子
函数ugrpset ,将映射到其基础集,而组同构为集合的基础函数是一个函数。这样的函子“忘记”了某些结构,被称为健忘函子。另一个示例是函子rngAB ,该函数将映射到其基础添加剂的阿贝利安基团RNG中的形态(环同构)在AB (Abelian群体同态)中变成了形态。
免费函子
朝着健忘函数相反的方向是自由函数。免费函子FSETGRP将每个集X发送到X生成的免费组。函数被映射到自由组之间的组同态。基于结构化集的许多类别都存在自由结构。请参阅免费对象
同态群体
对于每对aABELIAN组B可以分配由AB的所有组同构组成的Abelian组HOM( ab )。这是一个函子,在第二个参数中是第一个和协变量违反的函子,即它是函子AB op × ab→ABAB (其中AB表示具有组同构的Abelian群体类别) 。如果FA 1A 2GB 1B 2AB中的形态,则组同构HOM( FGHOM( A 2B 1 )→HOM( A 1B 2φg↦φf给出请参阅HOM函数
代表函子
我们可以将上一个示例概括为任何类别c 。对于每对xc中的对象的y可以分配xy的形态的集合hom( xy 。这将定义一个函数设置,该函子在第一个参数中是违反的,而在第二个参数中是协变量的,即它是函数C OP × CSET 。如果fx 1x 2gy 1y 2c中的形态,则给出地图hom( fg ):hom( x 2y 1 )→hom( x 1y 2φ↦g∘φf _
这样的函子称为代表函数。在许多设置中,一个重要的目标是确定给定函数是否代表。

与其他分类概念的关系

CD为类别。从CD的所有函子的集合形成了类别的对象:函数类别。这一类别中的形态是函子之间的自然变换

函子通常由通用属性定义;示例是张量产品,组或向量空间的直接总和直接乘积,自由组和模块的构建,直接限制。极限和构造的概念概括了上述几个。

通用构造通常会引起成对的伴随函子

计算机实现

函子有时会出现在功能编程中。例如,编程语言Haskell有一个课程Functor在哪里fmap是一种多型函数,用于映射现有类型之间的函数(Hask上的形态,Haskell类型的类别)与某些新类型之间的函数之间。

也可以看看