大象动物

什么是非线性?可以从线性出发,进而定义非线性。但这样做的后果可能给人一种错误印象:以为线性是基本的,非线性是次生的;线性是重要的, 非线性是细枝末节;线性是逻辑先在的,非线性是逻辑派生的。其实线性与非线性无所谓先与后,无所谓好与坏。

简单说,线性是指成直线关系,或呈直线关系,更简单的说法是成比例关系。以投入产出为例,做 2 分工,出 5 克产品,做 4 分工,出 10 克产品,

做 3 分工,则出 7.5 克产品。这太好理解了。

再看弹簧的形变问题。经过长期的实践人们发现,弹簧下面悬挂重物时,弹簧的长度会变长,而且遵守一定的规律。设弹簧不载物时原长 18 厘米(这个数值其实无关紧要),力的单位以“牛顿”记。只研究挂重物平衡后的情况,这时恢复力(F)与重力(G)大小相等方向相反,都作用在弹簧上。经测量有表 3-1:的数据,注意,请不要害怕数据。

由实验可以确定恢复力 F 与伸长量△x 之间的函数关系: F=-k△x,

其中负号表示恢复力的方向与形变量方向相反。上述公式表达的是一种呈直线的关系,叫做线性关系。其中 k 是系数,称劲度(stiffness)系数, 以前叫做“倔强系数”,在本例中其数值为 20 牛顿/厘米。

我们还发现,恢复力 F 与弹簧长度 L 之间并没有明显关系。

力 F 与形变量△x 的线性关系被称作郑玄-虎克(R.Hooke)定律(东汉经学家郑玄在注解《考工记·弓人》时,先于胡克提出了此定律),初中物理学就讲述此定律。它是弹性力学的基本规律,还可以叙述为:“在小变形情况下,固体中的应力与应变成正比。”我们应当明确此定律并不是永远成立的,其前提是“在弹性限度内”或“小变形情况下”。在一般情况下,这就是其唯一限制了,在严格意义上,即使在弹性限度内,两者也未必呈线性关系。但由于差别不大,通常只承认线性关系。

可是,时间久了,学者们却容易得出一个虚假的结论,力与形变总是呈线性关系的,甚至线性关系才是大自然的本来面目。准确地说,线性关系只是局部关系,只在局域上成立。什么是“局部”?对于不同系统有不尽相同的含义。

其实,投入产出关系也不一定是线性的,学过经济学的都知道“边际收益/效用递减规律”,意思是说,自变量增加时,因变量不是成比例地增加。一亩地施 1 斤化肥增产 10 斤粮食,施 2 斤化肥可能增产 20 斤,但施 3 斤化

肥可能只增产 25 斤,施 100 斤化肥可能减产 100 斤,再下去会怎样?施 200 斤化肥可能颗粒不收。怎么?苗都烧死了!前面做工的例子也一样,开始时线性增加,由于人的工作强度是有限的,用工过多,效率必然下降,投入同样多的劳动,只能多产出一点点。

弹簧的例子也是如此,所挂物体重量达到一定量值,接近或超过弹性限度,力 F 与弹簧形变△x 也不再是线性关系。从图象上看,线是弯曲的。

再抽象一些,可以把线性定义为:系统中变量所满足的函数关系只是线性函数,则变量具有线性关系。只包含线性关系的系统称线性系统。“线性” 与“非线性”更准确的说法可用“算子”表达出来。数学公式有利于明晰, 如果你很讨厌数学公式,可以跳过有关内容,当然你的收获也少些,更大的缺点是,仅仅凭普通语言文字,可能误解作者的用意。

设φ和ψ是任意两个(向量)函数,a 和 b 是任意两个常数,若算子 L 满足如下叠加原理

L(aφ+bψ)=aL(φ)+bL(ψ),

则称 L 是线性算子,否则 L 是非线性算子。包含非线性算子的系统为非线性系统。从功能上看,非线性是通过线性来定义的。从形式上看,非线性在方程中指相关变量含有二次或二次以上的项。

初中数学讲过直线方程:y=kx (任何直线方程都可以通过平移,化为这种形式);高中数学讲过抛物线方程:y2=2px。前者是线性方程,后者是非线性方程。

所谓“叠加原理”也不难理解。用上述两个方程可作完全说明。对于方程而言,可叠加的含义是,两个解加起来后仍然是原方程的一个解。设 x1、y1 和 x2、y2 是上述直线方程的两组解。对于 y=f(x)=kx,有

y1=kx1, y1=kx2·

我们很容易证明,x1+x2,与 y1+y2 也一定是此方程的一个解: f(x1+x2)=kx1+kx2=k(x1,+x2)

=y1+y2·

非但如此,我们还能证明,对于任意两个常数 m 和 n, (mx1+nx2, my1+ny2)也一定是方程的解。

现在看一个稍复杂的例子。大学中一般都学过微分方程,通常只学线性微分方程。二阶齐次线性微分方程的一般形状为:

d2 y dy

dx2 +P(x) dx +Q(x)y=0.

因为方程关于未知函数 y 是一次的,最高阶导数为二阶,所以叫二阶线性微分方程。假设 y1 和 y2 是方程的两个解,设 C1 和 C2 是任意两个常数, 可以证明 C1y1+C2y2 一定也是方程的解。

d 2 d

[ dx2 +P(x) dx +Q(x)](C1y1+C2 y 2 )

d 2 d

=[ dx2 +P(x) dx +Q(x)]C1 y1+

d 2 d

[ dx2 +P(x) dx +Q(x)] C2 y2 =0.

其实,解的这种可叠加性正好可用于求线性微分方程的通解。如果 y1 和 y2 是二阶齐次线性微分方程的两个“线性无关”的特解,则 C1y1+C2y2 就是方程的通解。注意,“线性无关”与“非线性”可是两个完全不同的概念。

非齐次线性方程的通解可表示为y=C1y1+C2y2+y*,

其中 y*是非齐次线性方程的一个特解,C1y1+C2y2 是齐次线性方程的通解。

中学和大学物理课都讲过谐振子运动。谐振子运动系统是线性系统,解具有叠加性。如果 x1(t)是在策动力 F1 作用下的运动,而 x2(t)是在策动力 F2 作用下的运动,则在合力 F1 和 F2 联合作用下的运动就是 x1(t)+ x2(t)。阻尼谐振子的运动方程为:

d2 x

dt 2

+ 1dx +ω 2x =F. τdt o 1

它只是我们上面说的二阶线性微分方程的一种特例。如果

d2 x 1dx

11 +ω 2x =F ,

dt 2

d2 x

τdt

1dx

0 1 1

22 +ω 2 x

=F ,

dt 2

τdt

0 2 2

则一定有

d2 y

dt 2

+ 1dy +ω2 y =F +F ,,y=x +x .

τdt 0 1 1 2 1 2

在数学中线性与非线性是好区分的。方程中只要变量之间不互相乘除,

就不会出现非 1 次的项,因而就没有非线性。变量所构成的项只要有 2 次、

3 次以及非整数幂次,则一定是非线性方程。大学有门课程叫“线性代数”, 因为那里讨论的基本上都是线性方程。

应当注意的是,在物理世界情况比较复杂,“线性”与“非线性”不是绝对分明的。特别是在“非线性现象”这一叫法中,有许多模糊之处。对于某些复杂现象,在一定条件下,既可以把它视为非线性现象也可以把它视为线性现象,这与人们看问题的角度和所关心的变量的时空尺度有关。

即使从数学上看,线性与非线性也可以转化。一些非线性方程也可以通过变量替换等等技巧,化成线性方程,然后对线性方程求解,求解后再代回去,间接求得原来非线性方程的解。另一方面,当非线性非常弱时,非线性影响较小,在处理过程中,可以忽略非线性项。过去用得最多的是,对非线性问题强制作“线性化”处理,这是一种“危险的”的方法,但常常是不得已的办法。实践证明“线性化”技术“常常”奏效。对于“常常”在后文要做适当修正,实际情况是“不常常”。

在非线性科学大规模涌现之前,人们自觉或不自觉地普遍持有一种过分乐观的想法,以为任何问题都可以线性地获得圆满解决。现在看来,非线性是普遍存在的,多数问题不能通过线性的办法或线性化的办法解决,因而直接面对非线性是不可避免的。(当然,直至今日也还有一些人认为研究非线性是不必要的!)

非线性系统比线性系统更普遍。如果说线性是动物中的大象,则非线性则是非大象动物。