版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第七章計(jì)算機(jī)代數(shù)
ComputationalAlgebra
SymbolicManipulation
MachineAlgebra
§7.1引言
數(shù)值計(jì)算系統(tǒng)
Fortran語言
例:??????
x=i
Y=2
Z=X+Y
非數(shù)值計(jì)算系統(tǒng)
Mathematica語言
例:勒讓德多項(xiàng)式定義
(1)LegendreP[n,x]給出勒讓德多項(xiàng)式月(%).
(2)LegendreP[nrm,x]給出伴隨勒讓德多項(xiàng)式
尸"(])=(-1廣(i-9r號(hào)小)
也可以由用戶采用遞推公式定義:
P[n_,x_]:=
module[{temp},temp=O;
If[n==0,temp=l,
If[n==l,temp=x,
If[n>1,
temp=((2n-l)xP[n-1,x]-(n-l)P[n-2,x])/n,Null
],Null],Null
];temp
]
遞推公式
穌(x)=1,6(%)=x,匕(%)=l(2n-1)%耳1T(x)-(w-l)^_2(x)]/n
表面上來看,數(shù)值計(jì)算語言應(yīng)當(dāng)與計(jì)算機(jī)代數(shù)語言是
本質(zhì)上迥然不同的兩種語言。其實(shí),兩者在本質(zhì)上是完
全一致的。這是因?yàn)槟壳拔覀兪褂玫挠?jì)算機(jī)仍然是一種
二進(jìn)制的數(shù)字計(jì)算處理機(jī)。文字、字符或符號(hào)都只能通
過二進(jìn)制編碼才能用計(jì)算機(jī)進(jìn)行處理。
由于這種本質(zhì)聯(lián)系,所有的數(shù)值算法語言經(jīng)過改造加
工以后,都可以發(fā)展為計(jì)算機(jī)代數(shù)語言,或者說可以具
有非數(shù)值處理功能。
所謂計(jì)算機(jī)代數(shù)處理系統(tǒng)實(shí)際上是指硬件和軟件的
綜合。
常用的計(jì)算機(jī)代數(shù)系統(tǒng):
1.MACSYMAo它是用LISP語言的一種功能很強(qiáng)的方言
FranzLisp寫成的。它是一個(gè)通用的計(jì)算機(jī)代數(shù)系統(tǒng)。
(2)REDUCEo它是由赫恩(A.C.Hearn)設(shè)計(jì)的。該
語言是用SLISP(StandardL工SP)寫成的,通用的代
數(shù)處理系統(tǒng),具有相當(dāng)廣泛的基本代數(shù)處理功能,并
能處理高能物理的計(jì)算問題。
(3)Mathematicao該系統(tǒng)是美國(guó)Wolfram公司開發(fā)
的一個(gè)功能強(qiáng)大的計(jì)算機(jī)通用數(shù)學(xué)系統(tǒng)。其基本系統(tǒng)
主要是用C語言開發(fā)的。它是當(dāng)前運(yùn)用十分廣泛的符
號(hào)代數(shù)處理系統(tǒng)。
(4)Maple.這是一個(gè)商業(yè)產(chǎn)品。其優(yōu)點(diǎn)是使用圖形用戶
界面并支持一些復(fù)雜運(yùn)算,如:因式分解,積分或求和。
缺點(diǎn)是Maple不適用于處理大量數(shù)據(jù)。
(5)GiNaC:這是用C+的符號(hào)計(jì)算庫(kù)。它的主要特征是
具備以面向?qū)ο蟮姆绞綄?shí)現(xiàn)用戶自己的算法的能力。它
能處理大量數(shù)據(jù),在基準(zhǔn)測(cè)試下,其運(yùn)算速度可與下面
的FORM相當(dāng)。
(6)SCHOONSCHIP。這是很著名的粒子物理研究用的計(jì)算
機(jī)代數(shù)系統(tǒng)。它也能做一般的代數(shù)運(yùn)算,是目前為止運(yùn)
行速度最快的系統(tǒng)。該程序是用CDC型60位計(jì)算機(jī)和
6800系列計(jì)算機(jī)的匯編語言寫成的,因而大大限制了
它適用的機(jī)型。
(7)FORM:優(yōu)點(diǎn)是運(yùn)算速度高和具有處理大量數(shù)據(jù)的
能力O它被廣泛運(yùn)用于高能物理和涉及大型中間表達(dá)式
的程序。人們普遍認(rèn)為它是SCHOONSCHIP系統(tǒng)的后繼程
序
計(jì)算機(jī)代數(shù)系統(tǒng)的發(fā)展歷史:
?二十世紀(jì)六十年代最早的計(jì)算機(jī)代數(shù)系統(tǒng)幾乎完全是基于LISP
表處理語言.它是用來處理表鏈的。它對(duì)于早期符號(hào)計(jì)算程序的
重要性,就好比同一時(shí)期處理數(shù)值計(jì)算的程序FORTRAN系統(tǒng)。在
這個(gè)階段,REDUCE程序?qū)Ω吣芪锢硪呀?jīng)表現(xiàn)出一些特殊的用途。
?SCHOONSCHIP是M.Veltman用匯編語言寫的,專門應(yīng)用于粒子物
理領(lǐng)域。匯編代碼的應(yīng)用導(dǎo)致了難以置信的高速計(jì)算程序(相對(duì)
于最初的解釋代碼),從而使計(jì)算更復(fù)雜的高能物理散射過程成
為可能。由于人們逐漸認(rèn)識(shí)到這個(gè)程序的重要性,因而,1998年
M.Veltman因此獲得了諾貝爾物理獎(jiǎng)。
?同時(shí)值得一提的是基于FranzLISP的MACSYMA系統(tǒng),它引發(fā)了
算法的重要發(fā)展。
?從1980年以來,新的計(jì)算機(jī)代數(shù)系統(tǒng)開始采用C語言編寫。這
樣的系統(tǒng)與解釋語言LISP相比,能夠更好的利用計(jì)算機(jī)資源,
并能保持程序的可移植性,而這正是解釋語言所做不到的。
?這個(gè)時(shí)期還出現(xiàn)了最早的商業(yè)計(jì)算機(jī)代數(shù)系統(tǒng),其中
Mathematica和Maple最為著名。另外,少量的專用程序也出現(xiàn)
了,J.Vermaseren編寫的FORM就是一個(gè)用于粒子物理研究的程
序。它是可移植的,并認(rèn)為是SCHOONSCH工P系統(tǒng)的后繼程序。
?近幾年,有關(guān)大型程序可維護(hù)性的問題變得越來越重要。全部
的設(shè)計(jì)范例都由過程設(shè)計(jì)變到了面向?qū)ο笤O(shè)計(jì)。反映在編程語
言上從C變到C++。這樣GiNaC庫(kù)隨之發(fā)展起來,它支持C++環(huán)
境下的符號(hào)計(jì)算。
§7.2粒子物理研究中計(jì)算機(jī)代數(shù)的應(yīng)用
?利用計(jì)算機(jī)代數(shù)系統(tǒng)使微擾計(jì)算步驟自動(dòng)化。
?粒子物理是應(yīng)用計(jì)算機(jī)代數(shù)的一個(gè)重要領(lǐng)域,它充分發(fā)
揮了計(jì)算機(jī)代數(shù)系統(tǒng)的潛力。
SCHOONSCHIP,REDUCE,Mathematica,
FORM和GiNaC
?采用計(jì)算機(jī)代數(shù)系統(tǒng)來計(jì)算的復(fù)雜量子場(chǎng)論問題可以
分為兩類:
(1)第一類問題是僅僅只需要系統(tǒng)的基本支持的計(jì)算。
⑵復(fù)雜的計(jì)算方法。既可以采用標(biāo)準(zhǔn)化的非局部操作
也可以采用針對(duì)特定問題的計(jì)算算法,如采用由用戶
發(fā)展起來的專用算法。
有關(guān)粒子物理研究中微擾計(jì)算的計(jì)算機(jī)代數(shù)算法:
一、圖形產(chǎn)生
ThomasHahn,FeynArts
以FeynArts程序包為例:使用時(shí),首先加載該程序包:
<<FeynArts.m(或init?m文件)
一旦用戶給定初、末態(tài)粒子,微擾計(jì)算的階數(shù),適當(dāng)?shù)哪?/p>
型,利用FeynArts就可以得到非零貢獻(xiàn)的費(fèi)曼圖。用如下
函數(shù)的操作指令就可以得到費(fèi)曼圖.
(1)CreateTopoiogies[l,e]產(chǎn)生/圈e個(gè)外腿的拓?fù)洹?/p>
(2)InsertFields[top,ext,Model->{mod1,mod2,...}]將mod1,mod2f...型
中的場(chǎng)加到外腿數(shù)為ext的拓?fù)鋞op中去。
(3)int[expr]在屏幕上畫出InsertFields輸出expr的
費(fèi)曼圖形。
二、費(fèi)曼幅度和指標(biāo)收縮計(jì)算
FeynArts程序包中,采用函數(shù)
CreateFeynAmp[expr]
將InsertFields函數(shù)輸出expr的一組費(fèi)曼圖產(chǎn)生對(duì)應(yīng)
的解析幅度。
圖形與幅度的轉(zhuǎn)換過程是按照費(fèi)曼圖圖形技術(shù)中
所對(duì)應(yīng)的規(guī)則進(jìn)行的:
外線對(duì)應(yīng)自由波函數(shù),內(nèi)線對(duì)應(yīng)著傳播函數(shù),頂點(diǎn)
對(duì)應(yīng)相互作用頂點(diǎn)。
例:協(xié)變規(guī)范中的膠子傳播函數(shù)的規(guī)則和夸克-膠
子作用頂點(diǎn)的規(guī)則:
由上面的費(fèi)曼規(guī)則得到的不變振幅的表達(dá)式中將包
含了重復(fù)指標(biāo)求和。
例如:洛侖茲指標(biāo)的收縮可以通過不斷運(yùn)用以下幾個(gè)
規(guī)則來實(shí)現(xiàn):
gig"=g/,g“p''=p〃,=
P4=PQ,P〃"=p,"=D
如果要對(duì)一串狄拉克(Dirac)矩陣乘積的重復(fù)指標(biāo)收
縮,例如〃“",我們可以先用狄拉克矩陣的反對(duì)易關(guān)
系心九}"2g"?,使兩個(gè)狄拉克矩陣用同一個(gè)指標(biāo),然后再
用上面公式化簡(jiǎn)。
在振幅平方的計(jì)算中,一般有狄拉克矩陣的求陣跡計(jì)
算。由于結(jié)果是相對(duì)論性不變量,所以人們很少有必
要去研究公式中各個(gè)矢量的分量,而只研究這些矢量
的標(biāo)積。這樣計(jì)算就沒有原來那么復(fù)雜了。原則上這
個(gè)計(jì)算方法是很明確的:
?奇數(shù)個(gè)狄拉克矩陣的陣跡是零;
?Trl=4;
?偶數(shù)(2n)個(gè)7矩陣的乘積的陣跡計(jì)算可以用公
式:
11'j「‘混”?。,二口—Okz)/I???十g,j.a2n[「
將(2n)個(gè)/矩陣的乘積的陣跡計(jì)算轉(zhuǎn)變?yōu)閷?duì)(2n-2)的
7矩陣的乘積求陣跡。理論上反復(fù)運(yùn)用上式,(2n)個(gè)
狄拉克矩陣的陣跡會(huì)產(chǎn)生(2n-l)(2n-3)-
3?l=(2n-l)!!項(xiàng)。這個(gè)數(shù)目隨n增加而指數(shù)增長(zhǎng)。如
果在指標(biāo)外,…,出之間沒有別的關(guān)系,則這實(shí)際上就是
(2n)個(gè)/矩陣的乘積的陣跡最后結(jié)果的項(xiàng)數(shù)。
FORM程序是處理費(fèi)曼幅度化簡(jiǎn)、洛侖茲指標(biāo)收縮
和/矩陣陣跡的最好工具之一。運(yùn)用飛Hooft-
Veltman方案對(duì)狄拉克代數(shù)的計(jì)算在TRACER程序中得
以實(shí)現(xiàn)。
三、單圈積分函數(shù)計(jì)算和Passarino—Veltman化簡(jiǎn)
Passarino和Veltman已經(jīng)首先給出了一*圈標(biāo)量
和張量積分函數(shù)系統(tǒng)的算法。其計(jì)算的基本思想就是
將張量積分計(jì)算化解為標(biāo)量積分函數(shù)的計(jì)算,而標(biāo)量
積分函數(shù)最終化為Spence函數(shù)的計(jì)算。
例:介紹張量圈積分化簡(jiǎn)到一個(gè)標(biāo)量圈積分的集
合。以下面的三點(diǎn)積分計(jì)算為例,
_rdDkk"v
3='W
其中Pi和P2表示外線動(dòng)量。Passarino和Veltman米用
將《寫成最一般的形式,即用形狀因子乘以外部動(dòng)量
和(或)度規(guī)張量表示的形式。在以上我們的例子里,
我們將該張量積分寫為
這里{p,,p;}=pfpl+PHO然后通過方程兩邊與外部動(dòng)量
pfp;,p;pf,加",p;}和度規(guī)張量〃收縮,來解出形狀因子
4,金,金和C24O左邊的結(jié)果是按照傳播子重寫成圈動(dòng)量
上與和外部動(dòng)量之間的標(biāo)量乘積的形式,例如:
2Pl,k=k?一?—pi》+p:.
右邊的前兩項(xiàng)消去了傳播子,而最后一項(xiàng)根本與圈動(dòng)
量無關(guān)。接著得到線性方程求解形狀因子。在這一步,
我們會(huì)遇到計(jì)算Gram行列式
A3=4”2
P\'PiPi,
這個(gè)算法的缺點(diǎn)就在出現(xiàn)在對(duì)這個(gè)行列式的計(jì)算上
面。如果在一個(gè)Pi和P2共線的相空間域中,Gram行列
式趨向與零,這時(shí)穩(wěn)定的數(shù)值計(jì)算程序就變得十分困
難。目前已經(jīng)有對(duì)Passarino-Veltman算法的改進(jìn)
的方法,這在很大程度上避免了Gram行列式出現(xiàn)。
近年來出現(xiàn)了解析或數(shù)值計(jì)算一圈圖的一點(diǎn)、二點(diǎn)、
三點(diǎn)、四點(diǎn),甚至五點(diǎn)積分函數(shù)的程序包。LoopTools
就是這樣一個(gè)計(jì)算標(biāo)量和張量單圈積分的程序包。由
于多點(diǎn)單圈圖的動(dòng)量積分具有可以最終歸結(jié)為
Spence函數(shù)計(jì)算的共性,因而這樣的積分是可以用計(jì)
算機(jī)代數(shù)系統(tǒng)來解決復(fù)雜計(jì)算的困難。然而二圈以上
的動(dòng)量積分計(jì)算就不再具有這一共性,不具備統(tǒng)一的
算法,因此用計(jì)算機(jī)代數(shù)系統(tǒng)來解決復(fù)雜計(jì)算還存在
困難。
四、高階量子修正計(jì)算的計(jì)算機(jī)代數(shù)程序
目前比較著名的,用于高階電弱和QCD理論微擾計(jì)算,
基于計(jì)算機(jī)代數(shù)的程序包有以下四組。每組中的不同程
序包大都有相同的語法,它們還可以It接起來使用。
(1)FeynArts,FeynCalc,FormCalc,LoopTools,
TwoCalc和s21seo
(2)GEFICOM,QGRAF,MATAD和MINCERo
(3)DIANA,QGRAF和ON-SHELL2,
(4)xloops和GiNaCo
如前面所列舉的高階精確計(jì)算程序包表明:計(jì)算機(jī)代數(shù)
系統(tǒng)與其余程序部份間的有效交流是極為重要。這些外部
程序可能是數(shù)值計(jì)算,文字處理,數(shù)據(jù)庫(kù),專家?guī)祛愋偷?/p>
程序包,也可能是特別適合問題的某一部份計(jì)算的計(jì)算機(jī)
代數(shù)系統(tǒng)。將來人們會(huì)更多地強(qiáng)調(diào)對(duì)程序集成的某種程度
的標(biāo)準(zhǔn)化,以及要求具備不同系統(tǒng)間數(shù)據(jù)傳遞功能。隨著
將來硬件和軟件的發(fā)展,計(jì)算機(jī)代數(shù)系統(tǒng)功能的擴(kuò)展會(huì)向
兩個(gè)不同方向發(fā)展:一方面,計(jì)算機(jī)代數(shù)系統(tǒng)可以進(jìn)行遠(yuǎn)
遠(yuǎn)超出現(xiàn)在水平的非常復(fù)雜的計(jì)算,另一方面計(jì)算機(jī)代數(shù)
系統(tǒng)越來越成為解決常規(guī)問題的軟件環(huán)境中的一部份。
§7.3Mathematica語言編程
單詞,詞匯-一少語句,文章
1.過程
一般形式為:
Module[{〈局部變量名表〉},表達(dá)式1;表達(dá)式2;…表達(dá)式n]
例如:
AAA
unit[x_ry_,z_]:=Module[{len},len=Sqrt[x2+y2+z2];
N[{x/len,y/len,z/len}]]
Block[{〈局部變量名表〉},表達(dá)式1;表達(dá)式2;…表達(dá)
式n]
2.控制選擇
(i)順序控制分號(hào)“;”
(ii)條件控制
工f語占結(jié)構(gòu)。
工f[邏輯表達(dá)式,表達(dá)式]
工口邏輯表達(dá)式,表達(dá)式1,表達(dá)式2]
工f[邏輯表達(dá)式,表達(dá)式L表達(dá)式2,表達(dá)式3]
例如:
66
f[x_]:=ff[(x>0)||(x=0),N[Sqrt[x]],Print[xisnegativeo
Print[66xisnotnumerical.n]
Which語句結(jié)構(gòu)。
Which[條件L表達(dá)式L條件2,表達(dá)式2,…,條件
n,表達(dá)式n]
例:Which[2==3,x,3==3,y]
其結(jié)果為y。這是由于條件2==3的結(jié)果為False,而條
件3==3的結(jié)果為True.
Switch語句結(jié)構(gòu)。
Switch[判別表達(dá)式,模式L表達(dá)式L模式2,表達(dá)
式2,…,模式n,表達(dá)式n]
例:i=l
Switch[i人2,0,x,l,y,2,z]
最后結(jié)果為y。
(iii)循環(huán)控制
Do語句結(jié)構(gòu)
Do[表達(dá)式,{循環(huán)描述}]
例:Do[Print[2Ai]Ji,l/5}]
該指令的結(jié)果是循環(huán)打印出入(i=l,2,3,4,5)的值2,
4,8,16,32o
For語句結(jié)構(gòu)
For[初始表達(dá)式,條件,步進(jìn)表達(dá)式,循環(huán)表達(dá)式]
例如:For[i=0,i<=10,++1,Print[i]]
值為0,1,2,3,4,5,6,7,8,9,10o
While語句結(jié)構(gòu)
While[條件,循環(huán)表達(dá)式]
例如:
i=0
While[i<=10APrint[i];i++]
3.程序包結(jié)構(gòu)
一般的程序包具有如下的基本框架:
BeginPackage[”程序包名稱,”]
名稱::usage=“字符串,程序包中定義在包外可以使用
的函數(shù)、變量等的名字和使用說明
Begin[“Private
程序包主體.(包括外部可用的函數(shù)及變量,一些內(nèi)部
函數(shù)變量的定義.)
End[]
EndPackage[]
7.3Mathematica語言編程
1.過程
一般形式為:
Module[{<局部變量名表〉},表達(dá)式1;表達(dá)式2;...表達(dá)式n]
例如:
unit[x_,y_,z_]:=Module[{len},len=Sqrt[xA2+yA2+zA2];
N[{x/len,y/len,z/len}]]
Block[{<局部變量名表〉},表達(dá)式1;表達(dá)式2;…表達(dá)式n]
2.控制選擇
(i)順序控制分號(hào)
(ii)條件控制
if語言結(jié)構(gòu)。
if[邏輯表達(dá)式,表達(dá)式]
If[邏輯表達(dá)式,表達(dá)式1,表達(dá)式2]
If[邏輯表達(dá)式,表達(dá)式1,表達(dá)式2,表達(dá)式3]
例如:
f[x_]:=If[(x>0)II(x=0),N[Sqrt[x]],Print["xisnegative0,
Print["xisnotnumerical."]
Which語句結(jié)構(gòu)。
Which[條件1,表達(dá)式1,條件2,表達(dá)式2,…,條件n,表達(dá)式n]
例:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年帶魚糜項(xiàng)目可行性研究報(bào)告
- 二零二五版房屋租賃與轉(zhuǎn)讓合同全方位服務(wù)內(nèi)容協(xié)議2篇
- 2025年隧道式酸洗生產(chǎn)線項(xiàng)目投資可行性研究分析報(bào)告
- 2025年軟聚氯乙烯塑料項(xiàng)目可行性研究報(bào)告
- 2025年度生態(tài)農(nóng)業(yè)園租賃及種植服務(wù)合同4篇
- 2024其他貴金屬冶煉行業(yè)分析報(bào)告
- 2020-2025年中國(guó)注射用頭孢西丁鈉行業(yè)發(fā)展前景預(yù)測(cè)及投資戰(zhàn)略研究報(bào)告
- 2025年柔性防火電纜項(xiàng)目可行性研究報(bào)告-20250101-225309
- 2025年中國(guó)注射器行業(yè)發(fā)展?jié)摿︻A(yù)測(cè)及投資戰(zhàn)略研究報(bào)告
- 2025年車輛船舶配件項(xiàng)目投資可行性研究分析報(bào)告
- 衡水市出租車駕駛員從業(yè)資格區(qū)域科目考試題庫(kù)(全真題庫(kù))
- 護(hù)理安全用氧培訓(xùn)課件
- 《三國(guó)演義》中人物性格探析研究性課題報(bào)告
- 注冊(cè)電氣工程師公共基礎(chǔ)高數(shù)輔導(dǎo)課件
- 土方勞務(wù)分包合同中鐵十一局
- 乳腺導(dǎo)管原位癌
- 冷庫(kù)管道應(yīng)急預(yù)案
- 司法考試必背大全(涵蓋所有法律考點(diǎn))
- 公共部分裝修工程 施工組織設(shè)計(jì)
- 《學(xué)習(xí)教育重要論述》考試復(fù)習(xí)題庫(kù)(共250余題)
- 裝飾裝修施工及擔(dān)保合同
評(píng)論
0/150
提交評(píng)論