单射、双射与满射[通俗易懂]

单射、双射与满射[通俗易懂]数学上,单射、满射和双射指根据其定义域和陪域的关联方式所区分的三类函数。单射:指将不同的变量映射到不同的值的函数。满射:指陪域等于值域的函数。即:对陪域中任意元素,都存在至少一个定义域中的元素与之对应。双射(也称一一对应):既是单射又是满射的函数。直观地说,一个双射函数形成一个对应,并且每一个输入值都有正好一个输出值以及每一个输出值都有正好一个输入值。(在一些参考书中,“一一”用…

大家好,又见面了,我是你们的朋友全栈君。

数学上,单射满射双射指根据其定义域陪域的关联方式所区分的三类函数

  • 单射:指将不同的变量映射到不同的值的函数。
  • 满射:指陪域等于值域的函数。即:对陪域中任意元素,都存在至少一个定义域中的元素与之对应。
  • 双射(也称一一对应):既是单射又是满射的函数。直观地说,一个双射函数形成一个对应,并且每一个输入值都有正好一个输出值以及每一个输出值都有正好一个输入值。 (在一些参考书中,“一一”用来指双射,但是这里不用这个较老的用法。)

下图对比了四种不同的情况:

[编辑]单射(one to one或injective)

单射、双射与满射[通俗易懂]

单射、双射与满射[通俗易懂]

单射复合:第二个函数不必是单射。

一个函数称为单射(一对一)如果每个可能的像最多只有一个变量映射其上。等价的有,一个函数是单射如果它把不同值映射到不同像。一个单射函数简称单射。形式化的定义如下。

函数
f: A \to B 是
单射 
当且仅当对于所有
a,b \in A, 我们有
f(a) = f(b) \Rightarrow a = b.
  • 一个函数f : A → B是单射当且仅当A是空的或f是左可逆的,也就是说,存在一个函数gB → A 使得g o f = A上的恒等函数.
  • 因为每个函数都是满射当它的陪域限制为它的值域时,每个单射导出一个到它的值域的双射。更精确的讲,每个单射f : A → B可以分解为一个双射接着一个如下的包含映射。令fR : A → f(A)为把陪域限制到像的f,令i : f(A) → B为从f(A)到B中的包含映射.则f = i o fR. 一个对偶的分解会对满射成立。
  • 两个单射的复合也是单射,但若g o f是单射,只能得出f是单射的结论。参看右图。

[编辑]满射(onto)

单射、双射与满射[通俗易懂]

单射、双射与满射[通俗易懂]

满射复合:第一个函数不必为满射

一个函数称为满射如果每个可能的像至少有一个变量映射其上,或者说陪域任何元素都有至少有一个变量与之对应。形式化的定义如下:

函数
f: A \to B
满射
当且仅当对任意
b \in B,存在
a \in A满足
f(a) = b
  • 函数f:X\rightarrow Y为一个满射,当且仅当存在一个函数g:Y\rightarrow X满足f\circ g等于Y上的单位函数。(这个陈述等同于选择公理。)
  • 将一个满射的陪域中每个元素的原像集看作一个等价类,我们可以得到以该等价类组成的集合(原定义域的商集)为定义域的一个双射
  • 如果fg皆为满射,则f\circ g为满射。如果f\circ g是满射,则仅能得出f是满射。参见右图。

[编辑]双射(bijective)

单射、双射与满射[通俗易懂]

单射、双射与满射[通俗易懂]

双射复合:第一个函数不必为满射、第二个函数不必为单射

既是单射又是满射的函数称为双射. 函数为双射当且仅当每个可能的像有且仅有一个变量与之对应。

函数
f: A \to B
双射
当且仅当对任意
b \in B存在唯一
a \in A满足
f(a) = b
  • 函数f : A → B为双射当且仅当其可逆,即,存在函数gB → A满足g o f = A上的恒等函数,且f o gB上的恒等函数。
  • 两个双射的复合也是双射。如g o f为双射,则仅能得出f为单射且g为满射。见右图。
  • 同一集合上的双射构成一个对称群
  • 如果X,Y皆为实数\mathbb{R},则双射函数f:\mathbb{R}\rightarrow \mathbb{R}可以被视觉化为两根任意的水平直线只相交正好一次。(这是水平线测试的一个特例。)

[编辑]

双射函数经常被用于表明集合XY是等的,即有一样的基数。如果在两个集合之间可以建立一个一一对应,则说这两个集合等势。

如果X,Y皆为有限集合,则这两个集合中X,Y之间存在一个双射,当且仅当X和Y的元素数相等。其实,在公理集合论中,元素数相同的定义被认为是个特例,一般化这个定义到无限集合需要导入基数的概念,这是一个区别各类不同大小的无限集合的方法。

[编辑]举例

对于每个函数给定定义域陪域很重要,因为改变这些就能改变函数属于什么

GeLeiMappings.PNG

单射、双射与满射[通俗易懂]

[编辑]双射

  • 任意集合上的恒等函数id为一双射。
  • 考虑函数f:\mathbb{R}\rightarrow\mathbb{R},定义为f(x)=2x+1。这个函数是双射,因为给定任意一个实数y,我们都能解y=2x+1,得到唯一的实数解x=(y-1)/2
  • 指数函数 \exp : \mathbf{R} \to \mathbf{R}^+ : x \mapsto \mathrm{e}^x及其逆函数自然对数 \ln : \mathbf{R}^+ \to \mathbf{R} : x \mapsto \ln{x}

[编辑]单射、但非满射

  • 指数函数\exp : \mathbf{R} \to \mathbf{R} : x \mapsto \mathrm{e}^x

[编辑]满射、但非单射

  • \mathbf{R} \to \mathbf{R} : x \mapsto (x-1)x(x+1) = x^3 - x

[编辑]即非单射也非满射

  • \mathbf{R} \to \mathbf{R} : x \mapsto x^2

 

 

[摘自wikipedia]

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/136541.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 数据库——操作数据库语句(select单表查询)

    数据库——操作数据库语句(select单表查询)前两天又装了oracle,开始再次学习数据库,希望这次可以系统的学习,主要是语句的学习。数据库操作语句SQL一、select   查询语句二、DDL 数据 定义 语句(create、drop、alter)三、DML数据操作语句(insert delect update)四、TCL 事务控制  语句(commit提交、rollback撤销、savep

  • 超详细十大经典排序算法总结(java代码)c或者cpp的也可以明白[通俗易懂]

    超详细十大经典排序算法总结(java代码)c或者cpp的也可以明白[通俗易懂]0、排序算法说明0.1排序的定义 对一序列对象根据某个关键字进行排序。 0.2术语说明 稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面; 不稳定:如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面; 内排序:所有排序操作都在内存中完成; 外排序:由于数据太大,因此把数据放在磁盘中,而排序通过磁盘和内存的数据传输才能进行; 时间复杂度…

  • 这几天收到了同学们提交的赛道设计图纸[通俗易懂]

     §01室外越野▲图1.1室外越野赛道▲图1.2室外越野赛道设计图纸 §02单车拉力▲图2.1单车拉力快车道 §03室内PVC赛道一、坡道1、背景布下的桥还有,这样的坡道比赛时可以用吗?本来是防止单车摔下来的。▲图3.1蓝布下的坡道回复:这是允许的。2、桥连着桥卓大大,这个可以么,桥接桥?▲图3.2连体桥回复:这是允许的。 §04相关问题一、环境改变卓大大好,,我们现在的场地上面

  • no-referrer-when-downgrade什么意思

    no-referrer-when-downgrade什么意思

  • 英雄联盟 源代码_c语言游戏源码

    英雄联盟 源代码_c语言游戏源码【C语言】英雄联盟英雄查询系统模拟模拟~~~程序介绍:【C语言】英雄联盟英雄查询系统/*———————————-project:英雄联盟英雄查询系统author:LLZtoolman:xyfinish:2019/12/26———————————-*//*—————————–⊙注意事项!!!!为了用C语言实现文件的读写程序读取数据

  • cstring头文件是什么_class可以作为标识符吗

    cstring头文件是什么_class可以作为标识符吗关于在VC++中对CString进行引用时,需要按使用情况添加不同的头文件(1)atlstr.h——————————-非MFC工程中.(2)afx.h———————————-MFC工程中.

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号