李尚志
(北京航空航天大學(xué) 100083)
例1雞兔同籠共30 個(gè)頭, 84 只腳.雞兔各多少只?
解每只雞1個(gè)頭,2只腳,排成數(shù)組(1,2)來(lái)表示.同理,兔=(1,4)表示每只兔1個(gè)頭,4只腳.雞的總數(shù)乘(1,2)得到雞頭和雞腳的總數(shù),兔的總數(shù)乘(1,4)得到兔頭與兔腳的總數(shù).二者相加得到雞與兔的頭總數(shù)與腳總數(shù),我們的目標(biāo)是讓總數(shù)等于(30,84).
解法1先用30只雞得到30(1,2)=(30,60).離目標(biāo)還差(30,84)-(30,60)=(0,24).
還需補(bǔ)充24只腳,頭數(shù)不能改變.有什么動(dòng)物只有腳沒(méi)有頭?
30雞+12(兔-雞)=30(1,2)+12(0,2)=(30,60)+(0,24)=(30,84).
雞兔個(gè)數(shù)為:30雞+12(兔-雞)=30雞+12兔-12雞=18雞+12兔.
解法2先將目標(biāo)分解:(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宇宙某星球有外星雞兔.每只外星雞a個(gè)頭,c只腳;每只外星兔b個(gè)頭,d只腳.現(xiàn)有外星雞兔同籠共m個(gè)頭n只腳.外星雞、兔各多少只?
解法1依樣畫葫蘆照搬例1:外星雞兔分別用數(shù)組表示為:雞=A1=(a,c),兔=A2=(b,d).希望將它們乘適當(dāng)倍數(shù)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中的腳數(shù)c,d抵消成0.
為此,只要將c,d分別乘d,c再相減:
dA1-cA2=d(a,c)-c(b,d)=(ad-bc,0).
當(dāng)D=ad-bc≠0,除以D得
還需用A1,A2組合E2=(0,1).這就需要先消去A1,A2中的第一坐標(biāo)(頭數(shù))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(矩陣解法) 設(shè)有x只外星雞,y只外星兔.按頭數(shù)、腳數(shù)列方程組
寫成矩陣形式
答案與解法1相同.
中學(xué)生當(dāng)然不懂矩陣解法.但翻譯成初等數(shù)學(xué)的“白話文”就可以懂.
矩陣運(yùn)算的“白話”翻譯
(1)矩陣乘一列——線性組合
解方程組AX=xA1+yA2=B就是用適當(dāng)系數(shù)x,y乘矩陣各列A1,A2再相加得到常數(shù)項(xiàng)列B.這與例2解法1用A1=(a,c),A2=(b,d)組合B=(m,n)是同樣的目標(biāo).只不過(guò)沒(méi)有把A1,A2,B豎起來(lái)排成列.
(2)矩陣求逆——組合自然基
解法1由外星雞兔頭數(shù)與腳數(shù)組成的坐標(biāo)A1=(a,c),A2=(b,d)組合了
dA1-cA2=(ad-bc,0)=(D,0),
-bA1+aA2=(0,D),D=ad-bc.
例2解法1是由例1的初等數(shù)學(xué)解法照抄來(lái)的.不需要用到線性代數(shù)高等代數(shù)知識(shí),不需要懂矩陣乘法、附屬方陣、矩陣求逆.靠線性組合解決問(wèn)題,卻不知不覺(jué)算出了附屬方陣和逆矩陣.就好比小孩子不懂古文,讀不懂《三國(guó)演義》,可以讀白話譯文懂赤壁大戰(zhàn).
中學(xué)生不懂逆矩陣,更不知道逆矩陣對(duì)于求解雞兔問(wèn)題有什么用處.但能夠懂只要把(1,0),(0,1)組合出來(lái):
就能將它們分別乘m,n再相加得出(m,n)的組合式
=(m,n),
啟示1.什么是“初等數(shù)學(xué)研究”?讀懂大學(xué)數(shù)學(xué),再翻譯成“白話文”教中小學(xué)生.
2.什么是“讀懂”大學(xué)數(shù)學(xué)?以線性代數(shù)為例:不能只懂矩陣乘法的現(xiàn)成算法,必須懂指揮這些算法的簡(jiǎn)單想法.矩陣乘法的法則是為了表示線性映射而定義成這個(gè)樣子的,表示線性映射就要表示線性組合.按分塊運(yùn)算來(lái)理解矩陣乘法,才能理解矩陣與線性組合之間的關(guān)系.線性組合、線性映射是“源”,矩陣乘法法則是“流”.只講流不講源,矩陣乘法法則就顯得莫名其妙,大學(xué)生都覺(jué)得困難.利用分塊運(yùn)算追本索源,中學(xué)生都可以學(xué)會(huì).
例3100個(gè)人吃100個(gè)饅頭.大人每人吃3個(gè),小孩每3人吃1個(gè),大人小孩各多少?
解大=(1,3),3小=(3,1)分別表示1個(gè)大人、3個(gè)小孩的人數(shù)與饅頭數(shù).
則,大+3小=(1,3)+(3,1)=(4,4).乘25得25(大+3小)=25(4,4)=(100,100).
人數(shù)為25(大+3小)=25大+75小.
答共25個(gè)大人,75個(gè)小孩.
以上算法25[(1,3)+(3,1)]=25(4,4)=(100,100)可以通俗解釋為:
例3利用了目標(biāo)數(shù)組(100,100)的特殊性質(zhì)100=100,沒(méi)有去組合(1,0),(0,1),而是直接組合了(1,3)+(3,1)=(4,4)使4=4.再乘25就到位了.其實(shí),我最先想到的是例3這個(gè)解法.然后想推廣到例1的雞兔同籠.那就需要先湊出數(shù)組中兩個(gè)數(shù)的比例為30∶84再同時(shí)擴(kuò)大.這比較困難,缺乏通用性.其中原因是只想到原始數(shù)組(1,2),(1,4)作加法與乘法,沒(méi)敢用減法.后來(lái)想到可以用減法(1,4)-(1,2)=(0,2),一切都迎刃而解了.
例3也可以按通法先組合自然基:3(3,1)-(1,3)=(8,0),3(1,3)-(3,1)=(0,8).請(qǐng)你自己完成這個(gè)算法.
解大=(1,10),中=(1,1),16小=(16,1)表示各種魚(yú)的條數(shù)與斤數(shù).目標(biāo)是將它們分別乘適當(dāng)正整數(shù)得到(100,100).
大-中=(1,10)-(1,1)=(0,9),
16小-中=(16,1)-(1,1)=(15,0).
為了組合出“條數(shù)=斤數(shù)”的(100,100),將(15,0),(0,9)分別乘適當(dāng)正整數(shù),使15,9擴(kuò)大成它們的最小公倍數(shù)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條大魚(yú),47條中魚(yú),48條小魚(yú).
例5(中國(guó)剩余定理)求最小的正整數(shù)除以3,5,7的余數(shù)分別是2,3,1.
解每個(gè)正整數(shù)x除以3,5,7分別得到余數(shù)r1,r2,r3,排成數(shù)組f(x)=(r1,r2,r3)=r1(1,0,0)+r2(0,1,0)+r3(0,0,1).先求正整數(shù)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的余數(shù)r=x-105q是滿足f(r)=f(x)=(r1,r2,r3)的最小非負(fù)整數(shù).
f(x1)=(1,0,0)表示x1除以5,7的余數(shù)都是0,是5,7的公倍數(shù),因而是最小公倍數(shù)5×7=35的整數(shù)倍.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的余數(shù)8滿足f(8)=(2,3,1).
答8是滿足條件的最小正整數(shù).
例6平面直角坐標(biāo)系中,點(diǎn)P(x,y)繞原點(diǎn)沿逆時(shí)針?lè)较蛐D(zhuǎn)90°到P′,求P′的坐標(biāo).
解法1如圖,P(x,y)的橫坐標(biāo)就是P到x軸的垂線PA的垂足A(x,0)在x軸上代表的數(shù)x.P的縱坐標(biāo)是P到y(tǒng)軸的垂線PB的垂足B(0,y)在y軸上代表的數(shù)y.
將整個(gè)平面繞原點(diǎn)O沿逆時(shí)針?lè)较蛐D(zhuǎn)90°.
則x軸轉(zhuǎn)到與y軸重合,方向相同.x軸正半軸轉(zhuǎn)到y(tǒng)軸正半軸重合,x軸負(fù)半軸轉(zhuǎn)到y(tǒng)軸負(fù)半軸.x軸上代表實(shí)數(shù)x的點(diǎn)A(x,0)轉(zhuǎn)到y(tǒng)軸上代表同一實(shí)數(shù)x的點(diǎn)A′(0,x).
y軸轉(zhuǎn)到與x軸重合,但方向相反.y軸正半軸轉(zhuǎn)到x軸負(fù)半軸,y軸負(fù)半軸轉(zhuǎn)到x軸正半軸.y軸上代表實(shí)數(shù)y的點(diǎn)B(0,y)轉(zhuǎn)到x軸上代表相反數(shù)-y的點(diǎn)B′(-y,0).
P到x軸、y軸的垂線PA,PB分別變成P′到y(tǒng)軸、x軸的垂線P′A′,P′B′.垂足B′(-y,0)的橫坐標(biāo)-y就是P′的橫坐標(biāo),A′(0,x)的縱坐標(biāo)x就是P′的縱坐標(biāo).
因此,P′的坐標(biāo)等于(-y,x).
解法2每個(gè)點(diǎn)P由它的坐標(biāo)(x,y)代表.記為P=(x,y).并且記P=A+B表示P的坐標(biāo)(x,y)=(x,0)+(0,y)等于A,B的坐標(biāo)之和.
進(jìn)一步記A=(x,0)=x(1,0)=xE,B=(0,y)=y(0,1)=yE′表示A,B的坐標(biāo)分別是E=(1,0),E′=(0,1)的坐標(biāo)的x倍、y倍.
則P=(x,y)=x(1,0)+y(0,1)=xE+yE′的坐標(biāo)分解為自然基E=(1,0),E′=(0,1)的實(shí)數(shù)倍之和.
將平面上繞原點(diǎn)O沿逆時(shí)針?lè)较蛐D(zhuǎn)90°的動(dòng)作記為i.則P′=i(P)=i(x,y)是P(x,y)被i旋轉(zhuǎn)到的點(diǎn)P′的坐標(biāo).假如i的旋轉(zhuǎn)作用
P′=i(x,y)=i(x(1,0)+y(0,1))
=xi(1,0)+yi(0,1)
=xi(E)+yi(E′),
可以看成一個(gè)數(shù)i乘坐標(biāo)(x,y)=x(1,0)+y(0,1),按分配律和交換律展開(kāi),只需求自然基(1,0),(0,1)為坐標(biāo)的點(diǎn)E,E′(也就是x軸、y軸上代表實(shí)數(shù)1的點(diǎn))旋轉(zhuǎn)之后的坐標(biāo),i(E),i(E′),分別乘x,y再相加就得到P′的坐標(biāo).
易見(jiàn)x軸正方向的E=(1,0)轉(zhuǎn)到y(tǒng)軸正方向上i(1,0)=(0,1).y軸正方向上(0,1)轉(zhuǎn)到x軸負(fù)方向上i(0,1)=(-1,0).
因此P′=i(x,y)=xi(1,0)+yi(0,1)=x(0,1)+y(-1,0)=(-y,x).
代數(shù)運(yùn)算律的幾何白話
解法2為什么正確?必須解釋為什么幾何旋轉(zhuǎn)i滿足代數(shù)運(yùn)算律:
(1)分配律i(A+B)=i(A)+i(B),
(2)交換律i(xE)=xi(E).
一般地,設(shè)σ將平面上所有的點(diǎn)繞原點(diǎn)旋轉(zhuǎn)同一個(gè)角度α,證明它滿足運(yùn)算律:
(1)分配律σ(A+B)=σ(A)+σ(B),
(2)交換律σ(xE)=xσ(E).
旋轉(zhuǎn)動(dòng)作σ是幾何變換,聽(tīng)不懂代數(shù)語(yǔ)言,只懂幾何語(yǔ)言,需要將代數(shù)運(yùn)算律翻譯成幾何性質(zhì),才知道它是否滿足.
旋轉(zhuǎn)動(dòng)作兩條重要幾何性質(zhì)是:1.保持圖形的形狀大小不變.2.保持原點(diǎn)O不動(dòng).
第二條什么意思?就是σ(O)=O.也就是σ乘0等于0.任何數(shù)乘0都必須等于0.如果沒(méi)有這一條,就沒(méi)有資格充當(dāng)數(shù)的乘法.不過(guò)可以充當(dāng)數(shù)的加法.所以,平移動(dòng)作不能充當(dāng)乘法,但可以充當(dāng)加法.
σ(P)=σ(A+B)=σ(A)+σ(B),
分配律成立.
再將坐標(biāo)E的實(shí)數(shù)倍A=xE翻譯成幾何語(yǔ)言,證明交換律σ(xE)=xσ(E)成立.
再考慮x=-|x|<0的情形.此時(shí)A=-|x|E=(-1)|x|E由E乘|x|再乘-1得到.已經(jīng)證明乘σ與乘|x|交換.乘-1就是旋轉(zhuǎn)180°,與乘σ旋轉(zhuǎn)角α也交換:先乘-1后乘σ是旋轉(zhuǎn)180°+α,先乘σ再乘-1是旋轉(zhuǎn)α+180°,效果當(dāng)然相同.于是
σ(xE)=σ(-1)|x|E=(-1)σ|x|E
=(-1)|x|σ(E)=xσ(E).
這證明了:平面上繞原點(diǎn)O旋轉(zhuǎn)任意角α的動(dòng)作σ可以看成數(shù)與坐標(biāo)(x,y)=x(1,0)+y(0,1)相乘,按分配律和交換律展開(kāi),得到
σ(x,y)=xσ(1,0)+yσ(0,1),
求出E=(1,0),E′=(0,1)旋轉(zhuǎn)后的坐標(biāo)σ(E),σ(E′)代入,就得到P′=σ(P)的坐標(biāo).仍用i表示逆時(shí)針?lè)较蛐D(zhuǎn)90°的動(dòng)作.則E′=(0,1)=i(1,0)本身也是(1,0)旋轉(zhuǎn)的結(jié)果,看成(1,0)的i倍.i(0,1)=i2(1,0)則是從(1,0)開(kāi)始被i旋轉(zhuǎn)兩次,每次旋轉(zhuǎn)90°,兩次就是180°,所有的(x,y)都旋到相反方向的(-x,-y)=(-1)(x,y),相當(dāng)于乘-1.
因此i2=-1.這個(gè)i滿足的運(yùn)算律允許我們把它看成數(shù).但它不是實(shí)數(shù),因?yàn)閷?shí)數(shù)的平方不能為負(fù)數(shù).而且,實(shí)數(shù)x乘(1,0)得到的x(1,0)=(x,0)都在x軸上,而i(1,0)=(0,1)離開(kāi)x到y(tǒng)軸上了.i不是實(shí)數(shù),稱為虛數(shù).不過(guò),i代表的旋轉(zhuǎn)90°的動(dòng)作并不虛幻,而是實(shí)實(shí)在在的動(dòng)作,可以畫出圖來(lái)觀察.我們生活的現(xiàn)實(shí)空間不止一條直線,也不止一個(gè)平面,而是天高地廣.人類一開(kāi)始沒(méi)有認(rèn)識(shí)到它的實(shí)際意義和用途,取名為虛數(shù).
每個(gè)坐標(biāo)(x,y)=x(1,0)+yi(1,0)=(x+yi)(1,0)是E=(1,0)的x+yi倍.當(dāng)y=0,x是實(shí)數(shù),x(1,0)=(x,0)在x軸上.當(dāng)y≠0,(x+yi)(1,0)=(x,y)都不在x軸上,x+yi都稱為虛數(shù).實(shí)數(shù)與虛數(shù)統(tǒng)稱復(fù)數(shù).每個(gè)復(fù)數(shù)x+yi代表平面上一個(gè)點(diǎn)(x+yi)(1,0)=(x,y).兩個(gè)點(diǎn)的坐標(biāo)相加,只需將復(fù)數(shù)相加.每個(gè)點(diǎn)P(x,y)沿逆時(shí)針?lè)较蛐D(zhuǎn)90°,只需將(x,y)=(x+yi)(1,0)乘i.為此,只需將(1,0)前面的倍數(shù)x+yi乘i.
例6解法3將P(x,y)用復(fù)數(shù)x+yi表示.乘i得
i(x+yi)=xi+yi2=xi+y(-1)=-y+xi,
表示了(x,y)逆時(shí)針旋轉(zhuǎn)90°到(-y,x).
例7平面直角坐標(biāo)系中的點(diǎn)P(x,y)繞原點(diǎn)O旋轉(zhuǎn)角到P′.求P′的坐標(biāo).
解記σα為平面上繞原點(diǎn)O旋轉(zhuǎn)角α的動(dòng)作.點(diǎn)P(x,y)用復(fù)數(shù)x+yi表示,則
σα(x+yi)=σα(x+yi)1=(x+yi)σα1,
實(shí)數(shù)1代表點(diǎn)E=(1,0)如下圖.σα1=σα(E)=E′為E旋轉(zhuǎn)角α到達(dá)的點(diǎn).由|OE′|=|OE|=1及∠XOE′=α得E′的坐標(biāo)(cosα,sinα)及復(fù)數(shù)σα1=cosα+isinα.
σ(P)=(x+yi)(cosα+isinα)
=xcosα+yicosα+xisinα+i2ysinα
=(xcosα-ysinα)+(xsinα+ycosα)i.
P′坐標(biāo)為(xcosα-ysinα,xsinα+ycosα).
和角公式與倍角公式
設(shè)σα=cosα+isinα,σβ=cosβ+isinβ分別為平面上繞原點(diǎn)旋轉(zhuǎn)角α,β的動(dòng)作.則它們的乘積σασβ就是先旋轉(zhuǎn)β,再旋轉(zhuǎn)α,總效果是旋轉(zhuǎn)α+β.因此
σα+β=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β.
這就是和角公式.以上推理沒(méi)有用到和角公式,而是只用到旋轉(zhuǎn)的幾何性質(zhì)以及運(yùn)算律.因此是對(duì)和角公式的獨(dú)立證明.這個(gè)證明可以翻譯成幾何語(yǔ)言,得到純粹的幾何證明.
如圖,|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α,
等于兩項(xiàng)實(shí)數(shù)之和,等于和角余弦.
即使不用復(fù)數(shù),也可以從B作垂線BK⊥OE得垂足K,得到cos(α+β)=OK,sin(α+β)=KB.從B作垂線BD⊥OA得垂足D,從D作DH⊥OE得垂足H,從B作BT⊥DH得垂足T.同樣得到OH,HD,DT,TB這些線段,并且算出它們的長(zhǎng)度:
由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α.
這就是在引入向量之前高中數(shù)學(xué)課本對(duì)于和角公式采用的純粹幾何方法的證明.但是我們看到,用復(fù)數(shù)乘法得出的證明實(shí)質(zhì)上與它相同.這兩個(gè)證明都是獨(dú)立的證明,但它們實(shí)質(zhì)上相同.純幾何證明作了很多輔助線,尤其是很多垂線.復(fù)數(shù)證明為什么不需要作垂線?關(guān)于垂線的幾何性質(zhì),它都用表示旋轉(zhuǎn)90°的虛數(shù)i的運(yùn)算代替了.復(fù)數(shù)證明貌似沒(méi)有用到幾何定理,其實(shí)是將一些基本的幾何定理化身為運(yùn)算律用進(jìn)去了.為了將旋轉(zhuǎn)看成數(shù)參加運(yùn)算,我們利用幾何定理證明了它滿足分配律和交換律.表示旋轉(zhuǎn)的數(shù)大部分是虛數(shù),需要將幾何定理化身為運(yùn)算律.實(shí)數(shù)乘坐標(biāo)滿足分配律也用了相似三角形的幾何定理.
這個(gè)結(jié)論不需要用到和角公式.將左邊用牛頓二項(xiàng)式定理展開(kāi),就得到n倍角公式.