标题：构造法
等比数列构造法的含义
例如，求525，231的最大公约数。
525=231×2+63，
231=63×3+42，
63=42×1+21，
42=21×2。
最后的余数为21，所以，525，231的最大公约数为21。
求上述两个数的最大公约数是经过有限个步骤而得到，因此，这是构造性的方法。
再如，求一元二次方程ax2+bx+c=0的根，可用求根公式在有限步骤内求出来。这也是构造性的方法。
现在考虑连续函数的最值定理：闭区间上连续函数有最大(小)值。在数学分析中证明这个定理时，只谈这个最值的存在，并没有给出一能行的过程在有限步骤内把这个最值计算出来，这是非构造性的方法。
图是一些顶点和一些线段的组合，在图论中给出了确切的定义，这个定义是属于构造性的。
通过以上几个例子，可以明显地看出构造法具有如下两个基本特征：
1．对所讨论的对象能进行较为直观的描述；
2．实现的具体性，就是不只是判明某种解的存在性，而且要实现具体求解。
构造法与构造主义
直觉数学阶段直觉派的先驱者是19世纪末德国的克隆尼克，他明确提出并强调了能行性，主张没有能行性就不得承认它的存在性。
他认为“定义应当包括由有限步骤所定义对象的计算方法，而存在性的证明对于要确立其存在的那个量，应当许可计算到任意的精确度。”他曾计划要把数学算术化并在数学领域中清除一切非构造性的成分及其根源。第二个强有力的倡导者是彭加勒，他主张自然数是最基本的直观，无需再作进一步的分析就可以认为是可信的，“与克隆尼克一样，他坚持所有的定义和证明都必须是构造性的。”近代构造法的系统创立者是布劳威，他完整而彻底地从哲学和数学两方面贯彻和发展了“存在必须被构造”的观点。这一学派中的主要人物还有海丁和魏尔。
他们在数学工作中的基本立场是：第一，认为数学的出发点不是集合论，而是自然数论。这就是海丁所说的：“数学开始于自然数及自然数相等概念形成之后。”所以他们不允许一般集合论概念进入数学，而将全部数学都归约为自然数算术和一种利用“展形”建造起来的构造性连续统概念的假定。第二，否认传统逻辑的普遍有效性而重建直觉派逻辑。第三，批判传统数学缺乏构造性，创立具有构造性的“直觉数学”。这就开始了构造法的第一阶段——直觉数学时期。算法数学阶段“发现集合论悖论以后，有些数学家认定了解决这些悖论引起的问题的唯一彻底的方法就是把所有的一般集合论概念都从数学中排除掉，只限于研究那些可以能行地定义或构造的对象”这就是布劳威创立直觉数学的想法。为此，他抛弃了许多通常的数学术语，引进了各种超数学原理，从而使得直觉数学难以为人读懂。同时直觉数学绝对排斥非构造性数学和传统逻辑的错误做法，无法解释后者在一定范围内的应用上的有效性。在这一点上，遭到了绝大多数数学家的反对。所以“对数学家来说，布劳威理论一直是稀奇的古董，而主要为逻辑家们感兴趣”。因而产生了另外几种构造性倾向，不象直觉数学那么走极端，它们的方案是把可容许数学对象的范围限制到某个多少是任意选定的类，而不象直觉数学那样去向传统的证明规则挑战。其中以马尔科夫及其合作者创立的“算法数学”，尤为引人注目。算法数学是一种把数学的一切概念都归约为一个基本概念——算法的构造性方法。它以递归函数理论为基础，因此，它的概念有非常严格的定义：每个函数都用它的哥德尔数的办法来处理，每个实数是一个特定的递归函数等等。它所用的方法是标准构造性的，所采纳的逻辑是直觉派逻辑。可见，马尔科夫的理论是一种不仅限制对象的类，而且限制可容许证明方法的类的“严格有穷主义”的理论，沙宁继续了马尔科夫的工作，研究了各种古典理论在马尔科夫算法数学中的模拟物。他甚至能够展述分析中象希尔伯特空间和勒贝格积分的构造性理论。由于马尔科夫的工作，使构造性方法进入了“算法数学”阶段。但是，因为这种构造法依赖于递归函数理论的术语，所以使这种算法数学外行人读起来十分困难，加之马尔科夫的后继者们似乎对于复杂理论及其在计算机科学上的应用比对于算法数学实践本身更有兴趣，使之算法数学由于缺乏合适的框架来进行数学实践，而处于一种冬眠的状态。现代构造数学阶段1967年，比肖泊的书出版以后，宣告了构造法进入“现代构造数学”阶段。比肖泊通过重建现代分析的一个重要部分，重新激发了构造法的活力。他研究的课题广及测度论、对偶理论、泛函微积。尤其是他和钦基于丹尼尔积分所创立的新的构造性的测度理论，轻易地消除了对于在实直线上构造可数可加测度的可能性的种种忧虑，并且还证明了构造的连续统在一种强的意义下是不可数的。虽然比肖泊的工作植根于布劳威的工作，但是他能从直觉数学的自我禁锢的概念中解脱出来，他避免使用直觉派的超数学原理，摆脱了算法数学对递归函数——理论方法的不必要的依赖，超脱了对于形式体系的任何束缚，从而保留了进一步创新的余地。同时比肖泊采用数学上大家熟悉的习惯术语和符号，所以为一般数学家容易看懂。
数学构造性方法的应用
大致说来，数学构造法有两类用途：
1．用于对经典数学的概念、定理寻找构造性解释。在大多数情况下，猜测经典定理所对应的构造性内容，即使构造性内容确实存在的话也绝非易事。还是让我们举例来说明。
例1 如何在可构造性意义下来定义实数概念？
直觉数学者的具体做法是：首先引进所谓“属种”的概念以取代康托尔意义下的集合概念。进而布劳威又引进了“选择序列”的概念，并以“有理数选择序列”取代古典分析中的有理数柯西序列概念，称之为“实数生成子”。相应于古典分析中把实数定义为有理数柯西序列等价类，可构造意义下的单个实数被定义为实数生成子的一个等价属种。如上所见，建立可构造性实数概念没有实质性困难，其原因就在于柯西—魏尔斯特拉斯的整个极限论建基于潜无限观念。因而在实质上，直觉数学者在此不过是在能行性的要求下重新陈述柯西序列而已。
现代构造数学者的作法是：为了构造一个实数，我们必须给出一个有限的方法，将每一个正整数n转化为一个有理数xn′，并且使得x1′，x2′，…是一个柯西序列，它收敛于所要构造的实数。我们还必须对这一序列收敛速度给出明确估计。可见，现代构造数学已经从那些似乎把直觉数学者扼杀的概念(诸如选择序列、属种概念)中超脱出来。 
例2 关于代数基本定理的构造性证明。
代数基本定理的经典说法为：任何复系数的非常数多项式f至少有一个复根。(1)
对于(1)最著名的传统证明是，假定f不取零值，把刘维尔定理用于f的倒数，得出结论1/f是常数，因此f是常数，这一矛盾便完成了证明。
但是构造数学者会争议说，这样做所证明的并不是基本定理，而是如下较弱的论断：
不取零值的复数上多项式是常数。(2)
同时上述证明，也没有提示替多项式找根的方法。
代数基本定理的构造性说法是布劳威给出的：
有一个适用于任何复系数的非常数多项式f的有限方法，我们能够用以计算f的根。(3)
现在给出布劳威对于首项系数为1的多项式的代数基本定理的证明：他首先证明了f可以假定为高斯数域Q〔i〕上的正数阶多项式，然后，再选择半径R足够大，使得f(x)被它的首项所支配，接着利用f围着以O为心，R为半径的圆周所绕的圈数等于f的阶数这一事实，他构造了一个高斯数z，使f(z)极小，而f′(z)相对地大。最后利用牛顿—拉夫森迭代，构造出f的复根。
比较构造性证明与传统证明，可以看出，虽然布劳威的证明确实是比使用刘维尔定理的证明更长，但构造性证明比传统证明给出的“信息量”要多得多。比如布劳威的方法能求出复数上任何给定的正次数的首项系数为1的多项式的根。特别地，用他的证明办法，你可以为100阶多项式找到根，而传统证明根本没有涉及找根的方法。
比肖泊在书中写道：每个经典的定理都提出了一个挑战：找出一个构造性的说法，并给它以一个构造性的证明。但事实上，许多经典的定理，看来不象会有任何构造性的说法与证明，例如波尔查诺—魏尔斯特拉斯定理，zorn引理等就是这样。
2．用于开发构造性数学的新领域，组合数学、计算机科学中所涉及的数学，都是构造性数学的新领域，尤其是图论更是构造数学发展的典型领域之一。因为图的定义就是构造性的，同时图的许多应用问题，如计算机网络，程序的框图，分式的表达式等，也都是构造性很强的问题。
例3 给出树、最小树、树形图的构造性定义。
树，就是一个无向图，它的任何两个顶点间，可以由唯一的(即没有圈)的连结方法，通过一串两两有公共顶点的边的序列(即链)连结起来。图中每一条边有一个长度，使总长度最小的树，称为最小树。树形图，就是定向图上的这样一个构造：如果不考虑线段的方向，则它是一棵树；如果考虑线段的方向，则有一个顶点v0没有任何有向线段指向它，而其余各点vi有唯一的一个有向线段指向它。我们称有向线段为弧，顶点v0为树形图的根。可见它们的定义具有直观性与能行性，所以是构造性定义。
例4 1965年国内发表了朱永津、刘振宏“关于求定向图上的最小树形图”的文章。他们提出关于最小树形图的算法简述如下：
(1)除v0外，对每一点vi，在指向vi的弧中选取一个最短的ai，若选取的这些弧恰好构成一个树形图，则它就是最短的树形图。否则，被选取的弧构成某些互不相交的回路ci。
(2)设c是一条回路，v为c上的一个点，则c上有唯一一条弧指向v，记它为a(v)，它的长度记为l〔a(v)〕，设w为c处之顶点，且l(w，v)是图的一条弧，其长度为l(w，v)。现在把l(w，v)的长度进行修改，定义为l(w，v)=l(w，v)-l〔a(v)〕。对c上每一点v进行完这一步，将c收缩之后，这样就得到一个新的图。
重复(1)、(2)两步，最后就得到收缩图上的树形图。
(3)把这个树形图中的收缩点依次重新撑开为回路，这时撑开的图上，有些点有两个弧指向它，那么去掉回路上的那一条弧后，就成为树形图。重复这个步骤，直到没有收缩点为止。这时得到的树形图，就是最小树形图。可见这个算法是按固定方式经有限个步骤能够实现的方法，所以是构造性方法。
应用构造性方法获益匪浅的另一个数学分支是数值分析。
例5 给数值逼近理论中居核心地位的定理：
令X是实赋范空间E中的有穷维线性空间，那么，对E中每一点a，对应X中的一点b，使得a与b的距离等于a到X的距离。(4)
找一个适当的构造性的替代命题。为此，引入如下概念：
定义1 令E为距离空间，X为E的非空子集，a是E中的元素。如果对X中每一对不同的元素x，y，在X中有z，使得max{d(a，x)，d(a，y)}>d(a，z)，则称a在X中至多有一个最优逼近。
定义2 如果对X中所有的x，d(a，x)≥d(a，b)成立，则称X中的一个元素b是a的在X中的最优逼近。
于是，我们就找到一个适当的构造性替代命题：
令X是实赋范空间E中的一个有穷维线性子空间，a为E中的元素，它在X中至多有一个最优逼近。那么，我们可以计算出a在X中的最优逼近。(5)
按照经典数学的看法(4)与(5)是等价的。但是(5)的构造性证明包含了一个应用性极为广泛的算法。①
此外，拓扑学，特别是维数理论，也是可以为构造法的洞察力提供实例的数学分支，所以也是构造数学有待开发的新领域。
构造性数学与非构造性数学的差别与联系
为了充分认识构造性数学与非构造性数学之间的差别，我们有两条工作原理为准。第一条是在非构造性数学中成立而构造性数学中不能接受的原理——排中律；第二条是比肖泊称之为全能的极限原理(简称LPO)；如果(an)是{0，1}上的序列，那么，或者对所有的n，an=0，或者存在N，使得，aN=1。
LPO的构造性解释是：我们有一个有限的方法，它适用于任何一个{0，1}上的序列(an)，或者证明对每一个n，an是零，或者构造一个N，使之满足aN=1。如果真是这样一种方法，那么，我们就有了统一的办法来解决(诸如：费尔马最后定理，黎曼猜想以及哥德巴赫猜想)一大批悬而未决的问题，可以断言应用如此广泛的统一解决的方法是绝对不会找到的，所以LPO不是构造数学的工作原理。故凡是经典定理在被构造性证明时需要用到LPO，或者虽不需要用到LPO，但需要用到另一些与LPO构造方式相似的原理，则它们实质上是非构造性的。
构造数学与非构造数学之间的联系表现在“共生性”与“分岔性”上。至今，数学的构造性方法的进展始终是直接因袭标准的非构造数学想法而得到的。因此人们往往产生一种错觉，以为构造数学“寄生”于非构造数学而发展。其实不然，往往构造数学比非构造数学能为某些定理提供更加自然、更加简单的证明，甚至可能得出一些新的非构造数学的定理。所以，这两种类型的数学之间的关系是相辅相成的共生性关系。
另一方面，一个经典定理在承认排中律的前提下，会有几个经典等价的说法，其中有些可以构造性地加以证明，这样就经常发生一个经典的定理有好几种极为不同的构造性解释。比如复分析中皮卡德大定理就是如此。这就是解释的“分岔性”。这种分岔性是构造数学的最有趣、最有成效的方面。
美籍中国数学家王浩认为“构造性数学是做的数学，非构造性数学是在的数学”。数学的在是信息模式和结构的在，数学的做是信息加工。我国数学家胡世华先生认为构造性数学的倾向是用数学取得结果把结果构造出来，侧重于思维的构造实践，有限制地使用排中律；非构造性数学的倾向是数学地理解问题和规律，建立数学模型形成数学理论体系。追求科学理想，可以自由地使用排中律。
构造性与非构造性数学既有上述的区别，又有一定的联系，它们是相辅相成的。数学的构造性方法的进展自觉不自觉地直接因袭非构造性数学想法而得到的；非构造性数学中又总包含有构造性数学的因素，纯粹的非构造性数学是不存在的。
数列中的构造法
高中数学主要学习了等差数列和等比数列，但在平时的习题中，往往碰到的不是这两类数列，所以有时需要用构造法将其转化为等差数列或等比数列等比数列的构造遇到a(n)=M*a(n-1)+C(C为常数）时，可以构造等比数列
如：a1=1,a(n+1)=2a(n)+1
可以左右同时加一得：(a(n+1)+1)=2(a(n)+1) 变成等比数列
得 a(n)+1=2^n
从而a(n)=2^n-1等差数列的构造对于a(n+1)=M*a(n)+f(n)的形式（f(n)不为常数），可构造等差数列
已知b(n)=3*2^（n-1）,bn=a(n+1)-2a(n),求an通项公式
整理得a(n+1)=2*an+3*2^(n-1)
两边同除2^(n-1)得 a(n+1)/(2^(n-1))=a(n)/(2^(n-2))+3
所以a(n)/(2^(n-2))为等差数列
所以an/(2^(n-2))=a1/(2^(1-2))+3（n-1）
从而表示出an