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