Open AlexiaChen opened 4 years ago
尽量学以致用,虽然当今现代数学的发展速度超乎普通人的想象,前沿的数学理论早已经可能不能应用了。但是作为非纯数学专业的人还是尽量以应用为目的的方式,来罗列一些数学领域的学习顺序,顺带我查找资料推荐的书籍,能够应用到科技领域的数学,我也会顺带一提,数学主流还是分四研究大方向: 分析,代数,几何,拓扑。每个大方向又有无数子领域,但是学习初期,它们依赖的知识点,概念互相独立而又统一联系。所以尽量不分开讲。
但是这几个方向,还是有特点的,几何重图形与结构。分析重逼近与主次,代数重抽象与统一。可以看出来,分析是精细化推理与计算,代数更加抽象和一般化,直觉很重要,需要积累大量具体例子,几何主要就是图像了,也需要直觉。至于拓扑,其实就是几何的一个分支。
首先,还是走数学流派,国内本科大一,一般最开始是先学《数学分析》和《高等代数》了,所谓的数分高代,当然,在此之前,其实可以业余先学习了解下《数理逻辑》《集合论》(朴素集合论,公理集合论),这样是有好处的,因为数学越到后面越抽象,很多各种空间,映射等概念几乎是由集合论的描述语言外延扩展出去的,对你将来理解一些数学语言,概念有帮助。
《数学分析》其实就是高级,更严谨的《高等数学》和《微积分》,在某些观念上看,其实它们是一样的。《高等代数》其实就是更高级,更严谨的《线性代数》。这个就是数学系和工科专业的差别所在。这里会问,有没有微分方程的教材,其实一般《数学分析》里面,到后期的内容,就会涵盖一些基本的微分方程了。微分方程分为《常微分方程》(ODE)和《偏微分方程》(PDE)可深可浅,当然是先学ODE,再学PDE,本科级别的PDE不会深。
《解析几何》延续了前苏联的风格,美国大学数学系基础课一般不会开设这门课了,这门课其实我们在高中的时候就接触过一点,比如圆锥曲线,双曲线等。这是一门高中到大学的过渡课程,为后续的《射影几何》再到古典的《微分几何》(曲线与曲面的微分几何)铺垫路子。当然,大学开设的解析几何可能后续会提到射影几何里面的射影,仿射变换。如果觉得自己基础扎实,这门课可以不学,如果不扎实,可以一学,但是不要花太多功夫。它的意义也不是说没有,就是为二维,三维空间提供具体的例子,为以后铺路。当然,从大多数人士的观点来看,觉得这门课没意义,也没打什么基础,计算量还特别大(想想高考时候的压轴题),他们可以直接学《射影几何》《代数曲线》,或者用线性代数的矩阵来解决解析几何中,二维,三维空间的问题,也就是《解析几何》与《高等代数》《射影几何》某些内容合并一下。比如,我所在的区块链密码学里面涉及到的椭圆曲线就是射影几何的内容,还有一些椭圆曲线上双线性配对,双有理等价的概念是《代数几何》的内容。
数学分析我推荐的是张筑生的《数学分析新讲》,这本教材从观点上看更现代化一些。或者看普林斯顿的《微积分》或者也可以是《托马斯微积分》。这些都是分析流派的基础。基础不好,你后面就学不下去了。
《高等代数》我推荐复旦姚慕生的《高等代数学》,或者《程序员的数学--线性代数》,MIT的《线性代数及其应用》,《3D数学》,《线性代数应该这样学》,《线性代数的几何意义》。这些教材可以互相辅助来看,加深理解。当然,可能不同人的观点不同,有些人建议,在入门《线性代数》之前应该先稍微学习下《抽象代数》的前几章(不要全部学习),这样能以更加高观点的形式下理解线性空间等概念,这样接触到一些概念不会显得突兀。线性空间实际上不就是个环上模结构?这样结合的教材有《近世代数观点下的高等代数》陈辉著
《解析几何》推荐《曲线论》《曲面论》相关的书籍
显然,数学系是不学离散数学的,数学里面也没有这个领域,这个主要是给计算机系学的,挺有用的,计算机所用的数学,几乎出自《离散数学》。但是,离散数学太杂,其实是一本大杂烩,把计算机所需要的数学,什么都讲一点,但不会太深,里面涉及的群,环,域就出自《抽象代数》,还有一些简单的《组合数学》,《图论》,《集合论》,《数理逻辑》等内容,这些内容在早期人工智能,编译器技术,程序语言理论,理论计算机,数据结构与算法等领域都有用到。《离散数学》与数分高代不冲突,可以同时学,没有什么强制的先后顺序。如果你学不好,后面的编译器设计这门课的前端,词法分析,语法分析你是学不了的,那几章都是动不动就是有限状态机,抽象语法树等抽象点的知识,后端的机器码,寄存器分配,可能还会涉及《图论》的内容。
因为离散数学学好了,你才可以按照先后学《数理逻辑》,《公理集合论》,《模态逻辑》,《计算理论》,《计算复杂性理论》等等,学完离散以后,也可以直接学《概率论》,《数理统计》等。这是两条岔路,也可能有多条岔路,毕竟离散数学真只是大杂烩。
教材我推荐《离散数学及其应用》,《数据结构与算法分析》都可以结合着看。
现在开始,开始慢慢进入现代数学的大门了,不过离前沿还太远太远。数学一直都是从具象到抽象,过渡到一般化的过程。从《抽象代数》(又叫近世代数)开始你接触的概念就慢慢开始抽象起来,不好理解,一个老师的建议就是学抽代,要试图积累尽量多的具体例子,然后才能理解抽象的概念。其实我也是学了椭圆曲线上的点的加法,才知道上面构造了一个交换群(阿贝尔群)的,这个就是具体例子,后来对交换群理解更深刻了,居然有应用,不是那么虚无缥缈的概念了。抽代里面的群,环,域,格也是《密码学》,《程序语言理论》的基础工具,如果你Haskell语言等函数式语言学深入了,也多多少少会接触点抽代。
《复变函数》《复分析》有时候两者是等价的,其实就是在复平面上研究问题,学好数分的情况下,导数自然会过渡到复平面,基础是复数的四则运算等。解析函数,级数(前提学好数学分析,里面有泰勒展开等等),留数是这门课的关键,这门课学好了,才能先后学《信号与系统》《信号处理》等应用型课程内容(傅里叶分析,可以放到复变之前学习:傅里叶分析->复分析->信号与系统)。虽然这么说,其实在工程里面的信号处理,对这门课要求并不是很高,并不需要你多么厉害的数学能力,但要知道先修课程的基本概念,会做点简单的推导就可以了。其实《信号与系统》用了复变函数,简单的微积分和一点粗浅的线性代数知识,都不会要求先修课程要学得很好,当然,你能学得更好,那自然是更好,我在这里想说,没你想象中那么难,反过来其实是说,用到的这些基础,其实都是些皮毛知识。教材推荐《复分析:可视化方法》
《实变函数》《实分析》有时候这两者也是等价的,有人说,复变是激情的爱,实变是长情的陪伴,复变容易,实变很难,复变研究性质好的函数,实变研究点集测度上性质奇奇怪怪的函数。但是两者并没有强制的先后顺序,当然,如果你担心智力问题,可以先学复变,再学实变,这是个普通人学习的自然过渡。实分析学习好了,才能学之后的《一般拓扑学》去研究拓扑空间之类的,实分析学好了也才能继续学习《泛函分析》。另外,《一般拓扑学》之前先自己学下《点集拓扑》也许会更好。
《泛函分析》基本是大四时候的数学课程了,首先它很难,它需要数分高代,复分析,实分析,抽代来作为基础,为什么叫泛函分析,泛函就是广泛的函数,函数的泛化,也就是函数的函数,主要研究无穷维上的线性代数。分析这个路子,基本是以Stein的教材来学习。
所以你可以看到,分析,代数,几何,拓扑,其实都是独立又统一的流派,都有互相倾轧的基础概念。本科这些基础打好以后,研究生阶段就可以选择一定的方向了,之后的路线确实就比较独立了,虽然你接触到越来越前沿的数学,一个方向的不同子领域的博士可能也互相看不懂对方领域的论文这是很常见的,数学的高速发展超过了你的想象。
代数方向: 交换代数,代数拓扑,代数几何 几何方向: 黎曼几何,微分几何(非古典,因为现代微分几何是以黎曼几何为开端的) 拓扑方向: 代数拓扑,微分拓扑
当然,以应用为主的话,微积分和线性代数的基础好的话,学机器学习,数值计算那些乱七八糟的什么理论,都是可以的。基础不会太多,就那么一两个基础,剩下的就可以通过基础往外延。换句话说,其实也就是,如果你是以应用软件为主的方向发展,信号处理,人工智能,机器学习,强化学习,计算机图形学,密码学等门槛稍高的领域用到的数学基本都是皮毛,不需要你拿起数学的基础教材去补基础,你不需要像密码学家那样来补数学,就算是密码学家,也用了大量的前人工作,甚至把前人的工作当作黑盒性质来用。
应用型人才,学好数学主要是广度(以了解概念的联系为主),不是深度,用到的数学不会是偏怪难的方式。说不定看看,slides,还有十几,二十页的数学资料就学会用了,不需要往深钻研,不要被吓到。
正解
Mark
cy
中肯
数学学习路线图
前言
尽量学以致用,虽然当今现代数学的发展速度超乎普通人的想象,前沿的数学理论早已经可能不能应用了。但是作为非纯数学专业的人还是尽量以应用为目的的方式,来罗列一些数学领域的学习顺序,顺带我查找资料推荐的书籍,能够应用到科技领域的数学,我也会顺带一提,数学主流还是分四研究大方向: 分析,代数,几何,拓扑。每个大方向又有无数子领域,但是学习初期,它们依赖的知识点,概念互相独立而又统一联系。所以尽量不分开讲。
但是这几个方向,还是有特点的,几何重图形与结构。分析重逼近与主次,代数重抽象与统一。可以看出来,分析是精细化推理与计算,代数更加抽象和一般化,直觉很重要,需要积累大量具体例子,几何主要就是图像了,也需要直觉。至于拓扑,其实就是几何的一个分支。
正文路线图
基础不牢地动山摇之数分,高代,解几
首先,还是走数学流派,国内本科大一,一般最开始是先学《数学分析》和《高等代数》了,所谓的数分高代,当然,在此之前,其实可以业余先学习了解下《数理逻辑》《集合论》(朴素集合论,公理集合论),这样是有好处的,因为数学越到后面越抽象,很多各种空间,映射等概念几乎是由集合论的描述语言外延扩展出去的,对你将来理解一些数学语言,概念有帮助。
《数学分析》其实就是高级,更严谨的《高等数学》和《微积分》,在某些观念上看,其实它们是一样的。《高等代数》其实就是更高级,更严谨的《线性代数》。这个就是数学系和工科专业的差别所在。这里会问,有没有微分方程的教材,其实一般《数学分析》里面,到后期的内容,就会涵盖一些基本的微分方程了。微分方程分为《常微分方程》(ODE)和《偏微分方程》(PDE)可深可浅,当然是先学ODE,再学PDE,本科级别的PDE不会深。
《解析几何》延续了前苏联的风格,美国大学数学系基础课一般不会开设这门课了,这门课其实我们在高中的时候就接触过一点,比如圆锥曲线,双曲线等。这是一门高中到大学的过渡课程,为后续的《射影几何》再到古典的《微分几何》(曲线与曲面的微分几何)铺垫路子。当然,大学开设的解析几何可能后续会提到射影几何里面的射影,仿射变换。如果觉得自己基础扎实,这门课可以不学,如果不扎实,可以一学,但是不要花太多功夫。它的意义也不是说没有,就是为二维,三维空间提供具体的例子,为以后铺路。当然,从大多数人士的观点来看,觉得这门课没意义,也没打什么基础,计算量还特别大(想想高考时候的压轴题),他们可以直接学《射影几何》《代数曲线》,或者用线性代数的矩阵来解决解析几何中,二维,三维空间的问题,也就是《解析几何》与《高等代数》《射影几何》某些内容合并一下。比如,我所在的区块链密码学里面涉及到的椭圆曲线就是射影几何的内容,还有一些椭圆曲线上双线性配对,双有理等价的概念是《代数几何》的内容。
数学分析我推荐的是张筑生的《数学分析新讲》,这本教材从观点上看更现代化一些。或者看普林斯顿的《微积分》或者也可以是《托马斯微积分》。这些都是分析流派的基础。基础不好,你后面就学不下去了。
《高等代数》我推荐复旦姚慕生的《高等代数学》,或者《程序员的数学--线性代数》,MIT的《线性代数及其应用》,《3D数学》,《线性代数应该这样学》,《线性代数的几何意义》。这些教材可以互相辅助来看,加深理解。当然,可能不同人的观点不同,有些人建议,在入门《线性代数》之前应该先稍微学习下《抽象代数》的前几章(不要全部学习),这样能以更加高观点的形式下理解线性空间等概念,这样接触到一些概念不会显得突兀。线性空间实际上不就是个环上模结构?这样结合的教材有《近世代数观点下的高等代数》陈辉著
《解析几何》推荐《曲线论》《曲面论》相关的书籍
计算机流派的基础之离散数学
显然,数学系是不学离散数学的,数学里面也没有这个领域,这个主要是给计算机系学的,挺有用的,计算机所用的数学,几乎出自《离散数学》。但是,离散数学太杂,其实是一本大杂烩,把计算机所需要的数学,什么都讲一点,但不会太深,里面涉及的群,环,域就出自《抽象代数》,还有一些简单的《组合数学》,《图论》,《集合论》,《数理逻辑》等内容,这些内容在早期人工智能,编译器技术,程序语言理论,理论计算机,数据结构与算法等领域都有用到。《离散数学》与数分高代不冲突,可以同时学,没有什么强制的先后顺序。如果你学不好,后面的编译器设计这门课的前端,词法分析,语法分析你是学不了的,那几章都是动不动就是有限状态机,抽象语法树等抽象点的知识,后端的机器码,寄存器分配,可能还会涉及《图论》的内容。
因为离散数学学好了,你才可以按照先后学《数理逻辑》,《公理集合论》,《模态逻辑》,《计算理论》,《计算复杂性理论》等等,学完离散以后,也可以直接学《概率论》,《数理统计》等。这是两条岔路,也可能有多条岔路,毕竟离散数学真只是大杂烩。
教材我推荐《离散数学及其应用》,《数据结构与算法分析》都可以结合着看。
刘姥姥进大观园之抽代,复变,实变
现在开始,开始慢慢进入现代数学的大门了,不过离前沿还太远太远。数学一直都是从具象到抽象,过渡到一般化的过程。从《抽象代数》(又叫近世代数)开始你接触的概念就慢慢开始抽象起来,不好理解,一个老师的建议就是学抽代,要试图积累尽量多的具体例子,然后才能理解抽象的概念。其实我也是学了椭圆曲线上的点的加法,才知道上面构造了一个交换群(阿贝尔群)的,这个就是具体例子,后来对交换群理解更深刻了,居然有应用,不是那么虚无缥缈的概念了。抽代里面的群,环,域,格也是《密码学》,《程序语言理论》的基础工具,如果你Haskell语言等函数式语言学深入了,也多多少少会接触点抽代。
《复变函数》《复分析》有时候两者是等价的,其实就是在复平面上研究问题,学好数分的情况下,导数自然会过渡到复平面,基础是复数的四则运算等。解析函数,级数(前提学好数学分析,里面有泰勒展开等等),留数是这门课的关键,这门课学好了,才能先后学《信号与系统》《信号处理》等应用型课程内容(傅里叶分析,可以放到复变之前学习:傅里叶分析->复分析->信号与系统)。虽然这么说,其实在工程里面的信号处理,对这门课要求并不是很高,并不需要你多么厉害的数学能力,但要知道先修课程的基本概念,会做点简单的推导就可以了。其实《信号与系统》用了复变函数,简单的微积分和一点粗浅的线性代数知识,都不会要求先修课程要学得很好,当然,你能学得更好,那自然是更好,我在这里想说,没你想象中那么难,反过来其实是说,用到的这些基础,其实都是些皮毛知识。教材推荐《复分析:可视化方法》
《实变函数》《实分析》有时候这两者也是等价的,有人说,复变是激情的爱,实变是长情的陪伴,复变容易,实变很难,复变研究性质好的函数,实变研究点集测度上性质奇奇怪怪的函数。但是两者并没有强制的先后顺序,当然,如果你担心智力问题,可以先学复变,再学实变,这是个普通人学习的自然过渡。实分析学习好了,才能学之后的《一般拓扑学》去研究拓扑空间之类的,实分析学好了也才能继续学习《泛函分析》。另外,《一般拓扑学》之前先自己学下《点集拓扑》也许会更好。
本科数学系的终结之泛函分析
《泛函分析》基本是大四时候的数学课程了,首先它很难,它需要数分高代,复分析,实分析,抽代来作为基础,为什么叫泛函分析,泛函就是广泛的函数,函数的泛化,也就是函数的函数,主要研究无穷维上的线性代数。分析这个路子,基本是以Stein的教材来学习。
总结
所以你可以看到,分析,代数,几何,拓扑,其实都是独立又统一的流派,都有互相倾轧的基础概念。本科这些基础打好以后,研究生阶段就可以选择一定的方向了,之后的路线确实就比较独立了,虽然你接触到越来越前沿的数学,一个方向的不同子领域的博士可能也互相看不懂对方领域的论文这是很常见的,数学的高速发展超过了你的想象。
代数方向: 交换代数,代数拓扑,代数几何 几何方向: 黎曼几何,微分几何(非古典,因为现代微分几何是以黎曼几何为开端的) 拓扑方向: 代数拓扑,微分拓扑
当然,以应用为主的话,微积分和线性代数的基础好的话,学机器学习,数值计算那些乱七八糟的什么理论,都是可以的。基础不会太多,就那么一两个基础,剩下的就可以通过基础往外延。换句话说,其实也就是,如果你是以应用软件为主的方向发展,信号处理,人工智能,机器学习,强化学习,计算机图形学,密码学等门槛稍高的领域用到的数学基本都是皮毛,不需要你拿起数学的基础教材去补基础,你不需要像密码学家那样来补数学,就算是密码学家,也用了大量的前人工作,甚至把前人的工作当作黑盒性质来用。
应用型人才,学好数学主要是广度(以了解概念的联系为主),不是深度,用到的数学不会是偏怪难的方式。说不定看看,slides,还有十几,二十页的数学资料就学会用了,不需要往深钻研,不要被吓到。