·

国内外关于“函数”与“映射”定义的差别

Published at 2024-10-09 21:35:06Viewed 24 times
Common article
Please reprint with source link

函数=映射:在中国的高中教材中,函数被定义为两个非空数集之间的一种对应关系,而映射则被定义为两个非空集合之间的一种对应关系(事实上,这两个集合完全可以是空集)。但其实这两个定义可以说已经过时了,如今在英文中函数function,其实就相当于我们中文的映射。

而英文中映射mapping或者map,它的意思就广了,它既可以是function的同义词;也可以相当于function的推广,即范畴中两个任意对象之间的态射morphism(参见范畴论,懒得举例子),它比function要更加general,即function只是morphism的一种特殊情况。废话不多,所以结论就是,函数function其实就是两个集合之间的映射(集合未必非空)。

PS:说着说着突然感觉有点绕,意思理解就好。。

因此可以说国内的高中数学教材并没有顺着国际的潮流还有惯例走,自己说自己的一套,而且说得还不怎么好——有框死一个学生思维的缺点。
参考文献: https://en.wikipedia.org/wiki/Function_(mathematics)#Relational_approach
https://en.wikipedia.org/wiki/Map_(mathematics)

图1 维基百科关于映射的定义

图2 维基百科关于函数的定义

——————————————————————

PS:关于范畴论的简单介绍,请看 A short introduction to category theory

本文原于2020年8月9日 16:49发布于QQ空间。

自己评论:个人建议如果查学术之类的东西还是最好用维基百科吧,感觉百度百科并不怎么可靠,而且有些内容还有抄袭wiki的嫌疑。。顺便一提,维基需要翻墙才能上。。

Comments

There is no comment, let's add the first one.

弦圈热门内容

Django change an existing field to foreign key

I have a Django model that used to look like this:class Car(models.Model): manufacturer_id = models.IntegerField()There is another model called Manufacturer that the id field refers to. However, I realized that it would be useful to use Django's built-in foreign key functionality, so I changed the model to this:class Car(models.Model): manufacturer = models.ForeignKey(Manufacturer)This change appears to work fine immediately, queries work without errors, but when I try to run migrations, Django outputs the following:- Remove field manufacturer_id from car - Add field manufacturer to carDoing this migration would clear all the existing relationships in the database, so I don't want to do that. I don't really want any migrations at all, since queries like Car.objects.get(manufacturer__name="Toyota") work fine. I would like a proper database foreign key constraint, but it's not a high priority.So my question is this: Is there a way to make a migration or something else that allows me to convert an existing field to a foreign key? I cannot use --fake since I need to reliably work across dev, prod, and my coworkers' computers.内容来源于 Stack Overflow, 遵循 CCBY-SA 4.0 许可协议进行翻译与使用。原文链接:Django change an existing field to foreign key

[antd: Message] You are calling notice in render which will break in React 18 concurrent mode. Please trigger in effect instead.

I'm getting this error when using MessageWarning: [antd: Message] You are calling notice in render which will break in React 18 concurrent mode. Please trigger in effect instead.Here is my code:import { message } from 'antd'; export default function Page() { const [messageApi, contextHolder] = message.useMessage(); const res = await fetch("/api/...", { method: "POST", }); if (!res.ok) { messageApi.error("Error! Fail to login!"); } return ( <Home> ... </Home> ) }

Get connected with us on social networks! Twitter

©2024 Guangzhou Sinephony Technology Co., Ltd All Rights Reserved