也谈函数的定义
2018-08-30保继光
保继光 曹 絮
(北京师范大学数学科学学院 100875;北京师范大学附属实验中学 100032)
1905年,哥廷根数学学派的创始人、现代国际数学教育的奠基人、德国数学家克莱因(Felix Klein)在为中学数学教学起草的《数学教学要目(米兰大纲)》中明确提出:“应将养成函数思想和空间观察能力作为数学教学的基础”.1908年, 在巴黎的国际数学家大会上,他倡导函数的概念应该成为数学思维的心脏和灵魂, 渗透到数学课程的每一个部分. 在名著《高观点下的初等数学》中,他进一步强调函数应该成为中学数学的“基石”,应该把算术、代数和几何方面的内容,通过几何的形式用以函数为中心的观念综合起来.
20世纪初,在英国数学家贝利(John Perry)等人的大力倡导和推动下,函数进入了中学数学.我国基础教育真正意义上的函数教学起始于1941年颁布的《修正初级中学数学课程标准》,教学目标明确地规定要“培养学生分析能力、归纳方法、函数观念及探讨精神".目前,函数已经成为中学数学中最基本、最重要的内容.
本文介绍函数概念的主要形成过程,并给出一个适合高中阶段学习和教学的函数定义.
1 函数观念的雏形
马克思(Karl Marx)在《数学手稿》中认为“函数一词,原先是在处理方程个数少于其中出现的未知量个数的所谓不定方程时引进代数中来的”.有“代数之父”之称的丢番图(Diophantus)在《算术》(Arithmetica)中对不定方程已有相当的研究.因此可以说函数概念至少在古希腊时代已有萌芽.天文、地理、数学家托勒密(Claudius Ptolemy)在《天文学大成》(Almagest)中的正弦表被认为是用表格来表示的函数.
法国著名的自然哲学家奥莱斯姆(Nicole Oresme)在14世纪50年代的《论质量与运动的结构》(Tractatus de configurationibus qualitatum et motuum)和《论图线》(Tractatus de latitudinibus formarum)中开始研究运动和变化的量,提出了一种图线原理.但至多是一种图表形式的函数.
在17世纪早期,由于天文学和航海事业的发展,科学家以解释地球和天体运动作为研究课题,推动了函数概念的发展.1638年意大利科学家伽俐略(Galileo Galilei) 积数十年之力在《关于两门新科学的对谈》(The Discourses and Mathematical Demonstrations Relating to Two New Sciences)中以对话的体裁和朴素的文笔,总结了他在材料力学和动力学方面的研究成果,以及对力学原理的思考,用文字和比例的语言表达了函数的关系.例如:两个等体积圆柱体的表面积(底面积除外)之比等于它们高度之比的平方根(The areas of cylinders of equal volumes, neglecting the bases, bear to each other a ratio which is the square root of the ratio of their lengths.).又如:操作中的主要问题是针对高仰角的发射编制一个射程表,来作为仰角的函数给出炮弹所能达到的距离(the main one of which is the preparation of a table of ranges for shots of high elevation, giving the distance attained by the ball as a function of the angle of elevation).因此,伽利略第一个提出了函数或称为变量关系的这一概念.
自从微积分奠基人之一、英国物理学家、数学家牛顿(Isaac Newton)于1665年开始微积分的工作之后,他一直用“流量”(fluent)一词来表示变量间的关系.牛顿在《自然哲学的数学原理》(Philosophiae Naturalis Principia Mathematica)中提出的“生成量”(genitum)也是函数概念的雏形.
“function(函数)”这个词作为数学术语,是微积分奠基人之一、德国哲学家、数学家莱布尼茨(Gottfried Leibniz)在他1673年的手稿《切线的逆方法或函数方法》(Methodus tangentium inversa seu de functionibus)中首次使用的.莱布尼兹所指的函数是现在的可导函数.他当时用“函数”来表示任何一个随曲线上的点的变动而变动的切线、法线等的长度.17世纪的绝大多数函数都是当作曲线来研究的.1692年莱布尼茨发表在《教师学报》(Acta Eruditorum)的论文中正式使用函数来表示变量之间的依赖关系.
中文的“函数”一词是1859年中国清代数学家李善兰在翻译《代数学(Elements of Algebra)》时由“function”创译的.他给出的理由是“凡此变数中函彼变数者,则此为彼之函数”,即“函”为包含之意.
2 函数概念的明确
1718年,瑞士数学家伯努利(Johann Bernoulli)在关于等周问题的一篇论文中把函数定义为:一个变量的函数是指由这个变量和某些常量以任何一种方式组成的量(One calls here Function of a variable a quantity composed in any manner whatever of this variable and of constant).这是历史上第一个正式发表的明确的函数定义.
瑞士数学家、物理学家欧拉(Leonhard Euler)在1734年首次使用f(x)作为函数的符号,这种表述方法延续至今.1748年,欧拉在《无穷分析引论》(Introductio in analysin infinitorum)一书中说:“一个变量的函数是由该变量和一些数或常量以任何一种方式构成的解析表达式(A function of a variable quantity is an analytical expression composed in any manner from that variable quantity and numbers or constant quantities)”.该书首次用函数概念作为中心和主线,把函数而不是曲线作为研究对象.同时,他明确指出“数学分析是关于函数的科学”,微积分被看成是建立在微分基础上的函数理论.1755年,欧拉在《微分学原理》(Institutiones Calculi Differentialis)的序言中进一步给出了函数的定义:
当某变量以如下的方式依赖于另一些变量,即当后面这些变量变化时,前者也随之变化,则称前面的变量是后面变量的函数.(some quantities depend on others in such a way that if the latter are changed the former undergo changes themselves then the former quantities are called functions of the latter quantities.)
我国现行初中数学教科书大多采用了这种定义.比较莱布尼茨最早的定义,欧拉的定义发生了本质的变化:在莱布尼茨那里,函数的定义借助几何图形,而现在函数的定义已经摆脱了具体的几何背景,涉及到函数本质,这个本质就是刻画两个变量之间的变化关系.正因为如此,人们通常称欧拉的定义为函数的“变量说”.
19世纪的数学家开始对数学的各个分支进行形式化.德国数学家,被誉为“现代分析之父”的维尔斯特拉斯(Karl Weierstrass)倡议将微积分学建立在算术,而不是几何的基础上,这种主张比较趋向于欧拉的定义.
法国数学家柯西(Augustin-Louis Cauchy)在1823年所写的《微积分学摘要》(Le Calcul infinitésimal)中定义了函数:在某些变量间存在着一定的关系,当一经给定其中某一变量之值,其他变量之值亦可随之确定时,则将最初的变量称之为自变量,其他各变量则称为函数.(If variable quantities are so joined between themselves that, the value of one of these being given, one can conclude the values of all the others, one ordinarily conceives these diverse quantities expressed by means of the one among them, which then takes the name independent variable; and the other quantities expressed by means of the independent variable are those which one calls functions of this variable)
1837年,德国数学家狄利克雷(Johann Peter Gustav Lejeune Dirichlet)给出了如下的函数定义: 如果对于每一个x,有唯一有限的y值与它对应,使得当x从a到b连续变化时,y=f(x)也逐渐变化,那么y就称为该区间上x的一个连续函数.(If now a unique finiteycorresponding to eachx, and moreover in such a way that whenxranges continuously over the interval fromatob,y=f(x) also varies continuously, thenyis called a continuous function ofxfor this interval.)
用变量的说法定义函数,多多少少透露出表达式的影子,无论这个表达式是几何曲线还是代数式,因此这样的定义多多少少依赖着物理背景,不能实现概念的一般性,正如英国数学家斯托克斯(George Gabriel Stokes)所说:我们认为至关重要的是对函数的认识应当撇开一切代数表达式.1851年,德国数学家黎曼(Bernhard Riemann)给出了函数新的定义:
假定z是一个变量,它可以逐次取所有可能的实数值.如果对它的每一个值,都有未知量w的唯一的一个值与之对应,则w称为z的函数.(Let us suppose thatzis a variable quantity which can assume, gradually, all possible real values then, if to each of its values there corresponds a unique value of the indeterminate quantityw,wis called a function ofz.)
这样,黎曼采用数值与数值对应的方法定义了函数,摆脱了变量变化的物理背景,因为定义中采纳了“唯一的一个值与之对应”的说法,通常称这样的定义为函数的“对应说”.我国现行高中数学教科书大多采用了这样的定义.
1939年,法国布尔巴基学派(Nicolas Bourbaki)在集合论的基础上重构了数学最基本的概念和法则,给出函数的定义:
设E和F是两个集合,它们可以不同,也可以相同.E中的一个变元x和F中的变元y之间的一个关系称为一个函数关系,如果对于每一个x∈E,都存在唯一的y∈F,它满足与x给定的关系.称这样的运算为函数,它以上述方式将与x有给定关系的变元y∈F与每一个变元x∈E相联系.称y是函数在变元x处的值,函数值由给定的关系所确定.(LetEandFbe two sets, which may or may not be distinct. A relation between a variable elementxofEand a variable elementyofFis called a functional relation inyif, for allx∈E, there exists a uniquey∈Fwhich is in the given relation withx. We give the name of function to the operation which in this way associates with every elementx∈Ethe elementy∈Fwhich is in the given relation withx, and the function is said to be determined by the given functional relation.)
人们通常称这样的定义为函数的“关系说”.由此可以看到,高中函数定义的表述是黎曼对应说与布尔巴基学派关系说的融合,采纳了“对应”和“关系”的表述方式,但也引起了某些混乱.后来,布尔巴基学派将函数的定义完全符号化了:设F是定义在集合X和Y上的一个二元关系,称这个关系为函数,如果对于每一个x∈X,都存在唯一的y∈Y,使得(x,y)∈F.在这个定义中,已经很难找到变量、甚至对应的影子了.虽然这种完全形式化的定义更为一般,却是以丧失数学直观为代价的,因此不适于高中阶段的数学教育.
3 函数定义的讨论
北京师范大学版现行的高中教材中给出函数定义如下:
给定两个非空数集A和B,如果按照某个对应关系f,对于集合A中的任何一个数x,在集合B中都存在唯一确定的数f(x)与之对应,那么就把对应关系f叫做定义在集合A上的函数,记作f:A→B,或y=f(x),x∈A, 其中A叫做函数的定义域,集合{f(x)|x∈A}叫作函数的值域.
几乎所有教材都是类似表述的,并借助例题、习题给予了对应关系f和定义域A较多的关注,而集合B基本上被忽视了或者被误解为值域了!《2018年全国高考统一考试大纲》明确要求“了解构成函数的要素,会求一些简单函数的定义域和值域”.但是,在教学实践中对此认识模糊.我认为在这里函数的三要素是对应关系f,定义域A和集合B.特别需要指出的是,集合B是事先给定的,与事后求得的值域f(A)有本质的区别.严格地说,将函数写为y=f(x),x∈A也是有缺陷的.
例如:如果非空数集A=[-1,1],B=[0,1]或[-1,2),对应关系f(x)=x2,那么它们构成一个函数.如果非空数集A=[-1,1],B=(0,1]或(-1,1),对应关系f(x)=x2,那么它们不构成一个函数,因为不是每一个A中的数都有B中的数与之对应.
再如:已知集合A={2,4},B={4,16},C={4,9,16},函数f:A→B的对应关系为f(x)=x2,函数g:A→C的对应关系为g(x)=2x.按三要素的说法,这两个函数是不相等的,因为B和C不相同.
不少人认为函数的三要素是对应关系f,定义域A和值域f(A)是不对的.百度百科、搜狗百科给出的函数定义也是极其混乱和错误的:
给定一个数集A,假设其中的元素为x.现对A中的元素x施加对应法则f,记作f(x),得到另一数集B.假设B中的元素为y.则y与x之间的等量关系可以用y=f(x)表示.我们把这个关系式就叫函数关系式,简称函数.函数概念含有三个要素:定义域A、值域C(作者注:应为f(A))和对应法则f.其中核心是对应法则f,它是函数关系的本质特征.
鉴于以上原因,我们推荐在高中阶段将函数定义为:
设A是实数集的一个非空子集.如果存在一个对应关系f,使得对A中的每一个数x, 根据对应关系f, 都能得到一个唯一确定的实数y, 那么就称这个对应关系f是A上的一个函数,记作y=f(x),x∈A, 其中A叫做函数的定义域,集合{f(x)|x∈A}叫作函数的值域.
与传统的函数定义相比,这里没有特别地强调实数y所在的实数子集,或者认为此处集合B为整个实数集.于是,函数在这个意义下就有两个要素了:对应关系f和定义域A.
函数定义中的对应关系强调的是对应的结果,而不是对应的过程,相同的对应关系完全可能有很多不同的解析式来表达.例如,借助两因素的高中函数定义,可以认定函数y=cos2x+sin2x,x∈(-∞,+∞)和函数y=1,x∈(-∞,+∞)表示同一个函数,而不必指明集合B.更不会因为B不同,而认为函数不同!
事实上,我们推荐的定义与同济大学的《高等数学》(第三版)中的函数定义类似:
设x和y是两个变量,D是一个给定的数集.如果对于每个数x∈D,变量y按照一定法则总有(唯一)确定的数值和它对应,则称y是x的函数,记作y=f(x).数集D叫做这个函数的定义域.