




已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
多項(xiàng)式乘法,張家琳 復(fù)旦大學(xué)附屬中學(xué),引言,多項(xiàng)式是最基本的數(shù)學(xué)工具之一,由于其形式簡(jiǎn)單,且易于用計(jì)算機(jī)對(duì)其進(jìn)行各種計(jì)算,在當(dāng)今的社會(huì)中應(yīng)用越來(lái)越廣。不僅在像Maple這樣的數(shù)學(xué)軟件中有著舉足輕重的作用,在工程、信息等諸多領(lǐng)域中都有著廣闊的應(yīng)用。,下面我們給出幾個(gè)多項(xiàng)式逼近的例子:,多項(xiàng)式的基本運(yùn)算,加法運(yùn)算,求值運(yùn)算,乘法運(yùn)算,普通的多項(xiàng)式乘法運(yùn)算,多項(xiàng)式乘法是一個(gè)很常見(jiàn)的問(wèn)題,在通常的算法中,兩個(gè) 次多項(xiàng)式的乘法需要用 的時(shí)間才能完成。,讓我們先來(lái)看一看這樣的算法是如何進(jìn)行的:,. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .,在上面的過(guò)程中,似乎我們覺(jué)得這個(gè)算法并沒(méi)有做任何多余的事情,因?yàn)槲覀儽仨毧紤]每一組 ,它們的乘積對(duì)最終的結(jié)果都會(huì)產(chǎn)生影響。而且我們不能通過(guò)調(diào)整計(jì)算順序從根本上降低算法時(shí)間復(fù)雜度,至多只能使其常數(shù)因子稍小一些。,如果我們不能跳出以上思維的局限,我們就不可能在根本上降低算法的時(shí)間復(fù)雜度。,讓我們首先換一個(gè)角度來(lái)考察多項(xiàng)式。,多項(xiàng)式的點(diǎn)值表示法,首先讓我們來(lái)看多項(xiàng)式的另一種表示方法:點(diǎn)值表示法,即用 (其中, 互不相同)來(lái)表示一個(gè)不超過(guò) 次多項(xiàng)式。,給定一個(gè)多項(xiàng)式,要給出n組點(diǎn)值對(duì)最簡(jiǎn)單的方法是任選 n個(gè)互不相同的xi,依次求出多項(xiàng)式在這n個(gè)點(diǎn)的值。,用n個(gè)點(diǎn)值對(duì)也可以唯一確定一個(gè)不超過(guò)n-1次多項(xiàng)式,這個(gè)過(guò)程稱之為插值。,引理1(多項(xiàng)式插值的唯一性),對(duì)于任意n個(gè)點(diǎn)值對(duì)組成的集合, 其中 互不相同,則存在唯一的次數(shù)不超過(guò)n-1的多項(xiàng)式 ,滿足,continue,存在性:,已知,不妨記為XA=Y,X是范德蒙矩陣,利用行列式的變換可得該矩陣的行列式的值為,因此X有逆矩陣 。,唯一性:,若兩個(gè)函數(shù)次數(shù)不超過(guò)n-1次的多項(xiàng)式 均符合題意,則多項(xiàng)式 有n個(gè)根, 且 為不超過(guò)n-1次的多項(xiàng)式,所以 , 即 。,back,點(diǎn)值多項(xiàng)式的乘法,因此: 適當(dāng)?shù)睦命c(diǎn)值表示可以使多項(xiàng)式的乘法可以在線性時(shí)間內(nèi)完成!,因?yàn)閒(x)g(x)的次數(shù)為n-1,r(x)的次數(shù)為2n-2,因此確定r(x)需要2n-1個(gè)點(diǎn)值對(duì),而現(xiàn)在我們只有n個(gè)點(diǎn)值對(duì)。,我們可以通過(guò)對(duì)f(x)與g(x)的點(diǎn)值對(duì)個(gè)數(shù)的 擴(kuò)充來(lái)解決這個(gè)問(wèn)題,即將f(x),g(x)的點(diǎn)值對(duì)在一開(kāi)始就取為2n-1。,利用點(diǎn)值表示法改善多項(xiàng)式系數(shù)表示法的乘法,下面讓我們來(lái)看一看我們是否能夠利用點(diǎn)值表示法在計(jì) 算多項(xiàng)式乘法時(shí)的線性時(shí)間來(lái)提高系數(shù)表示法的多項(xiàng)式乘 法的速度。 為了做到這一點(diǎn),我們需要做: 將多項(xiàng)式由系數(shù)表示法轉(zhuǎn)化為點(diǎn)值表示法(點(diǎn)值過(guò)程) 利用點(diǎn)值表示法完成多項(xiàng)式乘法 將點(diǎn)值表示法再轉(zhuǎn)化為系數(shù)表示法(插值過(guò)程) 其中第二步只需要線性時(shí)間。問(wèn)題的關(guān)鍵轉(zhuǎn)化為第一 第三步。,continue2,continue1,continue3,1.由系數(shù)表示法轉(zhuǎn)化為點(diǎn)值表示法。(點(diǎn)值過(guò)程),注意!x0,x1,xn-1是由我們自己選擇的,我們可以充分利用這一點(diǎn)通過(guò)適當(dāng)?shù)倪x擇使轉(zhuǎn)化過(guò)程降為O(n log n)。,這里我們選擇1的n次單位根作為x0,x1,xn-1,即,其中,引理2:對(duì)任何整數(shù)n=0,k=0,j0,成立:,證明:,折半定理,注意到, 中包含了f中所有偶下標(biāo)的系數(shù),而 中包含了f中所有奇下標(biāo)的系數(shù)。,并記,求 與 在點(diǎn) 的值。,問(wèn)題:求,設(shè)n為偶數(shù)(否則可以通過(guò)添加高次零項(xiàng)使n化為偶數(shù))。,另一方面,由折半定理:,并不是n個(gè)不同的數(shù),而是僅由1的n/2次單位根組成,每個(gè)根恰好出現(xiàn)2次。,由此可以看到子問(wèn)題與原問(wèn)題形式相同,但規(guī)模縮小一半,這啟示我們可以利用分治的思想通過(guò)遞歸來(lái)解決這個(gè)問(wèn)題。,遞歸算法的具體實(shí)現(xiàn)過(guò)程,遞歸邊界條件,Function transform(a:atype):y:ytype;,if n=1 then return a0,遞歸預(yù)處理,if odd(n) then begin inc(n);an-1:=0;end;,遞歸過(guò)程,For k:=0 to n-1 do 利用,計(jì)算,可以證明,以上計(jì)算方法的時(shí)間復(fù)雜度為O(n log n)。,back,2將點(diǎn)值表示法再轉(zhuǎn)化為系數(shù)表示法。(插值過(guò)程),點(diǎn)值過(guò)程所解決的問(wèn)題可以等效為一個(gè)矩陣方程:,插值過(guò)程是點(diǎn)值過(guò)程的逆運(yùn)算。這個(gè)問(wèn)題比前一個(gè)問(wèn)題看起來(lái)更復(fù)雜,但事實(shí)上,通過(guò)適當(dāng)?shù)霓D(zhuǎn)化可以把這個(gè)問(wèn)題轉(zhuǎn)化為前一個(gè)問(wèn)題。,記為,Y,A,點(diǎn)值過(guò)程,插值過(guò)程,如果,存在,引理3,利用引理3,我們就可以很容易的解決插值的問(wèn)題。,Y,A,可等效為矩陣方程:,因此,我們可以充分利用點(diǎn)值過(guò)程的方法求出多項(xiàng)式的系數(shù)表達(dá)。,遞歸邊界條件,Function transform( a:atype ):y:ytype ;,if n=1 then return a0,遞歸預(yù)處理,if odd(n) then begin inc(n); an-1:=0; end;,遞歸過(guò)程,For k:=0 to n-1 do 利用,計(jì)算,back,a:atype,y:ytype,y0,yn-1:=0;,遞歸結(jié)束后再將a中每一個(gè)數(shù)除以n。,多項(xiàng)式乘法的算法流程,問(wèn)題:f(x),g(x)是兩個(gè)n-1次的多項(xiàng)式,已知f(x)g(x)的系數(shù)表示,求出r(x)=f(x)*g(x)的系數(shù)表示。,算法流程:,1. 預(yù)處理:通過(guò)加入n-1個(gè)值為0的高價(jià)次數(shù),使f(x)g(x)的次數(shù)增加到2n-2。這是為了使點(diǎn)值對(duì)的個(gè)數(shù)足夠能夠唯一確定r(x)。,2. 點(diǎn)值:利用分治的方法,通過(guò)函數(shù)transform求出f(x)與g(x)在1的2n-1次單位根處的值。,3. 點(diǎn)乘:將f(x),g(x)在各點(diǎn)的值逐點(diǎn)相乘,計(jì)算出r(x)在各點(diǎn)的值。,4. 插值:互換a與y的作用,再利用函數(shù)transform求r(x)的系數(shù)表示,并注意要將結(jié)果除以次數(shù)作為最后結(jié)果。,以上第1、第3步的執(zhí)行時(shí)間都是O(n),第2、第4步的執(zhí)行時(shí)間都是O(n log n)。,算法改進(jìn),在函數(shù)transform中,我們是用遞歸的方式來(lái)求解,我們對(duì)n=8的情況來(lái)具體演示一下遞歸調(diào)用的過(guò)程。,但是遞歸的方法對(duì)空間的要求很高,從函數(shù)transform中可以看到每次遞歸調(diào)用時(shí)都需要新的系數(shù)數(shù)組傳入遞歸過(guò)程內(nèi)部。而通過(guò)剛才的演示,我們發(fā)現(xiàn)我們也可以用從底向上迭代的方法來(lái)進(jìn)行。,迭代算法的具體實(shí)現(xiàn)過(guò)程,初始化,預(yù)處理,通過(guò)增加高次零項(xiàng)使將多項(xiàng)式的次數(shù)增加到2的冪次。,Function transform_better (a:atype):y:yt
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 智能制造數(shù)據(jù)庫(kù)使用權(quán)授權(quán)與智能制造應(yīng)用合同
- 網(wǎng)絡(luò)游戲虛擬道具設(shè)計(jì)版權(quán)授權(quán)與角色扮演活動(dòng)合作補(bǔ)充協(xié)議
- 寵物醫(yī)療品牌區(qū)域代理授權(quán)及支持合同
- 新能源電池材料首席質(zhì)量官任期制勞動(dòng)合同
- 影視作品音樂(lè)版權(quán)電視劇音樂(lè)版權(quán)授權(quán)及保護(hù)協(xié)議
- 消防安全責(zé)任主體保證書(shū)
- 航空航天領(lǐng)域?qū)I(yè)培訓(xùn)教材編寫(xiě)與師資培訓(xùn)合同
- 數(shù)據(jù)挖掘工程師項(xiàng)目合作收益分成協(xié)議
- 互聯(lián)網(wǎng)名義合伙經(jīng)營(yíng)合同
- 數(shù)字音樂(lè)平臺(tái)影視原聲帶翻唱授權(quán)與分成比例變更合同
- 給水管線改移工程施工方案
- 甲醛車(chē)間工藝介紹資料
- 中小學(xué)生心理健康診斷測(cè)驗(yàn)MHT(附測(cè)試量表及評(píng)分細(xì)則)
- GB/T 10612-2003工業(yè)用篩板板厚
- XBRL原理及四步法課件
- 中醫(yī)治未病課件
- 房建技術(shù)員施工員考試參考題庫(kù)(含各題型)
- 建筑物理-采光設(shè)計(jì)課件
- DB32-T 2355-2022 綜合交通建設(shè)試驗(yàn)檢測(cè)用表編制規(guī)范(修)
- 八年級(jí)體育教案(全冊(cè))
- 2022新高考卷小說(shuō)《江上》 答案+評(píng)點(diǎn)
評(píng)論
0/150
提交評(píng)論