文章目录

  • 写在前面
  • 一些定义
    • 映射的有关定义
    • 单射
    • 满射
    • 双射
    • 逆映射
  • 一点理解
  • 一些命题与定理
    • 命题1:有限集合间建立双射,两集合元素个数相等
      • 证明
    • 命题2:有限集的单射与满射可由元素数相等互相推出
      • 证 明
    • 定理1:映射是可逆的当且仅当其为双射
      • 证 明
  • 题外话

写在前面

映射在高中作为一个不需要深入理解的内容,那时候只知道映射是函数的推广。但在大学的数学学习中,映射的概念贯穿了分析、代数等多个学科,下面详细介绍一下映射以及一些关于映射的一些定理。部分内容参考丘维声教授所著《数学的思维方式与创新》一书的引言部分。

一些定义

映射的有关定义

  • 设AAA和BBB是两个集合,如果集合AAA到集合BBB存在一个对应法则fff,使得AAA中每一元素aaa,都有BBB中唯一确定一个元素bbb与之对应,那么称fff是集合AAA到集合BBB的一个映射,记作
    f:A→B,a↦b,f(a)=b,a∈A,\begin{aligned} f:A&\to B,\\ a&\mapsto b,\\ f(a)&=b,\quad a\in A, \end{aligned} f:Aaf(a)​→B,↦b,=b,a∈A,​
    其中bbb称为aaa在fff下的,aaa称为bbb在fff下的一个原像

  • 设fff是集合AAA到集合BBB的一个映射,则把AAA叫做fff的定义域,把BBB叫做fff的陪域

  • 一个映射f:A→Bf:A\to Bf:A→B由定义域陪域对应法则三部分组成。

  • 一般地,设fff是集合AAA到集合BBB的一个映射,称AAA的所有元素在fff下的像组成的集合称为fff的值域像集),记作f(A)f(A)f(A),即
    f(A):={f(a)∣a∈A}f(A):=\{f(a)\,|\,a\in A\} f(A):={f(a)∣a∈A}
    易知,f(A)⊆Bf(A)\subseteq Bf(A)⊆B,即fff的值域是fff陪域的子集。

单射

一般地,设fff是集合AAA到集合BBB的一个映射,如果AAA中不同元素在fff下的像不同,那么称fff是单射

满射

一般地,设fff是集合AAA到集合BBB的一个映射,如果fff的值域f(A)f(A)f(A)与fff的陪域BBB相等,那么称fff是满射

双射

一般地,设fff是集合AAA到集合BBB的一个映射,如果fff既是满射又是单射,那么称fff是双射(或者称fff是AAA与BBB之间的一个一一对应)。

逆映射

设fff是集合AAA到集合BBB的一个映射,如果对于BBB中每一个元素bbb,都有AAA中唯一的元素aaa,使得f(a)=bf(a)=bf(a)=b,那么把bbb对应到aaa的映射ggg称为fff的逆映射,并将ggg记作f−1f^{-1}f−1,此时称fff是可逆的

一点理解

下图直观地展示了单射、满射及双射的区别与联系。

  • 首先是关于映射的定义,映射是函数的推广,所以很多性质都与函数类似,只是集合不只是数集而可以是任意集合。映射的定义是两集合间的一个对应关系,这个关系是唯一确定的,也就是说,定义域中的每个元素都能从值域中找到一个元素与之对应,这是映射必须满足的条件,最下面两幅图显然不满足映射定义(左边的未保证AAA中每一个元素都建立对应,右边的未保证在陪域中有唯一确定的一个元素与之对应),因此不是映射。

  • 其次是单射与满射的理解,满射可以理解为陪域中每一个元素都是由对应法则作用得到的像,也即像充满了整个陪域,因此显然有f(A)=Bf(A)=Bf(A)=B,或者可以理解为陪域中每一个元素都可以找到一个唯一确定的定义域中的元素与之对应;单射可以理解为不能有重复的定义域元素对应到相同的像上,也即不能有“多对一”的对应关系出现。

  • ★\bigstar★由于单射的定义是“定义域中不同元素在对应法则下的像不同”,所以根据逆否命题亦真,得到:单射⟺\iff⟺像相同则其原像也相同,这个命题也需要注意。

  • 总之,映射中可以存在“一对一”、“多对一”的对应关系,但是不能出现“一对多”的对应关系,因为这样不能保证定义中的唯一确定的元素与之对应,相当于同一个定义域中元素对应了陪域的多个值,这样会出现歧义。

一些命题与定理

根据上面的定义,可以得出一些有用的结论。

命题1:有限集合间建立双射,两集合元素个数相等

设AAA与BBB都是有限集合,如果存在AAA到BBB的一个双射fff,那么AAA与BBB的元素个数相等,即∣A∣=∣B∣|A|=|B|∣A∣=∣B∣。

证明

设集合A={a1,a2,⋯,an}A=\{a_1,\,a_2,\,\cdots,\,a_n\}A={a1​,a2​,⋯,an​},由于fff是单射,所以像f(a1),f(a2),⋯,f(an)f(a_1),\,f(a_2),\,\cdots,\,f(a_n)f(a1​),f(a2​),⋯,f(an​)两两均不相等,从而值域为f(A)={f(a1),f(a2),⋯,f(an)}f(A)=\{f(a_1),\,f(a_2),\,\cdots,\,f(a_n)\}f(A)={f(a1​),f(a2​),⋯,f(an​)},于是∣f(A)∣=n=∣A∣|f(A)|=n=|A|∣f(A)∣=n=∣A∣。又因为fff是满射,所以∣B∣=∣f(A)∣|B|=|f(A)|∣B∣=∣f(A)∣,所以∣A∣=∣B∣|A|=|B|∣A∣=∣B∣。

命题2:有限集的单射与满射可由元素数相等互相推出

设AAA与BBB都是有限集合,且∣A∣=∣B∣|A|=|B|∣A∣=∣B∣,fff是AAA到BBB的一个映射。

  1. 若fff是满射,则fff必为单射;
  2. 若fff是单射,则fff必为满射。

证 明

  1. 由满射,得到∣f(A)∣=∣B∣|f(A)|=|B|∣f(A)∣=∣B∣,而∣A∣=∣B∣|A|=|B|∣A∣=∣B∣,所以∣f(A)∣=∣A∣|f(A)|=|A|∣f(A)∣=∣A∣,即必须满足各个像均不同才能使像的个数达到∣A∣|A|∣A∣,因此fff是单射。
  2. 由单射,得到∣f(A)∣=∣A∣|f(A)|=|A|∣f(A)∣=∣A∣,而∣A∣=∣B∣|A|=|B|∣A∣=∣B∣,所以∣f(A)∣=∣B∣|f(A)|=|B|∣f(A)∣=∣B∣,又因为f(A)⊆Bf(A)\subseteq Bf(A)⊆B恒成立,于是f(A)=Bf(A)=Bf(A)=B,因此fff是满射。

定理1:映射是可逆的当且仅当其为双射

映射f:A→Bf:\,A\to Bf:A→B是可逆的充要条件是fff是双射。

证 明

  • 必要性:若映射f:A→Bf:\,A\to Bf:A→B有逆映射g:B→Ag:\,B\to Ag:B→A,那么fff的值域等于BBB,且AAA中不同元素在fff下的像不同,因此fff是双射。

  • 充分性:如果fff是AAA到BBB的双射,显然根据逆映射的定义,有fff是可逆的。

题外话

  • 在这里要说一下,百度百科里“满射”词条关于满射定义的描述有一个小问题,应该为“陪域”而不是“值域”,详细请见满射-百度百科讨论。

  • 文中的图形是用Inkscape画的,第一次用,画的有点粗糙了,见谅。

关于映射的一些理解与常见命题相关推荐

  1. JS闭包的理解及常见应用场景

    JS闭包的理解及常见应用场景 一.总结 一句话总结: 闭包是指有权访问另一个函数作用域中的变量的函数 1.如何从外部读取函数内部的变量,为什么? 闭包:f2可以读取f1中的变量,只要把f2作为返回值, ...

  2. 面试官:谈谈对JS闭包的理解及常见应用场景(闭包的作用)

    文章目录 对JS闭包的理解及常见应用场景(闭包的作用) 1.变量作用域 2.如何从外部读取函数内部的变量? 3.闭包概念 4.闭包用途 5.闭包的理解 6.闭包应用场景 setTimeout传参 回调 ...

  3. 对浏览器内核的理解和常见的浏览器内核

    介绍一下你对浏览器内核的理解?常见的浏览器内核有哪些? 答.要或者说核心的部分是"Rendering Engine",可大概译为"渲染引擎",不过我们 一般习惯 ...

  4. Spring中的packagesToScan的方式配置hibernate的class文件映射规则的理解

    Spring中的packagesToScan的方式配置hibernate的class文件映射规则的理解            1.持久化实体,使用自动扫描class的形式进行配置时,规则如下 (1)& ...

  5. 从函数映射的角度理解矩阵

    从函数映射的角度理解矩阵 0.预备知识 函数 是把一个集 "A" 的元素与另一个集 "B" 的元素配对的方法: 一般函数从 "A" 的每个元 ...

  6. html根据文档定位,html文档中的location对象属性理解及常见的用法

    关于location对象的简单理解: 1.location对象中涵盖了当前页面(本页面)或者更直接的说,是当前加载的这个html文档的url信息 2.location对象作为window对象的一个属性 ...

  7. 经典]Linux内核中ioremap映射的透彻理解【转】

    转自:http://blog.csdn.net/lanyang123456/article/details/7403514 几乎每一种外设都是通过读写设备上的寄存器来进行的,通常包括控制寄存器.状态寄 ...

  8. Java中就什么是映射的简单理解

    映射是一种特殊的对应关系. 打个比方,生活中一只箭可以射中一只鸟,也可以射不中,甚至可以射中几只.但是在程序中,这只箭必须射中一只,而且也只能能射中一只. 正常一点的理解就是: 映射就是把两个对象对应 ...

  9. 推荐系统----多目标优化(持续补充, 到概念理解阶段+常见模型...)

    为什么要做多目标优化 做多目标优化一般由业务驱动,比如电商场景,肯定是希望推出去的东西用户既点击又购买并且下次还来,如果能够点赞收藏分享那就更好了,这里面涉及的优化目标就多了,比如点击率.转化率.收藏 ...

最新文章

  1. 2021年大数据Flink(四十一):​​​​​​​Flink实现订单自动好评
  2. MySQL 代码结构与基本流程
  3. 计算机专业课 复习,计算机专业课复习经验:各个突破、全面掌握
  4. 定义c/c++全局变量/常量几种方法的区别
  5. linux 下查看log实时输出
  6. windows文件路径 正则表达式_Windows非常实用的四款软件
  7. 博士申请 | ​麦吉尔大学智能自动化实验招收2022年秋季入学全奖博士生
  8. Eclipse公共许可证
  9. android传递数据bundle封装传递map对象
  10. ios kvo 要引入_腾讯社招iOS面试记录
  11. 微信小程序canvas保存绘制图片
  12. jenkins2 pipeline实例
  13. 拓端tecdat|R语言中实现广义相加模型GAM和普通最小二乘(OLS)回归
  14. php文件苹果用什么软件打开,你知道php文件用什么软件打开吗?
  15. 0Day发布Confluence 2.1.4 破解,所见即所得的编辑界面终于亮相
  16. 不到100行代码制作各种证件照
  17. Ubuntu18.04系统下装CUDA9.0
  18. jcp jsr_JCP专家组成员拒绝社交媒体API引发了关于创新的辩论
  19. 今日运势:“恶莫大于纵己之欲,祸莫大于言人之非“
  20. 数据库架构(一) 插入数据库

热门文章

  1. python迭代-可迭代对象与迭代器对象
  2. 修改已经创建的docker容器的端口映射
  3. java 竖线分割字符串的问题
  4. java基础--IO流之File类
  5. Lucene于搜索引擎技术(Analysis包详解)
  6. 使用javascript在客户端获取URL参数值的函数
  7. python查找元素的下标 leetcode 392
  8. 《数据结构C语言版》——线性表详解,你一定能够看得懂学得会的宝典
  9. 动态规划——打家劫舍(Leetcode 198)
  10. CCF202109-1 数组推导