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

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

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

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

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

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

[编辑]单射(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]

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • php递归算法经典实例_php递归函数详解

    php递归算法经典实例_php递归函数详解在前面的文章中,我们给大家介绍了三种递归算法的实现方法,即“静态变量”、“全局变量”、“引用传参”。需要的朋友可以了解《PHP递归算法(一)》《PHP递归算法(二)》《PHP递归算法(三)》下面我们就给大家介绍如何通过xdebug调试运行PHP引用传参的递归算法。代码如下:…

    2022年8月11日
    7
  • linux下如何完全删除用户

    linux下如何完全删除用户转载:http://blog.51cto.com/wutengfei/19234461、首先进入系统创建一个用户  [root@localhost/]#useraddhaha  #创建用户 haha是用户名   [root@localhost/]#passwdhaha  #为该用户设置密码  更改用户haha的密码。  新的密码:*****…

    2022年6月4日
    35
  • JavaScript 数组排序——快速排序[通俗易懂]

    JavaScript 数组排序——快速排序[通俗易懂]数组中的快速排序就是取原始数组中的一个元素最为基点,小于基点的放在一个数组中,大于基点的放在一个数组中,无限循环,知道将数组分解到长度(length<1)停止vararr=[12,3,569,78,0,-56,-56,-56,1223,11,16,13,1];functionquickSort(arr){if(arr.length<1)returnarr;分解数组,长度小于1的时候停止执行varmiddle=pa…

    2022年5月1日
    39
  • 如何更改WIFI频段_wifi5g与2.4g怎么切换

    如何更改WIFI频段_wifi5g与2.4g怎么切换首先打开浏览器并输入IP地址进入路由器管理页面,此时需要输入用户名以及密码进行登录,登录成功以后点击左侧的“无线设置”选项,然后点击“高级无线设置”选项,之后我们就可以修改WiFi的频段了。需要注意的是,目前仅能将无线频段修改为2.4GHz或者5GHz两个频段。如果您的iPhone手机突然不能连接WiFi了,那么您可以打开手机“设置”应用,然后点击“通用”选项,接着点击“还原”选项,进入后选择点击…

    2022年10月20日
    2
  • 数据同步工具

    数据同步工具公司要搞数据平台,首当其冲的是把旧库的数据导入到新库中,原本各种数据库大部分都提供了导入导出的工具,但是数据存储到各个地方,mongdb,hbase,mysql,oracle等各种各样的不同数据库,同步起来头都大了因此最近使用了一些数据同步工具,记录下来:离线导入导出DataX阿里的Datax是比较优秀的产品,基于python,提供各种数据村塾的读写插件,多线程执行,使用起…

    2022年6月28日
    29
  • but六种用法_比较级的用法和句型

    but六种用法_比较级的用法和句型1.EXPLAIN简介使用EXPLAIN关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的。分析你的查询语句或是表结构的性能瓶颈。➤通过EXPLAIN,我们可以分析出以下结果:表的读取顺序数据读取操作的操作类型哪些索引可以使用哪些索引被实际使用表之间的引用每张表有多少行被优化器查询➤使用方式如下:EXPLAIN+SQL语…

    2022年10月18日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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