berlekamp演算法
① 誰能幫我 翻譯一篇 論文 摘要
This paper first sequence passwords principle, meaning, the focus of its research and study status of the initial presentation, a detailed description of non-linear feedback shift register have a pseudo-random sequence of principle, Meanwhile de Bruijn of the sequence (commonly known as the M-series), the definition and determination methods described. The article described the latter part of the linear shift register integrated algorithm (also known as Berlekamp-Masse y algorithm), in principle briefed at the same time is given for the specific steps and C source code. Finally, the use of an implement of the proceres, The procere traverse n-de Bruijn sequence, the use of BM algorithm for the linear complexity, calculated with a linear complexity of n-de Bruijn sequence number, hence n-de Bruijn sequence of the total number. Through the proceres and operations on the results of the analysis shows that the BM algorithm code sequences important role.
Non-linear feedback shift register : NFSR sequence Password : Stream Cipher pseudo-random sequence : pseudorandom numbers
② 誠請計算機高手幫忙!!!!!!!!!!!!
1.1 計算機代數系統的發展歷史
什麼是計算機代數系統? 從歷史的角度來看\COMPUTE」 的涵義是\數值的計算". 數值
計算的涵義不僅僅是數的算術計算, 還包括其它復雜的計算, 例如: 數學函數的計算、求多項式
的根、矩陣的計算、矩陣特徵值的計算等等. 數值計算的一個本質的特徵是它不能保證絕對的
准確, 原因在於, 在數值計算的過程中我們是用浮點數進行計算的, 對於簡單的問題, 我們可以
用紙和筆手工計算, 對於復雜的問題, 就需要用計算器或計算機進行計算. 然而, 對計算機來說,
要想絕對精確的表達一個浮點數幾乎是不可能的, 在計算的過程中必然會產生誤差.
數學的計算除了數值計算以外還有另一個重要的分枝, 我們稱之為符號計算或代數計算. 簡
單的講, 就是對代表數學對象的符號進行計算. 這些符號可以代表整數、有理數、實數、復數或
代數數, 也可以代表其它的數學對象如多項式、有理函數、矩陣、方程組, 或者其它抽象的數學
對象如群、環、域等等. 對於這些抽象的數學符號, 我們通常是手工計算的, 這也是數學家傳統
的工作方式. 然而隨著計算機技術的發展, 以及對符號演算法的深入研究, 用計算機代替人工進行
符號計算已經成為可能.
從二十世紀六十年代以來, 符號計算這個研究領域獲得了極大的發展. 一系列符號計算算
法的提出為現代計算機代數系統奠定了理論基礎. 比較著名的演算法包括: 計算多項式理想的
Grobner 基演算法、多項式分解的Berlekamp 演算法、計算有理函數積分的Risch 演算法.
在二十世紀六十年代, 比較流行的計算機程序語言是FORTRAN 和ALGOL. 這兩種語言
主要是用來作數值計算的, 至今FORTRAN 依然是數值計算領域的標准語言之一. 然而FORTRAN 語言和ALGOL 語言並不適合於編寫符號計算軟體. 六十年代初出現的LISP 語言為符
號計算軟體提供了合適的語言環境, 因此早期的符號計算軟體都是用LISP 語言編寫的. 其中最
著名的符號計算系統是REDUCE, REDUCE 系統是由Stanford 大學的Tony Hearn 開發的基
於LISP 語言的互動式符號計算系統, 最初的目的是用來進行物理計算. 到了二十世紀七十年代
初, 由麻省理工學院的Joel Moses, Willian Martin 等人開發的MACSYMA 系統誕生了, 它是那
個時代功能最強大的符號計算系統. 它的功能除了標準的代數計算以外, 還包括極限的計算、符
號積分、解方程等. 事實上, 許多符號計算的標准演算法都是由麻省理工學院的研究小組提出的.
由G. Collins 和R. Loos 開發的SAC/ALDES 系統是另外一種類型的符號計算系統, 它的
前身是G. Collins 在IBM 編寫的PM 系統(它是一個處理多項式的符號計算系統). SAC 是一
個非交互的系統, 它是由ALDES(ALgebraic DEScription) 語言編寫的模塊組成的, 並且帶有一
個轉換程序, 可以把結果轉換成FORTRAN 語言. 到了1990 年, H. Hong 用C 語言重寫了SAC
系統, 形成了新的SACLIB 系統. 這個系統提供了完整的C 語言源代碼, 可以自由的從國際互
聯網上下載.
在二十世紀七十年代的第四個通用的符號計算系統是muMATH. 它是由Hawaii 大學的
David Stoutemyer 和Albert Rich 開發的第一個可以在IBM 的PC 機上運行的計算機代數系統.
1
2 第一章Maple 系統簡介
它所使用的開發語言是LISP 語言的一個子集稱為muSIMP.
進入二十世紀八十年代, 隨著個人PC 機的普及, 計算機代數系統也獲得了飛速的發展. 在
這個時代推出的計算機代數系統大部分是用C 語言編寫的, 比較著名的系統包括Maple, Mathematica, DERIVE 等. 有關Maple 的特點我們將在後面介紹, 這里, 我們簡單介紹一下DERIVE
和Mathematica.
DERIVE 是muMATH 的後繼版本, 它是第一個在PC 機上運行的符號計算系統.DERIVE
具有友好的菜單驅動界面和圖形介面, 可以很方便的顯示二維和三維圖形. 它唯一的缺陷是沒
有編程功能, 直到1994 年DERIVE 的第三版問世時, 才提供了有限的編程功能. 現在DERIVE
的大部分功能都被移植到由HP 公司和Texas 公司生產的圖形計算器上.
Mathematica 是由Stephen Wolfram 開發的符號計算軟體,Mathematica 系統的計算能力非
常強, 它的函數很多, 而且用戶自己可以編程. 它的最大優點是, 在帶有圖形用戶介面的計算機
上Mathematica 支持一個專用的Notebook 介面. 通過Notebook 介面, 我們可以向Mathematica
核心輸入命令, 可以顯示Mathematica 的輸出結果, 顯示圖形、動畫、播放聲音. 通過Notebook,
我們可以書寫報告、論文, 甚至整本書. 事實上, 有關Mathematica 的論文, 軟體, 雜志大部分都
是用Notebook 寫的, 並且在Internet 網路上廣泛傳播.Mathematica 的另一個重要特點是它具
有Mathlink 協議, 通過Mathlink, 我們可以把Mathematica 的核心與其它高級語言連接, 我們
可以用其它語言調用Mathematica, 也可以在Mathematica 中調用其它語言編寫的程序. 到現
在為止, 能夠與Mathlink 連接的語言包括C 語言,Excel,Word 等. 事實上Notebook 就是通過
Mathlink 與Mathematica 核心相連接的.
上面我們介紹的軟體都是通用的符號計算系統, 其它通用的符號計算系統還有IBM 公司
的Thomas J. Watson 研究中心開發的AXIOM, 它的前身稱為SCRATCHPAD.
除了上述通用的符號計算系統以外, 還有一些在某個領域專用的符號計算系統. 例如: 用於
高能物理計算的SCHOONSCHIP, 用於廣義相對論計算的SHEEP 和STENSOR. 在數學領域
中用於群論的Cayley 和GAP, 用於數論的PARI, SIMATH 和KANT. 在代數幾何和交換代數
領域中常用的系統是CoCoA 和Macaulay. 還有專門計算Lie 群的Lie 等等.
1.2 計算機代數系統的網路資源
進入二十世紀九十年代以來, 隨著國際互聯網的迅速發展, 符號計算系統的發展變的更加
迅速和開放. 從國際互聯網上可以獲取各種符號計算系統, 以及其他數學軟體的相關信息. 有些
新的符號計算系統甚至提供源代碼. 有些數學軟體還有新聞組或討論組, 通過討論組, 用戶可以
彼此交流信息、解答問題. 廠家也可以及時發現軟體的問題, 進行修改. 下面我們介紹一些常用
數學軟體的網路資源, 以及主要研究機構的地址.
Mathematica 的網路資源:
http://www.wolfram.com
http://www.mathsource.com
http://www.matheverywhere.com
http://smc.vnet.net/MathTensor.html
ftp://ftp.mathsource.com
news://comp.soft-sys.math.mathematica
1.3 Maple 的基本功能3
maillist:[email protected]
Maple 的網路資源:
http://www.maplesoft.com
http://daisy.uwaterloo.ca
ftp://ftp.maplesoft.com
maillist:[email protected]
Matlab 的網路資源:
http://www.mathworks.com
ftp://ftp.mathworks.com
news://comp.soft-sys.matlab
REDUCE 的網路資源:
http://www.rrz.uni-koeln.de/REDUCE
http://www.zib.de/Symbolik/rece
ftp://ftp.rand.org/software_and_data/rece
符號計算研究機構及信息中心
http://symbolicnet.mcs.kent.e
http://www.cain.nl/
http://www.risc.uni-linz.ac.at
news://sci.math.symbolic
其它符號計算軟體的網路地址:
Derive http://www.derive.com
Macaulay2 http://www.math.uiuc.e/Macaulay2/
Macsyma http://www.macsyma.com
Magma http://www.maths.usyd.e.au:8000/u/magma/
Mathcad http://www.mathsoft.com
MuPad http://www.mupad.de
Scilab http://www-rocq.inria.fr/scilab/
1.3 Maple 的基本功能
計算機代數系統與其它計算機語言的本質區別是: 計算機代數系統具有符號計算的能力,
為用戶提供互動式的計算環境, 可以進行常規的數學計算, 可以根據給定的數學函數畫出函數
的二維或三維圖形. 下面我們簡要描述Maple 的基本功能.
數值計算
對於普通的數,Maple 總是進行精確的計算, 這種規則對於有理數和無理數是相同的. 因此
對於無理數Maple 按照有關的數學規則進行計算, 只有當用戶需要計算浮點數近似值時,Maple
才按照用戶要求的精度計算.
> 1/5+1/4;
9
20
4 第一章Maple 系統簡介
> 5!/21;
40
7
> evalf(%);
5:714285714
> evalf(Pi,40);
3:
> 2.496745643/2;
1:248372822
> abs(3+5*I);
p34
> (3+4*I)/(1+I);
71
+ I
22
從上面的例子可以看到, 對於復數Maple 按照復數的規則進行計算.
多項式
符號計算系統的最基本功能是處理符號表達式, 多項式則是最基本的符號表達式. 從下面
的例子中可以看到Maple 可以用各種方式處理多項式、三角表達式、指數與對數等許多數學表
達式.
> factor(x^4+2*x^3-12*x^2+40*x-64);
(x . 2) (x 3 +4 x 2 . 4 x + 32)
> expand((x+1)^5);
x 5 +5 x 4 + 10 x 3 + 10 x 2 +5 x +1
> simplify(exp(x*log(y)));
x
y
> simplify(sin(x)^2+cos(x)^2);
1
> expand((x^2-a)^3*(x+b-1));
x 7 + x 6 b . x 6 . 3 x 5 a . 3 x 4 ab +3 x 4 a +3 x 3 a 2 +3 x 2 a 2 b . 3 x 2 a 2 . a 3 x . a 3 b + a 3
> expand(cos(4*x)+4*cos(2*x)+3,trig);
8 cos(x)4
1.3 Maple 的基本功能5
> combine(4*cos(x)^3,trig);
cos(3 x) + 3 cos(x)
解方程
用Maple 來解簡單的方程是毫無問題的, 即使是很復雜的方程,Maple 也可以用數值計算的
方法來處理.
> solve(x^2-3*x=2,x);
31 31
2+
2
p17, 2 . 2
p17
> glsys:=f2*x+3*y+z=1,x-y-z=4,3*x+7*z=3g:
> solve(glsys);
..24 97 ..43
fz =
41 ;x =
41;y =
41 }
> fsolve(fx^2+y^2=10,x^y=2g,fx,yg);
fx =3:102449071;y = :6122170880}
矩陣計算
Maple 還有許多命令可以處理矩陣和向量, 不過需要調用線性代數軟體包linalg. 還有一
點特別的是, 作矩陣的乘法需要一個特殊的運算元&*.
> with(linalg):
Warning, new definition for norm
Warning, new definition for trace
> a:=matrix([[2,3],[1,4]]);
> inverse(a),det(a);
a :=
. ..
23
14
. ..
2..
4 ..3
55
..12
55
3..
, 5
> b:=matrix([[w,x],[y,z]]);
b :=
. ..
wx
. .5
yz
第一章Maple 系統簡介
> evalm(a+b);
. ..
2+ w 3+ x
1+ y 4+ z
. ..
> evalm(a &* b);
. ..
2 w +3 y 2 x +3 z
w +4 yx +4 z
. ..
極限, 求和與乘積
對於普通的求極限問題, 可以直接用Maple 來計算, 它還可以符號的計算級數的和與積. 當
符號計算不成功時, 還可以作數值計算.
> limit((sqrt(1+x)-1)/x,x=0);
1
2
> limit(x!/x^x,x=infinity);
0
> sum(1/2^n, n=1..infinity);
1
> evalf(proct(1+1/x^2, x=1..infinity));
3:676077910
微分與積分
用Maple 來求微分是相當容易的, 使用diff 命令即可以求出數學表達式的微分, 不過求出
的結果可能是相當復雜, 因此通常還要用simplify 命令進行化簡. 求數學表達式的定積分和不
定積分就相對復雜一些, 需要某些特定的演算法. 對於復雜的函數, 求出的結果可能是某些特殊函
數. 對於定積分, 還可以用evalf 求出積分的數值.
> simplify(diff((x-1)/(x^2+1),x));
x2 . 1 . 2 x
. (x2 + 1)2
> diff(sin(x*y),x);
cos(xy) y
> int(1/(1+x+x^2),x);
21
p3 arctan( (2 x + 1) p3)
33
1.3 Maple 的基本功能7
> int(sin(x^2),x=a..b);
1
FresnelS( b p2) p2 pπ .
1
FresnelS(a p2) p2 p
2 pπ 2 pπ
> int(sin(x)/x,x=0..5);
Si(5)
> evalf(%);
1:549931245
微分方程
對於不太復雜的常微分方程,Maple 可以求出它的符號解. 如果你沒有給初始條件, 或者給
的初始條件或邊界條件不全, 在解的公式中會帶有積分常量.
> deq:=diff(y(x),x)*y(x)*(1+x^2)=x;
deq := ( . y(x)) y(x)(1 + x 2)= x
@x
> dsolve(fdeq,y(0)=0g,fy(x)g);
y(x)= pln(1 + x2), y(x)= ..pln(1 + x2)
> dsolve((y(x)^2-x)*D(y)(x)+x^2-y(x)=0,fy(x)} );
11
x 3 . y(x) x + y(x)3 = C1
33
級數展開
當數學問題比較復雜時, 求出准確解通常是不可能的, 用series 作級數展開是有幫助的.
> series(sin(x),x=0, 10);
11 5 11 10)
x . 6 x 3 +
120 x . 5040 x 7 +
362880 x 9 + O(x
例如在下列微分方程中, 就是用級數方式求出的微分方程級數解.
> Order:=10:
> deq:=diff(y(x),x$2)+diff(y(x),x)+y(x)=x+sin(x );
@2 @
deq :=( y(x))+( y(x)) + y(x)= x + sin(x)
@x2 @x
> sln1:=dsolve(fdeq, y(0)=0, D(y)(0)=0g,fy(x)g,series);
1 3 1 4 1 5 +
1 6 1 7 1 8 +
1 10)
sln1 := y(x)=
3 x . 12 x . 120 x 240 x . 5040 x . 20160 x 181440 x 9 + O(x
第一章Maple 系統簡介
Laplace 和Fourier 變換
Laplace 變換和Fourier 變換是常用的數學變換. 在Maple 中有一個積分變換的程序包
inttrans 提供了各種積分變換和它們的逆變換.
> with(inttrans):
> laplace(cos(t-a),t,s);
s cos(a) + sin(a)
s2 +1
> invlaplace(%,s,t);
cos(a) cos(t) + sin(a) sin(t)
> combine(%,trig);
cos(t . a)
> alias(sigma=Heaviside):
> f:=sigma(t+1)-sigma(t-1):
> g:=simplify(fourier(f,t,w));
g := 2 I (π Dirac(w) w . I) sin(w)
w
插值與函數擬合
interp命令可以由n 個點出發計算n . 1 階的插值多項式. 在下例中,x 的取值是1 到10,
y 的值是1 到10 之間的10 個隨機數.f 是相應的插值多項式.
> datax:=[seq(i,i=1..10)]:
> datay:=[seq(rand(10)(),i=1..10)]:
> dataxy:=zip((x,y)->[x,y], datax, datay);
dataxy := [[1, 1], [2, 0], [3, 7], [4, 3], [5, 6], [6, 8], [7, 5], [8, 8], [9, 1], [10, 9]]
> f:=interp(datax, datay, x);
17 9 517 11699 7 3719 27323 176741 4 652577 3f :=
51840 x . 40320 x 8 +
60480 x . 2880 x 6 +
17280 x 5 +
5760 x . 3240 x
1816483 2 1669153
+ xx + 293
3360 . 2520
使用數值逼近程序包numapprox 中的pade 命令可以計算一個給定函數的有理逼近函數,
以及其它類型的逼近函數.
> with(numapprox):
> x0:=solve(x^2=Pi/2)[1];
x0 :=
1 p2 p
2
1.3 Maple 的基本功能9
> f:=pade(tan(x^2), x=x0, [3,3]);
8 10
f := (..17280 19=2 p2 + 10800 %1 7 + 43200 %13 . 7680 %13
12
. 3072 %12 25=2 p2 . 32400 15=2 p2 + 3840 23=2 p2 + 28800 %1 9 + 3072 %13
+ 23040 %12 21=2 p2 + 14400 %12 17=2 p2 . 11520 %1 11) .(
(..11520 11 + 1024 13 . 14400 9 . 10800 7) %13
+ (7680 23=2 p2 . 11520 19=2 p2 + 21600 15=2 p2) %12
+(..7680 12 + 34560 10 + 64800 8) %1)
%1 := x .
1 p2 pπ
2
> evalf(normal(f));
6:(..:4532958122 109 x 2 . :1125313130 109 + :1054184360 109 x 3 + :5353835473 109 x)
((2:x . 2:506628274)
(..:1097168700 109 x 2 + :8958248690 109 x . :1356288866 1010))
圖形
最常用的畫圖命令是plot和plot3d.下面的例子說明了使用在兩個命令的方法.
>plot(sin(x)*exp(1)^(-x/7),x=0..4*Pi);
-0.4-0.200.20.40.60.824681012x>plot3d(sin(x)*exp(1)^y,x=0..2*Pi,y=0..Pi,axes=boxed);
20-1001020
Maple 編程
Maple 不僅可以對數學表達式進行計算, 還可以編程. 他的編程語言和其它的結構化編程
語言很相似.
10 第一章Maple 系統簡介
> f:=proc(x::nonnegint)
> option remember;
> if x=0 then 0
> elif x=1 then 1
> else f(x-1)+f(x-2) end if
> end proc:
> f(40);
102334155
1.4 Maple 系統的交互使用
Maple 的窗口環境提供了先進的工作區界面, 其擴充的數學功能簡明易用, 用戶可以在其
中展現數學思想, 創建復雜的技術報告, 充分發揮Maple 的功能.
圖1.1: Maple 的窗口環境
A Maple 的工具條
B 內容工具條, 它還包含一個輸入和編輯文本的區域
C 節的頭部及標題
D Maple 的輸入, 提示符為\>", 顯示為紅色
1.4 Maple 系統的交互使用11
E Maple 的輸出, 既執行Maple 命令的結果, 通常顯示為藍色
F 一組Maple 命令及其輸出
G Maple 的工作區
H 工作區元素組成的節
I 節的范圍: 用一個大的方括弧\[」 表示
J 省缺的Maple 輸入提示符
K 符號模板, 包含了許多常用的數學符號
L 表達式模板
M 矩陣模板
N 向量模板
Maple 工作區界面
Maple 的圖形界面具有現代應用軟體界面的常見功能, 它支持滑鼠操作, 包括剪切和粘貼等
功能, 如果你已經習慣了這些用法, 那就具備了使用Maple 工作區界面的基本知識. 現在你可
以執行一些標準的操作, 例如: 打開文件、保存和列印文件等.
對於Windows 平台, 只要雙擊Maple 圖標即可啟動Maple. 在Unix 系統下, 可在提示符
之後鍵入xmaple 命令來啟動.Maple 啟動後將開啟一個新的工作區.
在窗口上端是菜單條, 包括File 和Edit 等菜單項, 菜單條之下是工具條, 其中有若干用於
經常性操作的快捷按鈕, 如文件打開, 保存和列印等. 工具條之下是內容指示條, 其中有一些控
件規定當前執行的任務. 再向下是較大的工作區區域, 也就是你的工作區. 窗口的最下端是狀態
條, 其中顯示系統信息.
作為Maple 用戶界面的一個組成部分, 工作區是用戶交互的求解問題和把工作寫成文檔的
集成環境. 所謂交互的求解問題, 簡單的說就是輸入適當的Maple 命令, 得到結果. 在工作區中
可以修改命令, 重新執行並獲得新的結果. 除了Maple 命令及其結果以外, 還可以在文檔中加入
許多其他類型信息. 主要包括:
可以加入文本, 用戶能夠逐個字元地控制文本段落.
.
在文本段中, 可以加入數學表達式和Maple 命令.
.
可以加入超連接, 當用滑鼠單擊某特定文本區域時, 能跳轉到工作區的其他位置, 或其它文
.
本中.
可以規定文檔的結構, 包括超連接, 節與小節的劃分.
.
在Windows 平台上, 用戶可以嵌入其他對象, 可藉助OLE 2( 對象連接與嵌入標准) 嵌入圖
.
形和表格.
添加標題
在Maple 的工作區中不僅可以作數學計算, 還可以編寫文檔. 首先我們可以給文檔加標題.
具體步驟是: 將游標移到第一行, 在Insert 菜單的Execution Group 中選擇Region Before
項, 此時在頂部出現一個新區域. 這個區域包含一個Maple 輸入的提示符, 這意味著此時是輸入
Maple 命令的狀態. 點擊工具條上的
T 按鈕或從Insert 菜單中選擇Text Input 項, 就把這個
區域變成了文本輸入狀態, 現在就可以輸入文本. 此時在工具條下面又出現了一個新的文本選
擇工具條, 從中你可以選擇文本的字體格式等. 如果你輸入的是文章的標題, 就可以在文本格式
12 第一章Maple 系統簡介
的下拉菜單中選擇標題格式. 輸入標題後回車, 系統會自動要求你輸入作者的名字, 輸入完作者
名以後就可以輸入正文了.
添加小標題
對文檔的進一步加工是把文檔分解為節. 具體作法是首先用滑鼠選定相關的區域, 然後點
擊工具條中的. 鍵, 此時就在選定的區域前面出現了一個小方塊, 下拉一個大括弧, 括住了選
定的區域. 並且在這個區域的第一條命令之前插入一個文本區域, 此時你可以輸入節的標題, 回
車後還可以輸入其他說明文本. 如果需要開始新的一節, 可以在Insert 菜單中選擇section.
就可以在這一節之後創建新的一節.
行內數學表達式
在一個文檔中有時需要插入數學表達式, 例如下面一段文字:
Look at the integral . x2 sin(x . a)dx. Notice that its integrand, x2 sin(x . a), depends
on the parameter a.
在其中插入數學公式的方法是: 首先將游標移到相應的位置, 從Insert 菜單中選擇Math Input
項, 然後輸入對應於. x2 sin(x . a)dx 的Maple 代碼, 即Int(x^2*sin(x), x), 注意觀察內容指
示條中的編碼區域, 其中顯示輸入的代碼, 而工作區中則顯示使用標准數學符號的積分表達式.
在數學表達式輸入完成後, 再將輸入狀態變成文本輸入狀態, 就可以繼續輸入其他文本. 這樣就
完成了我們的文檔, 它既可以保存也可以列印.
添加超連接
在Maple 系統中, 用戶可以同時打開多個工作區, 在不同的工作區之間可以通過建立超連
接的方式建立聯系. 建立超連接的方法是: 在一個工作區中用滑鼠選定一個位置, 在Insert 菜
單中選擇Hyperlink 項. 此時彈出一個對話框, 它要求用戶輸入聯接的文字和另一個工作區的
文件名. 填寫完成後單擊OK 鍵就完成了超連接.
建立書簽
在工作區中可以插入書簽, 以便迅速的查找內容. 單擊指向書簽的超連接,Maple 將立即轉
至書簽位置. 建立書簽的方法是: 首先將游標移動到要插入書簽的位置, 從View 菜單中選擇
Edit Bookmark 項. 在彈出的對話框中鍵入一段文字, 例如\expr command」 作為書簽文本, 單
擊OK 按鈕插入書簽. 當你移動游標到工作區的任何位置時, 從View 菜單中選擇Bookmark, 再
從彈出的菜單中選擇expr command 項, 就可以跳到你插入書簽的位置.
此外超連接的方式也可以使用書簽. 具體作法是: 首先按照前面的方法建立書簽, 將游標
移動到建立超連接的位置, 在Insert 菜單中選擇Hyperlink 項. 在彈出的對話框中輸入聯接的
文字, 然後在Book Mark 區域添入你已經建立的書簽的標記, 例如\expr command", 單擊OK 鍵
就完成了超連接.
幫助系統
前面我們介紹了Maple 的計算和排版方面的能力, 然而這只能是簡介, 在本書中, 我們不可
能詳盡的描述Maple 的所有命令, 因為Maple 包含了數以千計的命令. 為了了解這些命令的使
用方法, 可以使用Maple 軟體帶有的一個自足的參考手冊, 即Maple 的幫助系統. 藉助幫助系
1.5 Maple 的組織結構13
統, 可以按名字或主題查詢Maple 命令及其特點. 此外用戶還可以自行選擇關鍵詞或術語, 來
迅速打開含有這些文字的幫助頁面. 在每個幫助頁面中還提供了超連接, 使用戶可以閱讀相關
的頁面.
在幫助系統中,Maple 提供了三種方法定位信息: 按目錄、按主題和按全文查找. 從Help 菜
單中選擇Contents, 幫助窗口將變為幫助系統的一個簡單目錄, 用戶可以通過超連接的方式瀏
覽幫助系統. 這就是按目錄的查找方法. 通過這種方法我們可以大致了解Maple V 的基本功
能, 但是要從中找到某個特定的主題還是很困難的. 按主題查找的方法是: 從Help 菜單中選擇
Topic Search, 此時幫助窗口將彈出一個對話框, 在其中添入需要查找的主題, 點擊OK 鍵, 就可
以閱讀相應的幫助文檔. 如果已經知道希望閱讀的主題詞, 也可以直接從工作區訪問該頁面, 辦
法是在Maple 提示符後鍵入?topic, 回車後就可閱讀相應的頁面.
在大多數Maple 版本中(唯一的例外是Maple V Realese 4 版本), 進入幫助系統後,Maple
會打開幫助瀏覽器, 通過幫助瀏覽器可以方便地找到你需要的幫助.
有的時候, 在解決某個數學問題時不知道應該使用Maple 的什麼命令, 但是由數學問題本
身出發, 有理由推測, 在這些命令的幫助頁面應當包含某些特定單詞, 此時就要用到全文查找的
方法. 例如我要解一個微分方程, 但是不知道應該用什麼命令, 我們可以推測, 在這個命令的幫
助中應該包含solve, di erential 和equation 等單詞, 此時可以在Help 菜單中選擇Full Text
Search, 在彈出的對話框中, 輸入要查找的關鍵詞, 例如solve di erential equation 等, 然後單擊
Search 按鈕, 通知Maple 開始檢索.Maple 將列出匹配的主題, 並附帶數值, 表明匹配的程度, 用
戶可從列表中選擇最感興趣的主題.
此外從Help 菜單中選定Balloon Help 項以後, 當滑鼠停留在某個按鈕或菜單上時,Maple
就顯示簡短的說明. 這也是一個很有用的功能.
1.5 Maple 的組織結構
Maple 是由加拿大Waterloo 大學的符號計算組開發的計算機代數系統. 它可以在各種計
算機上運行, 從超級計算機, 例如Cray Y/MP, 到用於桌面的微型計算機, 例如IBM PC 兼容
機.Maple 既可以在單用戶的操作系統, 例如MS-Windows 上
③ 我要用matlab求解一個包含12個一階微分方程的方程組,怎麼寫一個類似ode45的函數呢
第一章Maple 系統簡介
本章首先對計算機代數系統進行簡要的介紹. 主要內容包括計算機代數系統的發展歷史、
計算機代數系統的基本功能及特徵以及網路資源. 然後介紹Maple V 的基本功能, 窗口環境以
及組織結構.
1.1 計算機代數系統的發展歷史
什麼是計算機代數系統? 從歷史的角度來看\COMPUTE」 的涵義是\數值的計算". 數值
計算的涵義不僅僅是數的算術計算, 還包括其它復雜的計算, 例如: 數學函數的計算、求多項式
的根、矩陣的計算、矩陣特徵值的計算等等. 數值計算的一個本質的特徵是它不能保證絕對的
准確, 原因在於, 在數值計算的過程中我們是用浮點數進行計算的, 對於簡單的問題, 我們可以
用紙和筆手工計算, 對於復雜的問題, 就需要用計算器或計算機進行計算. 然而, 對計算機來說,
要想絕對精確的表達一個浮點數幾乎是不可能的, 在計算的過程中必然會產生誤差.
數學的計算除了數值計算以外還有另一個重要的分枝, 我們稱之為符號計算或代數計算. 簡
單的講, 就是對代表數學對象的符號進行計算. 這些符號可以代表整數、有理數、實數、復數或
代數數, 也可以代表其它的數學對象如多項式、有理函數、矩陣、方程組, 或者其它抽象的數學
對象如群、環、域等等. 對於這些抽象的數學符號, 我們通常是手工計算的, 這也是數學家傳統
的工作方式. 然而隨著計算機技術的發展, 以及對符號演算法的深入研究, 用計算機代替人工進行
符號計算已經成為可能.
從二十世紀六十年代以來, 符號計算這個研究領域獲得了極大的發展. 一系列符號計算算
法的提出為現代計算機代數系統奠定了理論基礎. 比較著名的演算法包括: 計算多項式理想的
Grobner 基演算法、多項式分解的Berlekamp 演算法、計算有理函數積分的Risch 演算法.
在二十世紀六十年代, 比較流行的計算機程序語言是FORTRAN 和ALGOL. 這兩種語言
主要是用來作數值計算的, 至今FORTRAN 依然是數值計算領域的標准語言之一. 然而FORTRAN 語言和ALGOL 語言並不適合於編寫符號計算軟體. 六十年代初出現的LISP 語言為符
④ 有關數學的問題
傳記類數學名著1《數字情種》(愛多士傳) 作者:保羅.霍夫曼 2 《我的大腦敞開了——天才數學家保羅·愛多士傳奇》 作者布魯斯.謝克特[美] 3 《女數學家傳奇》 作者:徐品方 4《一個數學家的辯白》 作者: 哈代 譯者: 王希勇 5《數學大師》 譯者: 徐源 作者: (美)E·T·貝爾 副標題: 從芝諾到龐加萊 6 現代數學家傳略辭典 作 者 張奠宙 7 世界著名數學家傳記(上、下集) 作 者 吳文俊 8 數學精英 9 最後的煉金術士——牛頓傳 作者 (英)懷特專業數學名著1 《從微分觀點看拓撲》J.W.米爾諾 2 無窮小分析引論 Introction to analysis of the infinite [作者]:歐拉 3 《自然哲學之數學原理》 作者:伊薩克.牛頓 4 幾何原本(13卷視圖全本) 作者:(古希臘)歐幾里得原著, 燕曉東編譯 5 《數論報告》希爾伯特 6 《算術研究》高斯 7 《代數幾何原理》哈里斯(Harris) 8. 《微積分學教程》菲赫金哥爾茲 9. 《有限群表示》J.P.塞爾 10. 《曲線和曲面的微分幾何》杜卡謨 11. 《曲面論》達布 12. 《數論導引》華羅庚 13. 《代數學基礎》賈柯伯遜 14. 《交換代數》阿蒂亞培養興趣:《幻方與素數》《趣味數學》 奧數方面的書等。更深的研究:《古今數學思想》莫里斯·克萊因著 有名的數學著作,列在了下面,摘自一個博客,都已分門別類,可按自己的興趣選擇,希望對你有幫助^^ http://blog.sina.com.cn/s/blog_5ee55a950100cdev.html 重要數學著作列表轉載標簽:雜談 幾何 《幾何原本》(希臘文∑τοιχε�6�4α)是古希臘數學家歐幾里德所著的一部數學著作,共13卷。這本著作是現代數學的基礎,在西方是僅次於《聖經》而流傳最廣的書籍。 1-6卷:平面幾何 7-9卷:數論 10卷:無理數 11-13卷:立體幾何 出版時期: 約公元前300年 網上版本: 互動式Java版 簡述: 這可能不僅是幾何最重要的著作而且也是數學最重要的著作。它包含很多幾何,數論的重要結果和第一個演算法。原本現在依然是有價值的資源和對演算法的一個好的導引。比這本書中任何特定的結果更為重要的是,似乎該書最大的成就是把邏輯和數學證明作為一種解決問題的方法推廣開來。 重要性: 課題創立,突破,影響,綜述,最現代且最優秀(雖然它是第一個,但是有些結果仍然是最現代的) La Géométrie (幾何學)簡述: La Géométrie 出版於1637年,笛卡爾著。該書對於直角坐標系的發展有重大影響,特別是對通過實數來表示平面上的點進行了討論;此外還有關於通過方程來表示曲線的論述。 重要性: 課題開創者, 突破, 影響力 邏輯 概念文字(Begriffsschrift) 哥特洛布.弗雷格著簡介: 出版於1879年,標題Begriffsschrift通常譯為概念寫作或概念記號;概述的完整標題把它等同為"一個純粹思想的公式語言,建模於算術語言".弗雷格發展他的形式邏輯系統的動機和萊布尼茲想要找一個計算推論器(calculus ratiocinator)是相似的.弗雷格定義了一個邏輯計演算法來支持他在數學基礎方面的研究.Begriffsschrift既是書名又是裡面定義的計演算法的名字. 重要性: 可以稱的上邏輯方面自亞里士多德以來最重要的著作. 數學公式匯編(Formulario mathematico) 皮亞洛著簡介: 初版於1895年,Formulario mathematico是第一部完整的使用形式化語言書寫的數學書.它包含的數理邏輯的表述和很多數學其它分支的很多重要定理.很多該書引入的概念在今天成為日常使用的概念. 重要性:影響力 數學原理(Principia Mathematica) 羅素和懷特海著簡介: 數學原理是關於數學基礎的三部頭著作,作者羅素和懷特海得,出版於1910年-1913年。它是使用符號邏輯中的定義嚴謹的公理集和推理規則來導出所有數學真理的一個嘗試。是否可以從原理的公理集導出矛盾,以及是否存在不能在該系統中被證明或證否的數學命題的問題依然存在。這些問題以一種令人有些失望的方式於1931年為歌德爾不完備定理所解決。 數論 算術研究(Disquisitiones Arithmeticae,或譯整數論研考) 高斯著簡介: 算術研究是德國數學家卡爾·弗雷德里希·高斯所著的數論教科書,初版於1801年,高斯24歲。在該書中,高斯把諸如費馬,歐拉,拉格朗日和勒讓德等數學家的數論結果收到一起並加上了他自己的重要新成果。 關於小於給定值的質數 (On the Number of Primes Less Than a Given Magnitude) 黎曼著簡介: 關於小於給定值的質數 ( �0�5ber die Anzahl der Primzahlen unter einer gegebenen Gr�0�2sse)是一篇有開創性的論文,作者黎曼,發表於1859年11月版的柏林科學院每月匯報。雖然這是他唯一發表過的數論論文,它包含了影響了19世紀後期開始直到今天的幾十位研究者的思想。該論文主要由定義、啟發式論證、證明概略和強力的解析方法的應用;所有這些成了現代解析數論的基本概念和工具。 數論講義(Vorlesungen über Zahlentheorie) 狄利克雷和戴德金著簡介: 數論講義是德國數學家狄利克雷和戴德金所著的數論教科書,發表於1863年。講義可以看作是費馬、雅各比和高斯的經典數論和戴德金、黎曼和希爾伯特的現代數論之間的分水嶺。狄利克雷沒有顯式的識別出現代代數的中心概念群,但是很多他的證明表明他有對群論的隱含的理解。 早期手稿 蘭德數學紙草書(Rhind Mathematical Papyrus) 簡介: 這是最老的數學文本之一,屬於古埃及第二中間期。它是由抄寫員Ahmes (properly Ahmose)從更老的中王國紙草所做的復件。除了描述了如何得到π的近似方法,精度達到1%,它也描述了最早對化圓為方問題的嘗試之一,並在這個過程中顯示了有說服力的證據,表明埃及人刻意造金字塔來用其中的比例來神化π值的理論是不對的。雖然說紙草代表了即使是對解析幾何的原始嘗試也是過於誇張,但Ahmes的確是用了類似餘切的概念。 九章算術簡介: 中國數學書,可能成書於公元1世紀,也可能是公元前200年。它的內容包括:採用西方後來稱為試位法(false position rule)的原則來進行的線性問題求解。多未知數問題求解(涉及由南宋數學家秦九韶受周易啟發發明的「大衍求一術」和「孫子剩餘定理」),採用和高斯消去法類似的原則。涉及到西方稱為畢達哥拉斯定理(在中國又稱之為「勾股定理」)的原則的問題。 阿基米德重寫本簡介: 雖然作者僅有的數學工具是今天看來的中學幾何,他用罕見的智慧使用的這些方法,顯式的採用了無窮小來解決現在用積分學處理的問題。這些問題包括求實心半球的重心,求圓形拋物面台的重心,以及拋物線和它的一條割線所圍成的區域的面積。和某些20世紀微積分教科書中對歷史無知的說法相反,他沒有用任何象黎曼和這樣的東西,包括在這個重寫本中的工作和他的其他著作中。他所用的方法的顯式細節請參看阿基米德如何使用無窮小。 教科書 純數學教程(Course of Pure Mathematics) 作者:哈代簡介: 入門級數學分析經典教科書,作者哈代。初版於1908年,有很多版本。它旨在幫助革新英國的數學教育,特別是在劍橋大學的,以及准備培養劍橋的數學系學生的學校中的。所以,它直接瞄準"獎學金等級"的學生 — 能力上排上面的10%到20%的。該書含有大量難題。內容包括入門微積分和無窮級數理論。 重要性: 入門 問題求解藝術(Art of Problem Solving) Richard Rusczyk 和 Sandor Lehoczky 簡介: 問題求解藝術從Richard Rusczyk和Sandor Lehoczky合著的兩本書開始。這些書,總共約750頁,是給對數學有興趣的及/或要在數學競賽中比賽的學生准備的。 原邏輯:標准一階邏輯的元理論入門 Geoffrey Hunter 著簡介: 邏輯的形式化系統的數學理論的優秀介紹性書籍,涉及完備性證明,一致性證明,等等,甚至包括集合論。 算術 算術或者說藝術的基礎(Arithmetick: or, The Grounde of Arts) Robert Recorde著簡介: 著於1542年,它是第一本英語寫成的流行算數書。 校長的助手,實用和理論算術的綜述 Thomas Dilworth 著簡介: 早期流行英語教科書,18世紀出版於美國。該書在五節中從入門課題延伸到高等課題。 博弈論 論數字和博弈(On Numbers and Games) John Conway 簡介: 該書分為兩部, {0,1|}, 兩部分。第零部分關於數字,第一部分關於博弈 - 包括博弈的價值和一些真正可玩的博弈,例如Nim, Hackenbush, Col 和Snort和其他很多。 數學玩家的制勝之道(Winning Ways for your Mathematical Plays) Elwyn Berlekamp, John Conway 和 Richard K. Guy 簡介: 數學博弈的信息的綜述。它初版於1982年,分為兩部,一部主要集中於組合博弈和超實數,另一部主要關於一些特定的博弈。 代數幾何 代數幾何和解析幾何(Géométrie Algébrique et Géométrie Analytique) Jean-Pierre Serre 簡介: 數學上,代數幾何和解析幾何是緊密相關的主題,其中解析幾何是復流形的理論而更一般的解析空間用多復變數的解析函數的0點集來局部的定義。兩者的關系的(數學)理論在1950年代初出現,作為給代數幾何打基礎的工作的一部分,例如,霍奇理論(Hodge theory)的技術。(注意雖然解析幾何作為直角坐標的使用也在某種意義上屬於代數幾何的范圍,但這不是本文的主題。)鞏固這個理論的主要論文就是Serre的Géometrie Algébrique et Géométrie Analytique,現在常用GAGA表示。 GAGA風格的結果現在表示比較的定理,它使得代數幾何的對象及其態射的范疇和解析幾何的定義嚴謹的一個子范疇的對象及其全純映射建立了一個通道。 重要性: 課題創立, 突破, 影響力 代數幾何基礎(�0�7léments de géométrie algébrique) 格羅登迪克(Alexander Grothendieck) 在Jean Dieudonne的幫助下完成, 這是格羅登迪克對他對代數幾何的基礎的重建工作的解說。它成了現代代數幾何最重要的基礎性著作。EGA中解釋的工作,正像這些書著名的原因一樣,改變了這個領域並導致了里程碑式的進展。 重要性: 革新了領域的開創性工作 拓撲 拓撲學 James Munkres 簡介: 這本精彩的入門教科書是標準的大學點集拓撲和代數拓撲的教科書。Munkres能夠在以數學的嚴格性教授很多主題的同時直觀的給出概念的來源。 微分觀點看拓撲(Topology from the Differentiable Viewpoint) John Milnor 簡介: 這本小書用米爾諾清晰而干練的風格介紹了微分拓撲的主要概念。雖然本書涉及不是很廣,它用一種澄清所有細節的漂亮方式解釋了它的主題。 重要性: 影響力 代數拓撲 Allen Hatcher 出版信息: 劍橋大學出版社, 2002年. 在線版本: http://www.math.cornell.e/~hatcher/AT/ATpage.html 簡介: 這是旨在涵蓋所有基礎內容的同時保持第一次看到這個主題的初學者可讀的三本教科書的系列中的第一本。這第一本書包含了基本的核心題材以及一些相對較基本的可選題材。 重要性: 入門
⑤ (近世代數)證明:M是R的極大理想,當且僅當R/M是單環。
陣列形式的零點定理 設R是一個QF環. 下述三個問題是非常重要的. 借鑒Hilbert Nullstellensatz定理的含義, 把它們總稱為陣列形式的零點問題.
問題A(弱零點問題):若I是R[X]的理想, 且I與R[X]不相等, 則是否存一個非全零陣列b, 使得 b是AnnM(I)中的元素 ? 問題B(零點問題):下述恆等式是否成立 I=AnnR[X](AnnM(I)) (1)
Macaulay 在名著[9]中著力研究的逆系(Inverse Systems)問題與問題A, B是密切相關的. 在證明(2)式時, 他採用了dialytic arrays方法. 然而,我們認為Macaulay的方法只適合於理想 是零維時的情形. D. G. Northcott(1974)[11]給出了公式(1)的完全證明.
問題C(強零點問題): 設R是QF環, 給定R[X]的一個多項式理想I, 是否存在一個由有限個LRA陣列生成的R[X]-子模M, 使得I=AnnR[X](M)
. 當R=F是域時, 問題C是多維線性系統理論中的一個重要研究課題. 這個問題實質上是問能否用有限個行為(behavior)數據確定整個系統. C. Heij(1992)得到了一些進展. 這個問題直到最近才由 S. Zampieri(1997)[13] 對F[X]=F[x,y]時給出了的肯定的解答. 我們發現Macaulay[9]有個論斷: 對R[X]的任意理想I, Ann(I)一定是有限生成R[X]-模. 如果利用Macaulay的這個論斷, 再利用Macaulay的公式(3),則問題C似乎可以輕松地解決. 然而, 經過細致地分析, 我們發現Macaulay的這個論斷是不對的, 他的證明只有當$I$是零維理想時才通得過. 那麼, 要使Macaulay的論斷成立, 是否一定要加上$I$是零維理想這個條件嗎? 本文將解決這個問題。
定理A (弱零點定理): 設R是QF環, I是 R[X] 的任意一個理想. 則AnnM(I)非零 當且僅當 I與R[X]不等。
定理B (零點定理): 設R是QF環, I是R[X]的任意一個理想. 則 I=Ann(Ann(I)) 定理C(強零點定理): 設R是QF環, I是R[X]的任意一個理想. 則存在M的一個有限生成R[X]-子模M, 使得I=AnnR[X](M).
問題D: 設 M是任意一個由有限個R上的LRA生成的M的R[X]-子模, 是否存在R[X]的一個理想I, 使得M=AnnM(I)? 當R是一個域時, Macaulay([9],p71)用 dialytic方法證明了這個『定理』. 然而,我們認為,這個證明也只能在 是有限生成R-模時才能通過. 實際上,我們將證明: 定理D: 設R是一個QF環, M是M的有限生成R[X]-子模, 則M是R[X]的某理想的零化陣列模, 當且僅當M是有限生成R-模. 定理E: 設R 是一個有限域,M=<a,…b> 是M的有限生成R[X]-子模, 其中a,…, b是陣列. 則存在R[X]的理想I使得M=Ann(I) 當且僅當每個LRS陣列a,b最終周期的(即:不計初始的有限項外是周期的).三、零化陣列模的結構與Nechaev問題
問題E: 設I是 R[X]的一個理想, 給出I恰是某個LRA陣列的特徵理想的判別准則, 即給出充要條件.
當n=1且R是一個唯一因子分解整環(簡記為UFD)時, 問題就不簡單.當n=1且R是一個有零因子的環時,問題更難以處理。當R為Potential整環時, 即要求R和R[[x]]都是UFD時, Fitzpatrick 和 Norton(1995)[7]證明R[x]中的理想I恰是一個LRS的特徵理想的充分必要條件是I是由一個首一多項式生成的主理想。我們要在R是一般的UFD上給出R上LRS的特徵理想的刻畫。 問題F:設R是QF環, 給定R[X]的一個理想I. 問在什麼條件下,AnnM(I)是一個循環R[X]-模. 我們得到下面簡明的解析判別公式。 定理F:設F是一個域,F[X]的零維理想I是F上一個LRA陣列的特徵理想,當且僅當
dimF (I:rad(I))/I =dimR F[X]/rad(I).
上述判別公式中的數值是容易用Grobner基理論中常規的演算法計算, 所有這些計算須對I進行准素分解.
當R是Artin局部主理想環且$I$是准素理想時, Nechaev[10]給出了Ann(I)恰是一個R上的一個LRS生成的循環模的判別准則, 該判別需用到對I的准素分解。他在該文中提出了如下三個未解決的問題. Nechaev公開問題1: 設R是局部Artin主理想環, I 是R[x]的理想, 給出一個判別零化序列模Ann(I)是循環R[x]-模的准則, 且要求該判別只與理想I(或I的生成元)有關, 而不依賴於I的准素分解的. Nechaev公開問題2: 當R是任意QF環時, 對R[x]的任意一個理想I,建立規范生成系(簡記CGS)(Canonical Generator System)的概念, 以便能夠方便地判別理想I的代表元的歸屬問題, 即:對任意f(x) in R[x], 能否有演算法方便地判別f(x) in I與否. Nechaev公開問題3:} 在Nechaev問題2相同的條件下, 給出構造性的方法求出R[x]-模Ann(I)的生成元系並進一步給出循環性的判別. 我們利用定理F的結果和方法,解決了Nechaev公開問題1。上述三個Nechaev問題中,真正有實在意義和難度的是Nechaev問題1。因為, 我們證明了 定理G: Nechaev的CGS恰是極小Grobner 基.
因此, 只要QF環R擁有如下兩個附加條件:
a. R中的元素能夠用計算機可接受的形式表示出,
b. 能用計算機實現「+", 「x"運算和求解系數在R上線性方程.
則我們可以藉助環上的Grobner基理論, 解決Nechaev問題2, 並用解決Nechaev問題1的同樣方法解決Nechaev問題3.
四、理想的零化陣列模的基構造
當R是有限域, R[X]=R[x,y]是兩個變元的多項式環時, 文獻[8]通過刻劃I的約化Grobner基的標准型, 給出了類似於(2)式中一維LRS的基的具有漂亮組合性質的二維LRA基.
我們採用與[8]中不同的方法, 對任意n和任意零維理想I, 求出Ann(I)的生成元組. 我們的工作是基於Grobner基理論和一些基本的同調代數知識. 實際上, 我們利用如下的對偶定理。
定理H: 設I是R[X]的任意理想, 則Ann(I)與Hom(R[X]/I,R) 是R[X]-模同構
五、Galois環上的陣列
八十年代以來, Nechaev[10], Kurakin, Kuzmin等對環上的LRS和LRA作了大量的研究. 有關的綜述報告參見Mikhalev & Nechaev(1996) [15]. 進入九十年代, 由於Calderbank等[6]關於Galois環上的代數編碼理論的突破性進展, 由於剩餘類環Z/(m)環上的編碼成功地應用於編碼與調制相結合體制, 因而Galois環上的編碼問題,在國際資訊理論學術界引起了極大的興趣和研究熱潮.
A. A. Nechaev 的論文[10]是研究交換環上LRS的一篇重要文獻. 該文主要做了兩項工作. 1). 在R上線性遞歸序列的有限生成子模格與單變元多項式環R[x]中的首一理想格之間建立了Galois對應. 2). 在更特殊的Artin主理想環上, 對R[x]中的理想I, 給出I的零化線性遞歸序列R-模Ann_R(I)是循環R[x]-模的判別准則. 應該注意的是, [10]中給出的循環模的判別准則是基於構造Ann(I)的R-模生成元組, 然後根據這些生成元之間的復雜關系, 給出Ann(I)是循環R[x]-模的判別准則, 而且他的判別准則涉及到對理想的准素分解. 求對多項式理想的准素分解的演算法一直是一個困難的問題, 盡管可以用Grobner 理論給予解決, 但是這些演算法依然是很復雜的.
六、 LRA的綜合問題
如何有效地求解綜合問題一直是資訊理論, 系統論, 控制論和密碼學等許多學科中活躍的重要研究課題. 域上有限序列最小特徵多項式的綜合問題是由Berlekamp(1968)[17]和Massey(1969)解決的. 他們給出的著名的B-M演算法已成為工業標准. B-M演算法的計算復雜性是O(m2), 其中 是序列的長度. 而用常規的解線性方程組的方法的復雜性是O(m3). BM演算法解決KeyEquation的求解。
在R=Z/(m)剩餘類環, 且n=1時, Reed 和 Sloane(1985)[12]給出了BM演算法的推廣. KeyEquation缺乏代數的結構性. 作者(1993)[3]提出用齊次關鍵方程HKeyEquation代替KeyEquation的新方法, 這樣不但有極好的代數結構性質, 具有更廣的適用性. 我們已證明, 求KeyEquation的解與求HKeyEquation的解是等價的[3]. HKeyEquation容易推廣到對LRA的綜合, 且可以用於代數幾何碼的解碼. 基於我們齊次化方法的同樣思路, 周錦君等(1996)[14]將HKeyEquation推廣用於求解剩餘類環上的陣列的綜合. 最近, J. Althaler & A. Dur (1996)[5]也開始使用齊次化方法研究序列的綜合,但他們用逆冪級數表示序列,而相應的特徵多項式是常規的多項式, 因此序列和特徵多項式不在同一個環中,無法直接利用Grobner基理論和Syzygy的計算。 實際上,他們給出的綜合演算法必須要藉助已有疊代演算法. 通過齊次化方法, 我們(1993[3])已證明LRA的綜合演算法與Grobner基有很好的聯系. 本文將進一步揭示綜合演算法的每一步與Grobner基有精密聯系.
七、 主要結果
我們簡要列舉本文得到的主要新結果.
設R是局部Artin主理想環(或更廣的Quasi-Frobeniou環), 是R的極大理想, F=R/m是域, R[X]多元多項式環, I,J 是R[X]的任意理想. M,N是R上的某些陣列構成的R[X]-模. 則:
1. (弱零點定理):Ann(I)=0當且僅當I=R[X].
2. (零點定理): Ann(Ann(I))=I.
3. (強零點定理):存在有限個陣列生成的R[X]-模M, 使得 I=Ann(M).
4. Ann(I)是有限個陣列生成的R[X]-模, 當且僅當, I是零維理想, 當且僅當
Ann(I)是有限個陣列生成的R-模.
5. 有限個陣列生成的R[X]-模M是R[X]的某理想的零化陣列模當且僅當M 是有限生成R-
模.當R是域, I 是R[X]的零維理想. 則存在陣列a使得I=Ann(a) 當且僅當
dimF (I:rad(I))/I =dimR F[X]/rad(I).
6. 解決Nechaev 的3個Open問題
7. Ann(Ann(M))=M 當且僅當M是有限生成R-模. 這樣既推廣了Macaulay的逆系定理, 又指出Macaulay的原逆系定理的不確切之處, 並給出了逆系定理成立的充要條件.
8. 當R是主理想局部環時, 給出R[x]的理想I的Grobner基的標准型, 和計算I的Grobner基的快速演算法, 並給出對I准素分解的基於Grobner基理論的演算法.
9. 給出陣列的代數表示和計算Ann(I) 的 R-模基的新方法.
10. 揭示序列綜合的Belerkamp-Massey 與Grobner 基之間的緊密聯系
11. 當R是UFD, I是R[x]的理想. 則I是某個LRS序列的特徵理想當且僅當I是由首一多項式生成的主理想. 從而推廣了Fitzpatrick 的結果.
⑥ 多項式A=x^3+x^2+2x+2在模3運算下有幾個不可約因子利用Berlekamp演算法在模3運算下求其不可約分解
⑦ 想做編程的程序員需要什麼本領
少量二值演算法確實有非常優雅的迭代實現方法,也往往可以有非常優雅的電路運算圖來進行表示。
典型如極化碼, 原作者初始版的蝶形圖非常讓我著迷,無論是編碼還是解碼。。後來主要的介紹類文章都喜歡換一種電路序來介紹,但是我自己畫草圖的時候,始終不自覺的畫作者的那個原版。
還有一個就是用於turbo碼和ldpc碼的置信擴散解碼演算法,,真的就是個運算放大器啊。。後來我也用那個對應的和積演算法思路來算一些組合題目。 個人其實也對Berlekamp-Massey algorithm 之類的思路挺感興趣的。
但要說更多的喜歡,那真的確實沒有了。 軟的和硬的 其實還是有點距離的。正是因為了解,才知道自己能力有限,而且動手能力不強,畫點抽象的運算電路還行,真要做點啥,需要考慮的方方面面真的是太復雜了,非我所能。
不過我也知道了硬體運算電路一般喜歡啥:可以用移位寄存器的電路(設計方便容易,而且提升頻率的限制少),大部分情況能迭代收斂的閉合(或者叫反饋)運算電路(運算快),蝶形的電路(可以用多個小電路來組合成大電路,方便擴展)。。。這就是當時想要發文章時候的腦迴路:任何一點修改&優化,都想想,是否更方便了硬體實現啊,是否更方便了硬體時序的並行啊。
⑧ 約翰·何頓·康威的貢獻
組合博弈論的開創者之一
創立新的數字系統超實數
數學游戲:
發明生命游戲
和Michael Stewart Paterson發明豆芽游戲
和Elwyn Berlekamp、理查德·蓋伊發明哲學家的足球
分析、研究其他游戲,如索瑪立方塊。
發明康威鏈式箭號表示法,用來表示大數。
為了計算某天是星期幾,發明Doomsday演算法。
研究有限簡單群的分類,提出康威群。
證明15-定理
紐結理論:
Tangle
提出了一種表示不同紐結的方法——基於亞歷山大多項式的康威多項式。
4m+2幻方的構作方法
⑨ maple 在初中數學的應用
Maple
簡介
計算機代數系統的基本功能及特徵以及網路資源. 然後介紹Maple V 的基本功能, 窗口環境以
及組織結構.
1.1 計算機代數系統的發展歷史
什麼是計算機代數系統? 從歷史的角度來看\COMPUTE」 的涵義是\數值的計算". 數值
計算的涵義不僅僅是數的算術計算, 還包括其它復雜的計算, 例如: 數學函數的計算、求多項式
的根、矩陣的計算、矩陣特徵值的計算等等. 數值計算的一個本質的特徵是它不能保證絕對的
准確, 原因在於, 在數值計算的過程中我們是用浮點數進行計算的, 對於簡單的問題, 我們可以
用紙和筆手工計算, 對於復雜的問題, 就需要用計算器或計算機進行計算. 然而, 對計算機來說,
要想絕對精確的表達一個浮點數幾乎是不可能的, 在計算的過程中必然會產生誤差.
數學的計算除了數值計算以外還有另一個重要的分枝, 我們稱之為符號計算或代數計算. 簡
單的講, 就是對代表數學對象的符號進行計算. 這些符號可以代表整數、有理數、實數、復數或
代數數, 也可以代表其它的數學對象如多項式、有理函數、矩陣、方程組, 或者其它抽象的數學
對象如群、環、域等等. 對於這些抽象的數學符號, 我們通常是手工計算的, 這也是數學家傳統
的工作方式. 然而隨著計算機技術的發展, 以及對符號演算法的深入研究, 用計算機代替人工進行
符號計算已經成為可能.
從二十世紀六十年代以來, 符號計算這個研究領域獲得了極大的發展. 一系列符號計算算
法的提出為現代計算機代數系統奠定了理論基礎. 比較著名的演算法包括: 計算多項式理想的
Grobner 基演算法、多項式分解的Berlekamp 演算法、計算有理函數積分的Risch 演算法.
在二十世紀六十年代, 比較流行的計算機程序語言是FORTRAN 和ALGOL. 這兩種語言
主要是用來作數值計算的, 至今FORTRAN 依然是數值計算領域的標准語言之一. 然而FORTRAN 語言和ALGOL 語言並不適合於編寫符號計算軟體. 六十年代初出現的LISP 語言為符
號計算軟體提供了合適的語言環境, 因此早期的符號計算軟體都是用LISP 語言編寫的. 其中最
著名的符號計算系統是REDUCE, REDUCE 系統是由Stanford 大學的Tony Hearn 開發的基
於LISP 語言的互動式符號計算系統, 最初的目的是用來進行物理計算. 到了二十世紀七十年代
初, 由麻省理工學院的Joel Moses, Willian Martin 等人開發的MACSYMA 系統誕生了, 它是那
個時代功能最強大的符號計算系統. 它的功能除了標準的代數計算以外, 還包括極限的計算、符
號積分、解方程等. 事實上, 許多符號計算的標准演算法都是由麻省理工學院的研究小組提出的.
由G. Collins 和R. Loos 開發的SAC/ALDES 系統是另外一種類型的符號計算系統, 它的
前身是G. Collins 在IBM 編寫的PM 系統(它是一個處理多項式的符號計算系統). SAC 是一
個非交互的系統, 它是由ALDES(ALgebraic DEScription) 語言編寫的模塊組成的, 並且帶有一
個轉換程序, 可以把結果轉換成FORTRAN 語言. 到了1990 年, H. Hong 用C 語言重寫了SAC
系統, 形成了新的SACLIB 系統. 這個系統提供了完整的C 語言源代碼, 可以自由的從國際互
聯網上下載.
在二十世紀七十年代的第四個通用的符號計算系統是muMATH. 它是由Hawaii 大學的
David Stoutemyer 和Albert Rich 開發的第一個可以在IBM 的PC 機上運行的計算機代數系統.
1
2 第一章Maple 系統簡介
它所使用的開發語言是LISP 語言的一個子集稱為muSIMP.
進入二十世紀八十年代, 隨著個人PC 機的普及, 計算機代數系統也獲得了飛速的發展. 在
這個時代推出的計算機代數系統大部分是用C 語言編寫的, 比較著名的系統包括Maple, Mathematica, DERIVE 等. 有關Maple 的特點我們將在後面介紹, 這里, 我們簡單介紹一下DERIVE
和Mathematica.
DERIVE 是muMATH 的後繼版本, 它是第一個在PC 機上運行的符號計算系統.DERIVE
具有友好的菜單驅動界面和圖形介面, 可以很方便的顯示二維和三維圖形. 它唯一的缺陷是沒
有編程功能, 直到1994 年DERIVE 的第三版問世時, 才提供了有限的編程功能. 現在DERIVE
的大部分功能都被移植到由HP 公司和Texas 公司生產的圖形計算器上.
Mathematica 是由Stephen Wolfram 開發的符號計算軟體,Mathematica 系統的計算能力非
常強, 它的函數很多, 而且用戶自己可以編程. 它的最大優點是, 在帶有圖形用戶介面的計算機
上Mathematica 支持一個專用的Notebook 介面. 通過Notebook 介面, 我們可以向Mathematica
核心輸入命令, 可以顯示Mathematica 的輸出結果, 顯示圖形、動畫、播放聲音. 通過Notebook,
我們可以書寫報告、論文, 甚至整本書. 事實上, 有關Mathematica 的論文, 軟體, 雜志大部分都
是用Notebook 寫的, 並且在Internet 網路上廣泛傳播.Mathematica 的另一個重要特點是它具
有Mathlink 協議, 通過Mathlink, 我們可以把Mathematica 的核心與其它高級語言連接, 我們
可以用其它語言調用Mathematica, 也可以在Mathematica 中調用其它語言編寫的程序. 到現
在為止, 能夠與Mathlink 連接的語言包括C 語言,Excel,Word 等. 事實上Notebook 就是通過
Mathlink 與Mathematica 核心相連接的.
上面我們介紹的軟體都是通用的符號計算系統, 其它通用的符號計算系統還有IBM 公司
的Thomas J. Watson 研究中心開發的AXIOM, 它的前身稱為SCRATCHPAD.
除了上述通用的符號計算系統以外, 還有一些在某個領域專用的符號計算系統. 例如: 用於
高能物理計算的SCHOONSCHIP, 用於廣義相對論計算的SHEEP 和STENSOR. 在數學領域
中用於群論的Cayley 和GAP, 用於數論的PARI, SIMATH 和KANT. 在代數幾何和交換代數
領域中常用的系統是CoCoA 和Macaulay. 還有專門計算Lie 群的Lie 等等.
1.2 計算機代數系統的網路資源
進入二十世紀九十年代以來, 隨著國際互聯網的迅速發展, 符號計算系統的發展變的更加
迅速和開放. 從國際互聯網上可以獲取各種符號計算系統, 以及其他數學軟體的相關信息. 有些
新的符號計算系統甚至提供源代碼. 有些數學軟體還有新聞組或討論組, 通過討論組, 用戶可以
彼此交流信息、解答問題. 廠家也可以及時發現軟體的問題, 進行修改. 下面我們介紹一些常用
數學軟體的網路資源, 以及主要研究機構的地址.
Mathematica 的網路資源:
http://www.wolfram.com
http://www.mathsource.com
http://www.matheverywhere.com
http://smc.vnet.net/MathTensor.html
ftp://ftp.mathsource.com
news://comp.soft-sys.math.mathematica
1.3 Maple 的基本功能3
maillist:[email protected]
Maple 的網路資源:
http://www.maplesoft.com
http://daisy.uwaterloo.ca
ftp://ftp.maplesoft.com
maillist:[email protected]
Matlab 的網路資源:
http://www.mathworks.com
ftp://ftp.mathworks.com
news://comp.soft-sys.matlab
REDUCE 的網路資源:
http://www.rrz.uni-koeln.de/REDUCE
http://www.zib.de/Symbolik/rece
ftp://ftp.rand.org/software_and_data/rece
符號計算研究機構及信息中心
http://symbolicnet.mcs.kent.e
http://www.cain.nl/
http://www.risc.uni-linz.ac.at
news://sci.math.symbolic
其它符號計算軟體的網路地址:
Derive http://www.derive.com
Macaulay2 http://www.math.uiuc.e/Macaulay2/
Macsyma http://www.macsyma.com
Magma http://www.maths.usyd.e.au:8000/u/magma/
Mathcad http://www.mathsoft.com
MuPad http://www.mupad.de
Scilab http://www-rocq.inria.fr/scilab/
1.3 Maple 的基本功能
計算機代數系統與其它計算機語言的本質區別是: 計算機代數系統具有符號計算的能力,
為用戶提供互動式的計算環境, 可以進行常規的數學計算, 可以根據給定的數學函數畫出函數
的二維或三維圖形. 下面我們簡要描述Maple 的基本功能.
數值計算
對於普通的數,Maple 總是進行精確的計算, 這種規則對於有理數和無理數是相同的. 因此
對於無理數Maple 按照有關的數學規則進行計算, 只有當用戶需要計算浮點數近似值時,Maple
才按照用戶要求的精度計算.
> 1/5+1/4;
9
20
4 第一章Maple 系統簡介
> 5!/21;
40
7
> evalf(%);
5:714285714
> evalf(Pi,40);
3:
> 2.496745643/2;
1:248372822
> abs(3+5*I);
p34
> (3+4*I)/(1+I);
71
+ I
22
從上面的例子可以看到, 對於復數Maple 按照復數的規則進行計算.
多項式
符號計算系統的最基本功能是處理符號表達式, 多項式則是最基本的符號表達式. 從下面
的例子中可以看到Maple 可以用各種方式處理多項式、三角表達式、指數與對數等許多數學表
達式.
> factor(x^4+2*x^3-12*x^2+40*x-64);
(x . 2) (x 3 +4 x 2 . 4 x + 32)
> expand((x+1)^5);
x 5 +5 x 4 + 10 x 3 + 10 x 2 +5 x +1
> simplify(exp(x*log(y)));
x
y
> simplify(sin(x)^2+cos(x)^2);
1
> expand((x^2-a)^3*(x+b-1));
x 7 + x 6 b . x 6 . 3 x 5 a . 3 x 4 ab +3 x 4 a +3 x 3 a 2 +3 x 2 a 2 b . 3 x 2 a 2 . a 3 x . a 3 b + a 3
> expand(cos(4*x)+4*cos(2*x)+3,trig);
8 cos(x)4
1.3 Maple 的基本功能5
> combine(4*cos(x)^3,trig);
cos(3 x) + 3 cos(x)
解方程
用Maple 來解簡單的方程是毫無問題的, 即使是很復雜的方程,Maple 也可以用數值計算的
方法來處理.
> solve(x^2-3*x=2,x);
31 31
2+
2
p17, 2 . 2
p17
> glsys:=f2*x+3*y+z=1,x-y-z=4,3*x+7*z=3g:
> solve(glsys);
..24 97 ..43
fz =
41 ;x =
41;y =
41 }
> fsolve(fx^2+y^2=10,x^y=2g,fx,yg);
fx =3:102449071;y = :6122170880}
矩陣計算
Maple 還有許多命令可以處理矩陣和向量, 不過需要調用線性代數軟體包linalg. 還有一
點特別的是, 作矩陣的乘法需要一個特殊的運算元&*.
> with(linalg):
Warning, new definition for norm
Warning, new definition for trace
> a:=matrix([[2,3],[1,4]]);
> inverse(a),det(a);
a :=
. ..
23
14
. ..
2..
4 ..3
55
..12
55
3..
, 5
> b:=matrix([[w,x],[y,z]]);
b :=
. ..
wx
. .5
yz
第一章Maple 系統簡介
> evalm(a+b);
. ..
2+ w 3+ x
1+ y 4+ z
. ..
> evalm(a &* b);
. ..
2 w +3 y 2 x +3 z
w +4 yx +4 z
. ..
極限, 求和與乘積
對於普通的求極限問題, 可以直接用Maple 來計算, 它還可以符號的計算級數的和與積. 當
符號計算不成功時, 還可以作數值計算.
> limit((sqrt(1+x)-1)/x,x=0);
1
2
> limit(x!/x^x,x=infinity);
0
> sum(1/2^n, n=1..infinity);
1
> evalf(proct(1+1/x^2, x=1..infinity));
3:676077910
微分與積分
用Maple 來求微分是相當容易的, 使用diff 命令即可以求出數學表達式的微分, 不過求出
的結果可能是相當復雜, 因此通常還要用simplify 命令進行化簡. 求數學表達式的定積分和不
定積分就相對復雜一些, 需要某些特定的演算法. 對於復雜的函數, 求出的結果可能是某些特殊函
數. 對於定積分, 還可以用evalf 求出積分的數值.
> simplify(diff((x-1)/(x^2+1),x));
x2 . 1 . 2 x
. (x2 + 1)2
> diff(sin(x*y),x);
cos(xy) y
> int(1/(1+x+x^2),x);
21
p3 arctan( (2 x + 1) p3)
33
1.3 Maple 的基本功能7
> int(sin(x^2),x=a..b);
1
FresnelS( b p2) p2 pπ .
1
FresnelS(a p2) p2 p
2 pπ 2 pπ
> int(sin(x)/x,x=0..5);
Si(5)
> evalf(%);
1:549931245
微分方程
對於不太復雜的常微分方程,Maple 可以求出它的符號解. 如果你沒有給初始條件, 或者給
的初始條件或邊界條件不全, 在解的公式中會帶有積分常量.
> deq:=diff(y(x),x)*y(x)*(1+x^2)=x;
deq := ( . y(x)) y(x)(1 + x 2)= x
@x
> dsolve(fdeq,y(0)=0g,fy(x)g);
y(x)= pln(1 + x2), y(x)= ..pln(1 + x2)
> dsolve((y(x)^2-x)*D(y)(x)+x^2-y(x)=0,fy(x)} );
11
x 3 . y(x) x + y(x)3 = C1
33
級數展開
當數學問題比較復雜時, 求出准確解通常是不可能的, 用series 作級數展開是有幫助的.
> series(sin(x),x=0, 10);
11 5 11 10)
x . 6 x 3 +
120 x . 5040 x 7 +
362880 x 9 + O(x
例如在下列微分方程中, 就是用級數方式求出的微分方程級數解.
> Order:=10:
> deq:=diff(y(x),x$2)+diff(y(x),x)+y(x)=x+sin(x );
@2 @
deq :=( y(x))+( y(x)) + y(x)= x + sin(x)
@x2 @x
> sln1:=dsolve(fdeq, y(0)=0, D(y)(0)=0g,fy(x)g,series);
1 3 1 4 1 5 +
1 6 1 7 1 8 +
1 10)
sln1 := y(x)=
3 x . 12 x . 120 x 240 x . 5040 x . 20160 x 181440 x 9 + O(x
第一章Maple 系統簡介
Laplace 和Fourier 變換
Laplace 變換和Fourier 變換是常用的數學變換. 在Maple 中有一個積分變換的程序包
inttrans 提供了各種積分變換和它們的逆變換.
> with(inttrans):
> laplace(cos(t-a),t,s);
s cos(a) + sin(a)
s2 +1
> invlaplace(%,s,t);
cos(a) cos(t) + sin(a) sin(t)
> combine(%,trig);
cos(t . a)
> alias(sigma=Heaviside):
> f:=sigma(t+1)-sigma(t-1):
> g:=simplify(fourier(f,t,w));
g := 2 I (π Dirac(w) w . I) sin(w)
w
插值與函數擬合
interp命令可以由n 個點出發計算n . 1 階的插值多項式. 在下例中,x 的取值是1 到10,
y 的值是1 到10 之間的10 個隨機數.f 是相應的插值多項式.
> datax:=[seq(i,i=1..10)]:
> datay:=[seq(rand(10)(),i=1..10)]:
> dataxy:=zip((x,y)->[x,y], datax, datay);
dataxy := [[1, 1], [2, 0], [3, 7], [4, 3], [5, 6], [6, 8], [7, 5], [8, 8], [9, 1], [10, 9]]
> f:=interp(datax, datay, x);
17 9 517 11699 7 3719 27323 176741 4 652577 3f :=
51840 x . 40320 x 8 +
60480 x . 2880 x 6 +
17280 x 5 +
5760 x . 3240 x
1816483 2 1669153
+ xx + 293
3360 . 2520
使用數值逼近程序包numapprox 中的pade 命令可以計算一個給定函數的有理逼近函數,
以及其它類型的逼近函數.
> with(numapprox):
> x0:=solve(x^2=Pi/2)[1];
x0 :=
1 p2 p
2
1.3 Maple 的基本功能9
> f:=pade(tan(x^2), x=x0, [3,3]);
8 10
f := (..17280 19=2 p2 + 10800 %1 7 + 43200 %13 . 7680 %13
12
. 3072 %12 25=2 p2 . 32400 15=2 p2 + 3840 23=2 p2 + 28800 %1 9 + 3072 %13
+ 23040 %12 21=2 p2 + 14400 %12 17=2 p2 . 11520 %1 11) .(
(..11520 11 + 1024 13 . 14400 9 . 10800 7) %13
+ (7680 23=2 p2 . 11520 19=2 p2 + 21600 15=2 p2) %12
+(..7680 12 + 34560 10 + 64800 8) %1)
%1 := x .
1 p2 pπ
2
> evalf(normal(f));
6:(..:4532958122 109 x 2 . :1125313130 109 + :1054184360 109 x 3 + :5353835473 109 x)
((2:x . 2:506628274)
(..:1097168700 109 x 2 + :8958248690 109 x . :1356288866 1010))
圖形
最常用的畫圖命令是plot和plot3d.下面的例子說明了使用在兩個命令的方法.
>plot(sin(x)*exp(1)^(-x/7),x=0..4*Pi);
-0.4-0.200.20.40.60.824681012x>plot3d(sin(x)*exp(1)^y,x=0..2*Pi,y=0..Pi,axes=boxed);
20-1001020
Maple 編程
Maple 不僅可以對數學表達式進行計算, 還可以編程. 他的編程語言和其它的結構化編程
語言很相似.
10 第一章Maple 系統簡介
> f:=proc(x::nonnegint)
> option remember;
> if x=0 then 0
> elif x=1 then 1
> else f(x-1)+f(x-2) end if
> end proc:
> f(40);
102334155
1.4 Maple 系統的交互使用
Maple 的窗口環境提供了先進的工作區界面, 其擴充的數學功能簡明易用, 用戶可以在其
中展現數學思想, 創建復雜的技術報告, 充分發揮Maple 的功能.
圖1.1: Maple 的窗口環境
A Maple 的工具條
B 內容工具條, 它還包含一個輸入和編輯文本的區域
C 節的頭部及標題
D Maple 的輸入, 提示符為\>", 顯示為紅色
1.4 Maple 系統的交互使用11
E Maple 的輸出, 既執行Maple 命令的結果, 通常顯示為藍色
F 一組Maple 命令及其輸出
G Maple 的工作區
H 工作區元素組成的節
I 節的范圍: 用一個大的方括弧\[」 表示
J 省缺的Maple 輸入提示符
K 符號模板, 包含了許多常用的數學符號
L 表達式模板
M 矩陣模板
N 向量模板
Maple 工作區界面
Maple 的圖形界面具有現代應用軟體界面的常見功能, 它支持滑鼠操作, 包括剪切和粘貼等
功能, 如果你已經習慣了這些用法, 那就具備了使用Maple 工作區界面的基本知識. 現在你可
以執行一些標準的操作, 例如: 打開文件、保存和列印文件等.
對於Windows 平台, 只要雙擊Maple 圖標即可啟動Maple. 在Unix 系統下, 可在提示符
之後鍵入xmaple 命令來啟動.Maple 啟動後將開啟一個新的工作區.
在窗口上端是菜單條, 包括File 和Edit 等菜單項, 菜單條之下是工具條, 其中有若干用於
經常性操作的快捷按鈕, 如文件打開, 保存和列印等. 工具條之下是內容指示條, 其中有一些控
件規定當前執行的任務. 再向下是較大的工作區區域, 也就是你的工作區. 窗口的最下端是狀態
條, 其中顯示系統信息.
作為Maple 用戶界面的一個組成部分, 工作區是用戶交互的求解問題和把工作寫成文檔的
集成環境. 所謂交互的求解問題, 簡單的說就是輸入適當的Maple 命令, 得到結果. 在工作區中
可以修改命令, 重新執行並獲得新的結果. 除了Maple 命令及其結果以外, 還可以在文檔中加入
許多其他類型信息. 主要包括:
可以加入文本, 用戶能夠逐個字元地控制文本段落.
.
在文本段中, 可以加入數學表達式和Maple 命令.
.
可以加入超連接, 當用滑鼠單擊某特定文本區域時, 能跳轉到工作區的其他位置, 或其它文
.
本中.
可以規定文檔的結構, 包括超連接, 節與小節的劃分.
.
在Windows 平台上, 用戶可以嵌入其他對象, 可藉助OLE 2( 對象連接與嵌入標准) 嵌入圖
.
形和表格.
添加標題
在Maple 的工作區中不僅可以作數學計算, 還可以編寫文檔. 首先我們可以給文檔加標題.
具體步驟是: 將游標移到第一行, 在Insert 菜單的Execution Group 中選擇Region Before
項, 此時在頂部出現一個新區域. 這個區域包含一個Maple 輸入的提示符, 這意味著此時是輸入
Maple 命令的狀態. 點擊工具條上的
T 按鈕或從Insert 菜單中選擇Text Input 項, 就把這個
區域變成了文本輸入狀態, 現在就可以輸入文本. 此時在工具條下面又出現了一個新的文本選
擇工具條, 從中你可以選擇文本的字體格式等. 如果你輸入的是文章的標題, 就可以在文本格式
12 第一章Maple 系統簡介
的下拉菜單中選擇標題格式. 輸入標題後回車, 系統會自動要求你輸入作者的名字, 輸入完作者
名以後就可以輸入正文了.
添加小標題
對文檔的進一步加工是把文檔分解為節. 具體作法是首先用滑鼠選定相關的區域, 然後點
擊工具條中的. 鍵, 此時就在選定的區域前面出現了一個小方塊, 下拉一個大括弧, 括住了選
定的區域. 並且在這個區域的第一條命令之前插入一個文本區域, 此時你可以輸入節的標題, 回
車後還可以輸入其他說明文本. 如果需要開始新的一節, 可以在Insert 菜單中選擇section.
就可以在這一節之後創建新的一節.
行內數學表達式
在一個文檔中有時需要插入數學表達式, 例如下面一段文字:
Look at the integral . x2 sin(x . a)dx. Notice that its integrand, x2 sin(x . a), depends
on the parameter a.
在其中插入數學公式的方法是: 首先將游標移到相應的位置, 從Insert 菜單中選擇Math Input
項, 然後輸入對應於. x2 sin(x . a)dx 的Maple 代碼, 即Int(x^2*sin(x), x), 注意觀察內容指
示條中的編碼區域, 其中顯示輸入的代碼, 而工作區中則顯示使用標准數學符號的積分表達式.
在數學表達式輸入完成後, 再將輸入狀態變成文本輸入狀態, 就可以繼續輸入其他文本. 這樣就
完成了我們的文檔, 它既可以保存也可以列印.
添加超連接
在Maple 系統中, 用戶可以同時打開多個工作區, 在不同的工作區之間可以通過建立超連
接的方式建立聯系. 建立超連接的方法是: 在一個工作區中用滑鼠選定一個位置, 在Insert 菜
單中選擇Hyperlink 項. 此時彈出一個對話框, 它要求用戶輸入聯接的文字和另一個工作區的
文件名. 填寫完成後單擊OK 鍵就完成了超連接.
建立書簽
在工作區中可以插入書簽, 以便迅速的查找內容. 單擊指向書簽的超連接,Maple 將立即轉
至書簽位置. 建立書簽的方法是: 首先將游標移動到要插入書簽的位置, 從View 菜單中選擇
Edit Bookmark 項. 在彈出的對話框中鍵入一段文字, 例如\expr command」 作為書簽文本, 單
擊OK 按鈕插入書簽. 當你移動游標到工作區的任何位置時, 從View 菜單中選擇Bookmark, 再
從彈出的菜單中選擇expr command 項, 就可以跳到你插入書簽的位置.
此外超連接的方式也可以使用書簽. 具體作法是: 首先按照前面的方法建立書簽, 將游標
移動到建立超連接的位置, 在Insert 菜單中選擇Hyperlink 項. 在彈出的對話框中輸入聯接的
文字, 然後在Book Mark 區域添入你已經建立的書簽的標記, 例如\expr command", 單擊OK 鍵
就完成了超連接.
幫助系統
前面我們介紹了Maple 的計算和排版方面的能力, 然而這只能是簡介, 在本書中, 我們不可
能詳盡的描述Maple 的所有命令, 因為Maple 包含了數以千計的命令. 為了了解這些命令的使
用方法, 可以使用Maple 軟體帶有的一個自足的參考手冊, 即Maple 的幫助系統. 藉助幫助系
1.5 Maple 的組織結構13
統, 可以按名字或主題查詢Maple 命令及其特點. 此外用戶還可以自行選擇關鍵詞或術語, 來
迅速打開含有這些文字的幫助頁面. 在每個幫助頁面中還提供了超連接, 使用戶可以閱讀相關
的頁面.
在幫助系統中,Maple 提供了三種方法定位信息: 按目錄、按主題和按全文查找. 從Help 菜
單中選擇Contents, 幫助窗口將變為幫助系統的一個簡單目錄, 用戶可以通過超連接的方式瀏
覽幫助系統. 這就是按目錄的查找方法. 通過這種方法我們可以大致了解Maple V 的基本功
能, 但是要從中找到某個特定的主題還是很困難的. 按主題查找的方法是: 從Help 菜單中選擇
Topic Search, 此時幫助窗口將彈出一個對話框, 在其中添入需要查找的主題, 點擊OK 鍵, 就可
以閱讀相應的幫助文檔. 如果已經知道希望閱讀的主題詞, 也可以直接從工作區訪問該頁面, 辦
法是在Maple 提示符後鍵入?topic, 回車後就可閱讀相應的頁面.
在大多數Maple 版本中(唯一的例外是Maple V Realese 4 版本), 進入幫助系統後,Maple
會打開幫助瀏覽器, 通過幫助瀏覽器可以方便地找到你需要的幫助.
有的時候, 在解決某個數學問題時不知道應該使用Maple 的什麼命令, 但是由數學問題本
身出發, 有理由推測, 在這些命令的幫助頁面應當包含某些特定單詞, 此時就要用到全文查找的
方法. 例如我要解一個微分方程, 但是不知道應該用什麼命令, 我們可以推測, 在這個命令的幫
助中應該包含solve, di erential 和equation 等單詞, 此時可以在Help 菜單中選擇Full Text
Search, 在彈出的對話框中, 輸入要查找的關鍵詞, 例如solve di erential equation 等, 然後單擊
Search 按鈕, 通知Maple 開始檢索.Maple 將列出匹配的主題, 並附帶數值, 表明匹配的程度, 用
戶可從列表中選擇最感興趣的主題.
此外從Help 菜單中選定Balloon Help 項以後, 當滑鼠停留在某個按鈕或菜單上時,Maple
就顯示簡短的說明. 這也是一個很有用的功能.
1.5 Maple 的組織結構
Maple 是由加拿大Waterloo 大學的符號計算組開發的計算機代數系統. 它可以在各種計
算機上運行, 從超級計算機, 例如Cray Y/MP, 到用於桌面的微型計算機, 例如IBM PC 兼容
機.Maple 既可以在單用戶的操作系統, 例如MS-Windows 上
⑩ 請問歷史上的數學家以及他們的著作!!
幾何原本
歐幾里得
出版時期: 約公元前300年
網上版本: 互動式Java版
簡述: 這可能不僅是幾何最重要的著作而且也是數學最重要的著作。它包含很多幾何,數論的重要結果和第一個演算法。原本現在依然是有價值的資源和對演算法的一個好的導引。比這本書中任何特定的結果更為重要的是,似乎該書最大的成就是把邏輯和數學證明作為一種解決問題的方法推廣開來。
重要性: 課題創立,突破,影響,綜述,最現代且最優秀(雖然它是第一個,但是有些結果仍然是最現代的)
[編輯] La Géométrie(幾何學)
笛卡爾
簡述: La Géométrie 出版於1637年,笛卡爾著。該書對於直角坐標系的發展有重大影響,特別是對通過實數來表示平面上的點進行了討論;此外還有關於通過方程來表示曲線的論述。
重要性: 課題開創者, 突破, 影響力
概念文字(Begriffsschrift)
哥特洛布·弗雷格(Gottlob Frege)
簡介: 出版於1879年,標題Begriffsschrift通常譯為概念寫作或概念記號;概述的完整標題把它等同為"一個純粹思想的公式語言,建模於算術語言".弗雷格發展他的形式邏輯系統的動機和萊布尼茲想要找一個計算推論器(calculus ratiocinator)是相似的.弗雷格定義了一個邏輯計演算法來支持他在數學基礎方面的研究.Begriffsschrift既是書名又是裡面定義的計演算法的名字.
重要性: 可以稱的上邏輯方面自亞里士多德以來最重要的著作.
[編輯] 數學公式匯編(Formulario mathematico)
皮亞諾(Giuseppe Peano)
簡介: 初版於1895年,Formulario mathematico是第一部完整的使用形式化語言書寫的數學書.它包含的數理邏輯的表述和很多數學其它分支的很多重要定理.很多該書引入的概念在今天成為日常使用的概念.
重要性:影響力
[編輯] 數學原理(Principia Mathematica)
羅素(Bertrand Russell)和懷特海得(Alfred North Whitehead)
簡介: 數學原理 是關於數學基礎的三部頭著作,作者羅素和懷特海德,出版於1910年-1913年。它是使用符號邏輯中的定義嚴謹的公理集和推理規則來導出所有數學真理的一個嘗試。是否可以從原理的公理集導出矛盾,以及是否存在不能在該系統中被證明或證否的數學命題的問題依然存在。這些問題以一種令人有些失望的方式於1931年為歌德爾不完備定理所解決。
重要性: 影響力
[編輯] 哥德爾不完備定理
(Über formal unentscheidbare Sätze der Principia Mathematica und verwandter Systeme, Monatshefte für Mathematik und Physik, vol. 38 (1931).)
哥德爾
在線版本: 在線版本
簡述: 在數理邏輯中,哥德爾不完備定理(Gödel's incompleteness theorems)是哥德爾於1930年證明的兩個著名定理。 第一個不完備定理表明:
對於滿足下列條件的任何形式系統(1)它是ω-一致的 (ω-一致), (2) 它有遞歸可定義的公理集和推導規則,(3)每個自然數的遞歸關系在其上可定義,存在該系統的一個公式,按照系統所設想的解釋,它表達關於自然數的一個事實,但它不是該系統的一個定理。
重要性: 突破, 影響力
算術研究(Disquisitiones Arithmeticae,或譯整數論研考)
高斯(Carl Friedrich Gauss)
簡介: 《算術研究》是德國數學家卡爾·弗雷德里希·高斯所著的數論教科書,初版於1801年,高斯24歲。在該書中,高斯把諸如費馬,歐拉,拉格朗日和勒讓德等數學家的數論結果收到一起並加上了他自己的重要新成果。
重要性: 突破, 影響力。
[編輯] 關於小於給定值的質數(On the Number of Primes Less Than a Given Magnitude)
黎曼(Bernhard Riemann)
簡介: 關於小於給定值的質數 ( Über die Anzahl der Primzahlen unter einer gegebenen Grösse)是一篇有開創性的論文,作者黎曼,發表於1859年11月版的柏林科學院每月匯報。雖然這是他唯一發表過的數論論文,它包含了影響了19世紀後期開始直到今天的幾十位研究者的思想。該論文主要由定義、啟發式論證、證明概略和強力的解析方法的應用;所有這些成了現代解析數論的基本概念和工具。
重要性: 突破, 影響力
[編輯] 數論講義(Vorlesungen über Zahlentheorie)
狄利克雷(Johann Peter Gustav Lejeune Dirichlet)和戴德金(Richard Dedekind)
簡介: 數論講義是德國數學家狄利克雷和戴德金所著的數論教科書,發表於1863年。 講義可以看作是費馬、雅各比和高斯的經典數論和戴德金、黎曼和希爾伯特的現代數論之間的分水嶺。狄利克雷沒有顯式的識別出現代代數的中心概念群,但是很多他的證明表明他有對群論的隱含的理解。
重要性: 突破, 影響力
[編輯] 數論,從漢默拉比到勒讓德的歷史的方法(Number Theory, An approach through history from Hammurapi to Legendre)
Andre Weil
簡介: 由該領域的20世紀最偉大的研究者之一所著的數論歷史研究。該書涉及了36個世紀的算術著作,但是大部分主要用於費馬、歐拉、拉格朗日和勒讓德的工作的仔細研究和解說。作者希望把讀者帶到他所述的人物的工作場所去分享他們的成功和失敗。這是一個少有的通過一個主題的最偉大的實踐者之一的思想來觀看它的歷史發展的機會。
重要性:
[編輯] 數論導引(An Introction to the Theory of Numbers)
高德菲·哈羅德·哈代
簡介: 經典數論教材
博弈的演變和理論(Evolution and the Theory of Games)
John Maynard Smith
[編輯] 博弈和經濟行為的理論(Theory of Games and Economic Behavior)
(博弈和經濟行為的理論, 第三版,普林斯頓大學出版社1953年)
摩根斯坦(Oskar Morgenstern), 馮·諾伊曼(John von Neumann)
簡介: 這么書導致了對現代博弈論作為重要數學分支的研究。者本身克的著作包含了尋找二人零和博弈的最優解的方法。
重要性: 影響力, 課題創立, 突破
[編輯] 論數字和博弈(On Numbers and Games)
John Conway
簡介: 該書分為兩部, {0,1|}, 兩部分。第零部分關於數字,第一部分關於博弈 - 包括博弈的價值和一些真正可玩的博弈,例如Nim, Hackenbush, Col 和Snort和其他很多。
重要性:
[編輯] 數學玩家的制勝之道(Winning Ways for your Mathematical Plays)
Elwyn Berlekamp, John Conway 和 Richard K. Guy
簡介: 數學博弈的信息的綜述。它初版於1982年,分為兩部,一部主要集中於組合博弈和超實數,另一部主要關於一些特定的博弈