单射、双射和满射是数学中根据定义域和陪域的关联方式所区分的三类函数。
* 单射:将不同的变量映射到不同的值的函数。也就是说,对于定义域中的任意两个不同的元素,它们的函数值一定也不同。
* 满射:陪域等于值域的函数。换言之,对于陪域中的任意元素,都可以在值域中找到至少一个与之对应的元素。
* 双射(也称一一对应):既是单射又是满射的函数。这种函数形成一种对应关系,使得每一个输入值都有正好一个输出值与之对应,同时每一个输出值也都有正好一个输入值与之对应。
以上是根据数学中的定义给出的一种解释,这些概念在函数式编程中也有相应的意义。
函数是数集到数集映射,并且这个映射是“满”的。即满映射f: A→B是一个函数,其中原像集A称做函数的定义域,像集B称做函数的值域。
“数集”就是数字的集合,可以是整数、有理数、实数、复数或是它们的一部分等等。
“映射”是比函数更广泛一些的数学概念,它就是一个集合到另一个集合的一种确定的对应关系。即,若f是集合A到集合B的一个映射,那么对A中的任何一个元素a,集合B中都存在唯一的元素b与a对应。称a是原像,b是像。写作f: A→B,元素关系就是b = f(a).
一个映射f: A→B称作“满”的,就是说对B中所有的元素,都存在A中的原象。 在函数的定义中不要求是满射,就是说值域应该是B的子集。(这个定义来源于一般中学中的讲法,实际上许多数学书上并不一定定义函数是满射。)
象集中每个元素都有原象的映射称为满射 :即B中的任意一元素y都是A中的像,则称f为A到B上的满射,强调f(A)=B(B的原象可以多个)。
原象集中不同元素的象不同的映射称为单射 :若A中任意两个不同元素x1≠x2,它们的像f(x1)≠f(x2),则称f为A到B的单射,强调f(A)是B的子集。
百度百科-单射
百度百科-满射
单射就是对于A中一个原象x对应B中一个象y,不同的原象x对应不同的象y;
满射就是A中的每一个原象x对应B中一个象y,并且B中的每一个y都有原象x。
(a) 不是满射,也不是单射。
(b)是单射,也是满射;
(c)是单射,不是满射;
(d)应该是单射。找不到不同的有序数对(a,b),使得对应的象一样。
假设,集合A为{x},集合B为{f(x)},并且集合A映射到集合B上.如果集合B的所有元素,都是从集合A映射过来的,那么就是满射;如果集合A的不同元素,映射到集合B上的不同元素,那么就是单射;如果集合A的不同元素,映射到集合B上的不同元素,并且集合B的所有元素,都是从集合A映射过来的,那么就是满的单射.
f:z-z
f(x)=3x;满的单射.z为整数集合,通过f法则,自定域{x}到值域(f(x)}都是一一对应.
f:z-n
f(x)=|x|+1;满射.n是自然数集合,通过法则,自定域{x}到值域{f(x)}是多对一.
f:r-r
f(x)=x^3+1;满的单射.r是实数集合,通过法则,自定域{x}到值域{f(x)}是一一对应.
f:n*n-n
f(x1,x2)=x1+x2+1;满射.n是自然数集合,通过法则,自定域{x}到值域{f(x)}是多对一,当x1和x2对调的时候,函数值仍相等.
f;n-n*n,f(x)=(x,x+1),满的单射,通过f法则,自定域{x}到值域(f(x)}都是一一对应.
你的书写不是很规范,一个不同一个,除了第一个外,其他的都不规范.
大家在关注