APP下载

鸡兔同笼之白话矩阵版

2021-09-11李尚志

数学通报 2021年7期
关键词:半轴垂线复数

李尚志

(北京航空航天大学 100083)

1 数组解鸡兔

例1鸡兔同笼共30 个头, 84 只脚.鸡兔各多少只?

解每只鸡1个头,2只脚,排成数组(1,2)来表示.同理,兔=(1,4)表示每只兔1个头,4只脚.鸡的总数乘(1,2)得到鸡头和鸡脚的总数,兔的总数乘(1,4)得到兔头与兔脚的总数.二者相加得到鸡与兔的头总数与脚总数,我们的目标是让总数等于(30,84).

解法1先用30只鸡得到30(1,2)=(30,60).离目标还差(30,84)-(30,60)=(0,24).

还需补充24只脚,头数不能改变.有什么动物只有脚没有头?

30鸡+12(兔-鸡)=30(1,2)+12(0,2)=(30,60)+(0,24)=(30,84).

鸡兔个数为:30鸡+12(兔-鸡)=30鸡+12兔-12鸡=18鸡+12兔.

解法2先将目标分解:(30,84)=(30,0)+(0,84).分别组合(30,0),(0,84)再相加.

2鸡-兔=2(1,2)-(1,4)=(1,0),乘30得(30,0)=30(2鸡-兔)=60鸡-30兔.

兔-鸡=(1,4)-(1,2)=(0,2),乘42得42(0,2)=(0,84)=42(兔-鸡)=42兔-42鸡.

相加得(30,84)=(30,0)+(0,84)=60鸡-30兔+42兔-42鸡=18鸡+12兔.

答.共18只鸡,12只兔.

2 矩阵运算的白话版

例2宇宙某星球有外星鸡兔.每只外星鸡a个头,c只脚;每只外星兔b个头,d只脚.现有外星鸡兔同笼共m个头n只脚.外星鸡、兔各多少只?

解法1依样画葫芦照搬例1:外星鸡兔分别用数组表示为:鸡=A1=(a,c),兔=A2=(b,d).希望将它们乘适当倍数x,y再相加得xA1+yA2=(m,n).

先用A1,A2组合出E1=(1,0),E2=(0,1),再分别乘m,n再相加得mE1+nE2=(m,0)+(0,n)=(m,n).

为了用A1=(a,c),A2=(b,d)组合E1=(1,0),先将A1,A2中的脚数c,d抵消成0.

为此,只要将c,d分别乘d,c再相减:

dA1-cA2=d(a,c)-c(b,d)=(ad-bc,0).

当D=ad-bc≠0,除以D得

还需用A1,A2组合E2=(0,1).这就需要先消去A1,A2中的第一坐标(头数)a,b.为此,将(a,b)的b倍减(b,d)的a倍:bA1-aA2=b(a,c)-a(b,d)=(0,bc-ad)=(0,-D).

再除以-D≠0得

于是

(m,n)=m(1,0)+n(0,1)

解法2(矩阵解法) 设有x只外星鸡,y只外星兔.按头数、脚数列方程组

写成矩阵形式

答案与解法1相同.

中学生当然不懂矩阵解法.但翻译成初等数学的“白话文”就可以懂.

矩阵运算的“白话”翻译

(1)矩阵乘一列——线性组合

解方程组AX=xA1+yA2=B就是用适当系数x,y乘矩阵各列A1,A2再相加得到常数项列B.这与例2解法1用A1=(a,c),A2=(b,d)组合B=(m,n)是同样的目标.只不过没有把A1,A2,B竖起来排成列.

(2)矩阵求逆——组合自然基

解法1由外星鸡兔头数与脚数组成的坐标A1=(a,c),A2=(b,d)组合了

dA1-cA2=(ad-bc,0)=(D,0),

-bA1+aA2=(0,D),D=ad-bc.

例2解法1是由例1的初等数学解法照抄来的.不需要用到线性代数高等代数知识,不需要懂矩阵乘法、附属方阵、矩阵求逆.靠线性组合解决问题,却不知不觉算出了附属方阵和逆矩阵.就好比小孩子不懂古文,读不懂《三国演义》,可以读白话译文懂赤壁大战.

中学生不懂逆矩阵,更不知道逆矩阵对于求解鸡兔问题有什么用处.但能够懂只要把(1,0),(0,1)组合出来:

就能将它们分别乘m,n再相加得出(m,n)的组合式

=(m,n),

启示1.什么是“初等数学研究”?读懂大学数学,再翻译成“白话文”教中小学生.

2.什么是“读懂”大学数学?以线性代数为例:不能只懂矩阵乘法的现成算法,必须懂指挥这些算法的简单想法.矩阵乘法的法则是为了表示线性映射而定义成这个样子的,表示线性映射就要表示线性组合.按分块运算来理解矩阵乘法,才能理解矩阵与线性组合之间的关系.线性组合、线性映射是“源”,矩阵乘法法则是“流”.只讲流不讲源,矩阵乘法法则就显得莫名其妙,大学生都觉得困难.利用分块运算追本索源,中学生都可以学会.

3 更多的例子

例3100个人吃100个馒头.大人每人吃3个,小孩每3人吃1个,大人小孩各多少?

解大=(1,3),3小=(3,1)分别表示1个大人、3个小孩的人数与馒头数.

则,大+3小=(1,3)+(3,1)=(4,4).乘25得25(大+3小)=25(4,4)=(100,100).

人数为25(大+3小)=25大+75小.

答共25个大人,75个小孩.

以上算法25[(1,3)+(3,1)]=25(4,4)=(100,100)可以通俗解释为:

例3利用了目标数组(100,100)的特殊性质100=100,没有去组合(1,0),(0,1),而是直接组合了(1,3)+(3,1)=(4,4)使4=4.再乘25就到位了.其实,我最先想到的是例3这个解法.然后想推广到例1的鸡兔同笼.那就需要先凑出数组中两个数的比例为30∶84再同时扩大.这比较困难,缺乏通用性.其中原因是只想到原始数组(1,2),(1,4)作加法与乘法,没敢用减法.后来想到可以用减法(1,4)-(1,2)=(0,2),一切都迎刃而解了.

例3也可以按通法先组合自然基:3(3,1)-(1,3)=(8,0),3(1,3)-(3,1)=(0,8).请你自己完成这个算法.

解大=(1,10),中=(1,1),16小=(16,1)表示各种鱼的条数与斤数.目标是将它们分别乘适当正整数得到(100,100).

大-中=(1,10)-(1,1)=(0,9),

16小-中=(16,1)-(1,1)=(15,0).

为了组合出“条数=斤数”的(100,100),将(15,0),(0,9)分别乘适当正整数,使15,9扩大成它们的最小公倍数45:

3(16小-中)+5(大-中)

=3(15,0)+5(0,9)=(45,45).

再加55中=55(1,1)=(55,55)就得到

3(16小-中)+5(大-中)+55中

=(45,45)+(55,55)=(100,100),

其中

3(16小-中)+5(大-中)+55中

=48小-3中+5大-5中+55中

=5大+47中+48小.

答共5条大鱼,47条中鱼,48条小鱼.

例5(中国剩余定理)求最小的正整数除以3,5,7的余数分别是2,3,1.

解每个正整数x除以3,5,7分别得到余数r1,r2,r3,排成数组f(x)=(r1,r2,r3)=r1(1,0,0)+r2(0,1,0)+r3(0,0,1).先求正整数x1,x2,x3满足f(x1)=E1=(1,0,0),f(x2)=E2=(0,1,0),f(x3)=(0,0,1).则x=r1x1+r2x2+r3x3满足f(x)=(r1,r2,r3).x除以3×5×7=105的余数r=x-105q是满足f(r)=f(x)=(r1,r2,r3)的最小非负整数.

f(x1)=(1,0,0)表示x1除以5,7的余数都是0,是5,7的公倍数,因而是最小公倍数5×7=35的整数倍.f(35)=(2,0,0),35×2=70满足f(70)=(1,0,0).

类似地得到3×7=21满足f(21)=(0,1,0),3×5=15满足f(15)=(0,0,1).

f(70r1+21r2+15r3)=(r1,r2,r3).

本题x=70×2+21×3+15×1=218除以105的余数8满足f(8)=(2,3,1).

答8是满足条件的最小正整数.

4 代数运算律的几何含义

例6平面直角坐标系中,点P(x,y)绕原点沿逆时针方向旋转90°到P′,求P′的坐标.

解法1如图,P(x,y)的横坐标就是P到x轴的垂线PA的垂足A(x,0)在x轴上代表的数x.P的纵坐标是P到y轴的垂线PB的垂足B(0,y)在y轴上代表的数y.

将整个平面绕原点O沿逆时针方向旋转90°.

则x轴转到与y轴重合,方向相同.x轴正半轴转到y轴正半轴重合,x轴负半轴转到y轴负半轴.x轴上代表实数x的点A(x,0)转到y轴上代表同一实数x的点A′(0,x).

y轴转到与x轴重合,但方向相反.y轴正半轴转到x轴负半轴,y轴负半轴转到x轴正半轴.y轴上代表实数y的点B(0,y)转到x轴上代表相反数-y的点B′(-y,0).

P到x轴、y轴的垂线PA,PB分别变成P′到y轴、x轴的垂线P′A′,P′B′.垂足B′(-y,0)的横坐标-y就是P′的横坐标,A′(0,x)的纵坐标x就是P′的纵坐标.

因此,P′的坐标等于(-y,x).

解法2每个点P由它的坐标(x,y)代表.记为P=(x,y).并且记P=A+B表示P的坐标(x,y)=(x,0)+(0,y)等于A,B的坐标之和.

进一步记A=(x,0)=x(1,0)=xE,B=(0,y)=y(0,1)=yE′表示A,B的坐标分别是E=(1,0),E′=(0,1)的坐标的x倍、y倍.

则P=(x,y)=x(1,0)+y(0,1)=xE+yE′的坐标分解为自然基E=(1,0),E′=(0,1)的实数倍之和.

将平面上绕原点O沿逆时针方向旋转90°的动作记为i.则P′=i(P)=i(x,y)是P(x,y)被i旋转到的点P′的坐标.假如i的旋转作用

P′=i(x,y)=i(x(1,0)+y(0,1))

=xi(1,0)+yi(0,1)

=xi(E)+yi(E′),

可以看成一个数i乘坐标(x,y)=x(1,0)+y(0,1),按分配律和交换律展开,只需求自然基(1,0),(0,1)为坐标的点E,E′(也就是x轴、y轴上代表实数1的点)旋转之后的坐标,i(E),i(E′),分别乘x,y再相加就得到P′的坐标.

易见x轴正方向的E=(1,0)转到y轴正方向上i(1,0)=(0,1).y轴正方向上(0,1)转到x轴负方向上i(0,1)=(-1,0).

因此P′=i(x,y)=xi(1,0)+yi(0,1)=x(0,1)+y(-1,0)=(-y,x).

代数运算律的几何白话

解法2为什么正确?必须解释为什么几何旋转i满足代数运算律:

(1)分配律i(A+B)=i(A)+i(B),

(2)交换律i(xE)=xi(E).

一般地,设σ将平面上所有的点绕原点旋转同一个角度α,证明它满足运算律:

(1)分配律σ(A+B)=σ(A)+σ(B),

(2)交换律σ(xE)=xσ(E).

旋转动作σ是几何变换,听不懂代数语言,只懂几何语言,需要将代数运算律翻译成几何性质,才知道它是否满足.

旋转动作两条重要几何性质是:1.保持图形的形状大小不变.2.保持原点O不动.

第二条什么意思?就是σ(O)=O.也就是σ乘0等于0.任何数乘0都必须等于0.如果没有这一条,就没有资格充当数的乘法.不过可以充当数的加法.所以,平移动作不能充当乘法,但可以充当加法.

σ(P)=σ(A+B)=σ(A)+σ(B),

分配律成立.

再将坐标E的实数倍A=xE翻译成几何语言,证明交换律σ(xE)=xσ(E)成立.

再考虑x=-|x|<0的情形.此时A=-|x|E=(-1)|x|E由E乘|x|再乘-1得到.已经证明乘σ与乘|x|交换.乘-1就是旋转180°,与乘σ旋转角α也交换:先乘-1后乘σ是旋转180°+α,先乘σ再乘-1是旋转α+180°,效果当然相同.于是

σ(xE)=σ(-1)|x|E=(-1)σ|x|E

=(-1)|x|σ(E)=xσ(E).

这证明了:平面上绕原点O旋转任意角α的动作σ可以看成数与坐标(x,y)=x(1,0)+y(0,1)相乘,按分配律和交换律展开,得到

σ(x,y)=xσ(1,0)+yσ(0,1),

求出E=(1,0),E′=(0,1)旋转后的坐标σ(E),σ(E′)代入,就得到P′=σ(P)的坐标.仍用i表示逆时针方向旋转90°的动作.则E′=(0,1)=i(1,0)本身也是(1,0)旋转的结果,看成(1,0)的i倍.i(0,1)=i2(1,0)则是从(1,0)开始被i旋转两次,每次旋转90°,两次就是180°,所有的(x,y)都旋到相反方向的(-x,-y)=(-1)(x,y),相当于乘-1.

因此i2=-1.这个i满足的运算律允许我们把它看成数.但它不是实数,因为实数的平方不能为负数.而且,实数x乘(1,0)得到的x(1,0)=(x,0)都在x轴上,而i(1,0)=(0,1)离开x到y轴上了.i不是实数,称为虚数.不过,i代表的旋转90°的动作并不虚幻,而是实实在在的动作,可以画出图来观察.我们生活的现实空间不止一条直线,也不止一个平面,而是天高地广.人类一开始没有认识到它的实际意义和用途,取名为虚数.

每个坐标(x,y)=x(1,0)+yi(1,0)=(x+yi)(1,0)是E=(1,0)的x+yi倍.当y=0,x是实数,x(1,0)=(x,0)在x轴上.当y≠0,(x+yi)(1,0)=(x,y)都不在x轴上,x+yi都称为虚数.实数与虚数统称复数.每个复数x+yi代表平面上一个点(x+yi)(1,0)=(x,y).两个点的坐标相加,只需将复数相加.每个点P(x,y)沿逆时针方向旋转90°,只需将(x,y)=(x+yi)(1,0)乘i.为此,只需将(1,0)前面的倍数x+yi乘i.

例6解法3将P(x,y)用复数x+yi表示.乘i得

i(x+yi)=xi+yi2=xi+y(-1)=-y+xi,

表示了(x,y)逆时针旋转90°到(-y,x).

例7平面直角坐标系中的点P(x,y)绕原点O旋转角到P′.求P′的坐标.

解记σα为平面上绕原点O旋转角α的动作.点P(x,y)用复数x+yi表示,则

σα(x+yi)=σα(x+yi)1=(x+yi)σα1,

实数1代表点E=(1,0)如下图.σα1=σα(E)=E′为E旋转角α到达的点.由|OE′|=|OE|=1及∠XOE′=α得E′的坐标(cosα,sinα)及复数σα1=cosα+isinα.

σ(P)=(x+yi)(cosα+isinα)

=xcosα+yicosα+xisinα+i2ysinα

=(xcosα-ysinα)+(xsinα+ycosα)i.

P′坐标为(xcosα-ysinα,xsinα+ycosα).

和角公式与倍角公式

设σα=cosα+isinα,σβ=cosβ+isinβ分别为平面上绕原点旋转角α,β的动作.则它们的乘积σασβ就是先旋转β,再旋转α,总效果是旋转α+β.因此

σα+β=cos(α+β)+isinα(α+β)

=σασβ=(cosα+isinα)(cosα+isinβ)

=(cosαcosβ-sinαsinβ)+i(sinαcosβ+

cosαsinβ),

cos(α+β)=cosαcosβ-sinαsinβ,

sin(α+β)=sinαcosβ+cosαsinβ.

这就是和角公式.以上推理没有用到和角公式,而是只用到旋转的几何性质以及运算律.因此是对和角公式的独立证明.这个证明可以翻译成几何语言,得到纯粹的几何证明.

如图,|OE|=|OA|=|OB|=1.

∠EOA=α,∠AOB=β.则∠EOB=α+β.

=(cosβ)(cosα+isinα)

=cosβcosα+icosβsinα

=(isinβ)(cosα+isinα)

=isinβcosα-sinβsinα

(cosβ+isinβ)(cosα+isinα)

=cosβcosα+icosβsinα+isinβcosα-sinβsinα,

等于两项实数之和,等于和角余弦.

即使不用复数,也可以从B作垂线BK⊥OE得垂足K,得到cos(α+β)=OK,sin(α+β)=KB.从B作垂线BD⊥OA得垂足D,从D作DH⊥OE得垂足H,从B作BT⊥DH得垂足T.同样得到OH,HD,DT,TB这些线段,并且算出它们的长度:

由OD=cosβ得到OH=ODcosα=cosβcosα,HD=ODsinα=cosβsinα.

由∠TDB=180°-∠ODB-∠ODH=90°-∠ODH=α及DB=sinβ得到

DT=DBcosα=sinβcosα,TB=DBsinα=sinβsinα.于是得到

sin(α+β)=KB=HD+DT

=cosβsinα+sinβcosα,

cos(α+β)=OK=OH-TB

=cosβcosα-sinβsinα.

这就是在引入向量之前高中数学课本对于和角公式采用的纯粹几何方法的证明.但是我们看到,用复数乘法得出的证明实质上与它相同.这两个证明都是独立的证明,但它们实质上相同.纯几何证明作了很多辅助线,尤其是很多垂线.复数证明为什么不需要作垂线?关于垂线的几何性质,它都用表示旋转90°的虚数i的运算代替了.复数证明貌似没有用到几何定理,其实是将一些基本的几何定理化身为运算律用进去了.为了将旋转看成数参加运算,我们利用几何定理证明了它满足分配律和交换律.表示旋转的数大部分是虚数,需要将几何定理化身为运算律.实数乘坐标满足分配律也用了相似三角形的几何定理.

这个结论不需要用到和角公式.将左边用牛顿二项式定理展开,就得到n倍角公式.

猜你喜欢

半轴垂线复数
一种橡胶扭力半轴组件
评析复数创新题
多角度思维实现平面与立体的转化——学习微专题《明修栈道(作垂线)、暗度陈仓(找垂足)》有感
画垂线的方法
近岸悬沙垂线分布多元线性回归分析
求解复数模及最值的多种方法
数系的扩充和复数的引入
探明究竟,大道至简
——对2018年广州市一道中考题的研究
Global health training in Canadian family medicine residency programmes
复数