電腦代數與符號計算

符號積分(symbolic integration)

符號微積分有兩半,而它們戲劇性地不對等。符號微分——求一條公式的精確導數——是機械且容易的:一小組規則(乘積、商、連鎖)作用於表達式樹,每次都把 sin(x^2) 變成 2x cos(x^2),它也是自動微分由之長出的種子。符號積分——求一個精確反導數,一條其導數正是你起初那函數的公式——則是那困難、深刻、有時不可能的手足。

微分如此可靠,是因為每條規則都把問題縮向初等零件的已知導數;電腦代數系統只是走過樹並組裝答案。積分沒有這種有保證的行進。經典的做法混合了一張已知積分表、變數代換、分部積分,與部分分式分解(這正是分母的多項式因式分解重要的原因);針對初等函數的現代、完整做法是里施演算法,一個判定程序,要嘛產生一個初等反導數,要嘛證明它不存在。對新手最刺耳的事實正是那個「不存在」的證明:許多看起來人畜無害的函數,根本沒有能用初等項表達的反導數。

符號積分之所以重要,是因為一個封閉形式的積分可以被分析、微分回去驗證、求值到任意精度、並重複使用——遠勝於單一個數。但誠實的現實很殘酷。微分永遠成功;積分卻可能合理地回答「不存在初等反導數」,正如對 exp(-x^2)(那條積分支撐整個統計學的鐘形曲線)或 sin(x)/x 那樣。發生時,你退回數值求積得到一個數,或退回特殊函數(誤差函數 erf、正弦積分 Si)來為那個原本寫不出的答案命名。符號積分與數值積分是夥伴,而非對手。

1/(1 + x^2) 的積分是 arctan(x)——一個乾淨的初等答案,電腦代數系統瞬間回傳。但 exp(-x^2) 的積分根本沒有初等反導數;電腦代數系統最多只能為它命名,回傳 (sqrt(pi)/2) erf(x),其中 erf 是恰好被定義為該積分的特殊誤差函數。

有些初等函數沒有初等反導數——只有一個被命名的特殊函數。

微分總能藉一組固定規則完成;積分則不然。里施演算法能證明初等反導數不存在——所以電腦代數系統給的「無答案」可能是一條定理,而非失敗。發生時,改用數值求積,或接受一個特殊函數。

又称
symbolic differentiation and integrationexact antiderivatives符號微分與積分求反導數