gsl科学计算库文档,翻译了索引,凑合看看。
1.介紹
2.庫的使用
本章描述如何編譯使用GSL的程序,介紹GSL的一般用法。
2.1例子程序
2.2編譯和鏈接
2.3共享庫
2.4與ANSI C兼容性
2.5inline函數
2.6長雙精度long double
2.7可移植性函數
2.8可優化函數
2.9對不同的數據類型的支持
2.10與C++兼容性
2.11數組別名
2.12線程安全
2.13遺棄的函數
2.14代碼重用
3.出錯處理
本章描述GSL函數報告和處理出錯的方法。通過檢查每個函數返回的狀態信息,您能確定它是否成功或失敗,并且,如果它失敗,您能發現什么是失敗的精確起因。 您能也定義您自己的出錯處理函數,取代庫的缺省函數。
在這個部分描述的函數所在的頭文件被宣稱 gsl_errno.h.
3.1出錯報告
3.2出錯代碼
3.3出錯處理
3.4使用自己的出錯處理函數
3.5例子
4.數學函數
本章描述基本的數學函數。 其中一些函數是已存在系統程序庫里,但這里有可供選擇的版本使用來替代,而不用系統函數。
在本章和宏指令描述的函數在庫文件被定義 gsl_math.h.
4.1數學常量
4.2無窮和非數字
4.3初等函數
4.4小整數乘方
4.5測試數字的正負
4.6測試數字的奇偶
4.7求最大和最小函數
4.8浮點數近似比較
5.復數
在本章描述的函數支持復數。 算法盡量避免中間上溢或下溢,一樣許多允許函數是被評估的復平面盡可能。
對于多值函數,分支切割在被選擇跟隨Abramowitz和Stegun的大會 數學函數手冊 . 函數返回主值與那些在GNU Calc相同,反之是相同象那些的主值 共同的Lisp,語言(再版)1 并且計算器HP-28/48系列。
復數類型在頭文件gsl_complex.h定義 ,而對應的復數函數和算術運算被定義 gsl_complex_math.h.
5.1復數的表示法
5.2復數的屬性
5.3復數算術運算符
5.4基本的復數函數
5.5復數三角函數
5.6復數反三角函數
5.7復數雙曲線函數
5.8復數反雙曲線函數
5.9參考和進階閱讀
6.多項式
本章描述函數為評估和解決多項式。 有慣例為發現二次方和三次方程真正和復雜根運用分析方法。 一位重申多項解難題者為發現一般多項式根也是可利用的以真正的系數(任何秩序)。 函數在頭文件 gsl_poly.h定義.
6.1多項式賦值
6.2多項式的均差表示法
6.3二次方程
6.4三次方程
6.5一般多項等式
6.6多項式例子
6.7多項式參考和進階閱讀
7.特殊功能
本章描述GSL特殊函數。 此庫包括慣例為計算airy函數,bessel函數, Clausen的價值函數,庫侖波函數,結合的系數, Dawson函數, Debye函數, Dilogarithms,橢圓積分式, Jacobi橢圓函數,誤差函數,指數積分式,費密Dirac函數,伽瑪函數, Gegenbauer函數,超幾何函數, Laguerre函數, Legendre函數和球狀泛音、Psi (古希臘字母的F)函數,同步加速器函數、運輸函數、三角函數和 Zeta函數。 每個慣例也計算數字錯誤的估計按函數的故意的價值。
函數在本章在各自的頭文件中定義,例如 gsl_sf_airy.h, gsl_sf_bessel.h等等。 頭文件完整集合直接使用文件 gsl_sf.h.
7.1特殊函數用法
7.2gsl_sf_result結構
7.3特殊函數模式
7.4Airy函數及其相關函數
7.5Bessel函數
7.6Clausen函數
7.7Coulomb函數
7.8聯結系數
7.9Dawson函數
7.10Debye函數
7.11反對數
7.12初等運算
7.13橢圓積分式
7.14橢圓函數(Jacobi)
7.15出錯函數
7.16指數函數
7.17指數積分式
7.18Fermi-Dirac函數
7.19伽瑪和beta函數
7.20Gegenbauer函數
7.21超幾何函數
7.22Laguerre函數
7.23Lambert W函數
7.24Legendre函數和球函數
7.25對數及其相關函數
7.26Mathieu函數
7.27乘方函數
7.28Psi 函數
7.29同步加速器函數
7.30傳輸函數
7.31三角函數
7.32Zeta函數
7.33例子
7.34參考和進階閱讀
8.向量和矩陣
在本章描述的函數提供一個簡單的向量和矩陣接口給普通的C數組。 這些數組的內存管理使用一個唯一部下的類型被實施,以塊命名。 通過寫您的函數根據向量和矩陣您能通過包含數據和維度的一個唯一結構作為論據,無需另外的函數參數。 結構是與半新的向量和矩陣格式兼容 blas 慣例。
8.1數據類型
8.2塊
8.3向量
8.4矩陣
8.5參考和進階閱讀
?
9.排列
本章描述的函數創建和操作排列。 變更p由n 整數在范圍0代表對n-1,每價值 p_i一次和只一次發生。 變更p應用到傳染媒介v產生一新的傳染媒介v, v'_ i = v_ {p_i}。 例如,列陣(0,1,3,2)代表交換四個元素傳染媒介的前二個元素的變更。 對應的身分變更是(0,1,2,3)。
注意線性代數慣例導致的變更對應于矩陣專欄交換,和,因此應該考慮如適用于列傳染媒介在形式v = v P而不是專欄傳染媒介,當交換傳染媒介時的元素。
在本章描述的函數在頭文件中 gsl_permutation.h定義.
9.1排列結構
9.2排列分配
9.3訪問排列元素
9.4排列屬性
9.5排列函數
9.6應用排列
9.7讀寫排列
9.8循環形式中的排列
9.9例子
9.10參考和進階閱讀
10.組合
本章描述函數創造和操作組合。 組合c由k 整數在范圍0代表對n-1,每價值 c_i一次發生至多。 組合c對應于 k元素索引從n元素傳染媒介選擇的。 組合為重復是有用的在集合的所有 k元素子集。
在本章描述的函數在頭文件 gsl_combination.h中定義.
10.1組合結構
10.2組合分配
10.3訪問組合元素
10.4組合屬性
10.5組合函數
10.6讀寫組合
10.7組合例子
10.8組合參考和進階閱讀
11.排序
本章描述函數直接和間接排序數據, (使用索引)。 所有作用使用 heapsort 算法。 Heapsort是操作就地,并且不要求任何輔助存儲器的 O (N /日志N)算法。 它比平均和最佳的案件不顯著長期也提供一致表現,運行時間為它最壞(有序數據)是。 注意heapsort算法不保存元素它是的相對命令均等 不穩定 排序。 然而,當使用這些作用時,相等的元素發生的定貨橫跨不同的平臺將是一致的。
11.1排序對象
11.2排序向量
11.3選擇k最小或最大的元素
11.4計算等級
11.5排序例子
11.6排序參考和進階閱讀
12.BLAS支持
基本的線性代數部分程序(blas)定義一套根本操作在可以用于創造優化高水平線性代數功能的向量和矩陣。
圖書館提供對應直接地于C語言的低級層數 blas 標準,這里提到和“cblas”和一個高水平接口為操作在GSL傳染媒介和矩陣。 是對簡單的操作感興趣在GSL傳染媒介和矩陣對象的用戶應該使用高級層數,在文件被宣稱 gsl_blas.h. 這應該滿足多數用戶的需要。 注意 GSL矩陣使用密集存貯被實施,因此接口只包括對應的密集存貯 blas 作用。 充分 blas 功能為帶格式和包裝格式矩陣通過低級是可利用的 cblas 接口。
接口為 gsl_cblas 層數在文件指定 gsl_cblas.h. 這個接口對應于 blas 技術論壇的草案標準為C接口對遺產 blas 實施。 得以進入對其他一致的用戶 cblas 實施可能在圖書館提供的版本位置使用這些。 注意有僅FORTRAN的用戶 blas 圖書館可能使用a cblas 轉換它的conformant封皮成a cblas 圖書館。 參考 cblas 作為草稿一部分,封皮為遺產FORTRAN實施存在 cblas 標準,并且能從Netlib獲得。 完整集 cblas 作用在附錄被列出(參見 GSL CBLAS圖書館).
有三個水平 blas 操作,
第1級
向量運算,即。 y = /阿爾法x + y
第2級
矩陣向量運算,即。 y = /阿爾法A x + / beta y
第3級
矩陣矩陣運算,即。 C = /阿爾法A B + C
每個慣例有指定操作,介入的矩陣的種類的一個名字和他們的精確度。 如下測量他們的一些最共同的操作和名字,
小點
數積, x^T y
AXPY
向量和, /阿爾法x + y
MV
矩陣向量產品, A x
SV
矩陣向量解決, inv (A) x
MM
矩陣矩陣產品, A B
SM
矩陣矩陣解決, inv (A) B
矩陣的種類是,
GE
一般
GB
一般帶
SY
相稱
SB
相稱帶
SP
被包裝的相稱
他
厄米
HB
厄米的帶
HP
被包裝的厄米
TR
三角
TB
三角帶
TP
被包裝的三角
每操作為四個精確度被定義,
S
唯一真正
D
雙重真正
C
唯一復合體
Z
雙重復合體
因此,例如,名字 sgemm 立場為“唯一精確度一般矩陣矩陣倍增”和 zgemm 立場為 “雙精度復雜矩陣矩陣倍增”。
注意傳染媒介和矩陣論據到BLAS作用不能是aliased,因為結果是未定義,當強調的列陣重疊(參見 列陣混淆現象 ).
12.1GSL BLAS接口
12.2BLAS例子
12.3BLAS參考和進階閱讀
?
13.線性代數
本章描述函數為解決線性系統。 庫提供直接地在經營的線性代數操作 gsl_vector 并且 gsl_matrix 對象。 這些慣例使用標準算法從Golub &范· Loan的 矩陣計算 以級1和級2 BLAS呼叫請求效率。
在本章描述的函數在頭文件gsl_linalg.h中定義.
13.1LU分解
13.2QR分解
13.3QR分解,且列在軸上旋轉
13.4奇異值分解
13.5Cholesky分解
13.6真實的對稱矩陣的三對角線分解
13.7厄米矩陣的三對角線分解
13.8真實矩陣的黑森貝格矩陣分解
13.9實矩陣的黑森貝格三角分解
13.10雙對角化
13.11householder transformations
13.12線性系統解決householder
13.13對角線系統
13.14平衡
13.15線性代數例子
13.16線性代數參考和進階閱讀
14.Eigensystems(特征值系統)
本章描述函數為矩陣計算的本征值和特征向量。 有慣例為真正的相稱,真正的nonsymmetric,復雜厄米,真正的廣義相稱確定,復合體廣義厄米確定和真正的廣義nonsymmetric eigensystems。 本征值可以計算有或沒有特征向量。 厄米和真正的對稱矩陣算法是QR 減少跟隨的相稱bidiagonalization。 nonsymmetric算法是QR雙重轉移的 Francis。 廣義nonsymmetric算法是QZ方法由于 Moler和Stewart。
在本章描述的函數在頭文件gsl_eigen.h中定義.
14.1真正的對稱矩陣
14.2復雜厄米的矩陣
14.3真正的Nonsymmetric矩陣
14.4真正的廣義對稱確定Eigensystems
14.5復雜廣義厄米確定Eigensystems
14.6真正的廣義Nonsymmetric Eigensystems
14.7排序本征值和特征向量
14.8本征值和特征向量例子
14.9本征值和特征向量參考
15.快速的傅立葉變換
本章描述函數為執行的快速的傅立葉變換 (FFTs)。庫包括是力量的二)的根值2 慣例(為長度和為所有長度運作)的混合基數的慣例(。 為效率有慣例的分開的版本為真正的數據和為復雜數據。 混合基數的慣例是reimplementation fftpack 保羅Swarztrauber圖書館。 FORTRAN代碼為 fftpack 是可利用的在Netlib (fftpack 也包括有些慣例為正弦,并且余弦變換,但這些當前不是可利用的在GSL)。 為部下的算法的細節和派生咨詢本文 GSL FFT算法 (參見 FFT參考和深層讀取)
15.1數學定義
15.2復數FFTs概要
15.3復數根號2 FFT程序
15.4復數混合根號的FFT程序
15.5實數FFTs概要
15.6根值2 FFT程序為實數
15.7混合根號的FFT程序為實數
15.8FFT參考和深層讀取
?
16.數值積分
本章描述函數為進行數值積分 (求積分法)作用在一個維度。 有慣例為一般作用的能適應和非適應綜合化,以專業慣例為具體案件。 這些包括綜合化無限和半無限范圍,單一積分式,包括對數Cauchy主值的稀有、計算和振動積分式。 算法使用的圖書館reimplements quadpackPiessens寫的一個數字綜合化包裹, Doncker-Kapenga、Uberhuber和Kahaner。 FORTRAN代碼為 quadpack 是可利用的在Netlib。
在本章描述的作用在頭文件gsl_integration.h定義.
16.1數值積分介紹
16.2QNG非適應高斯Kronrod積分
16.3QAG能適應的積分
16.4QAGS能適應的積分伴隨異常
16.5QAGP能適應的積分伴隨已知的異常點
16.6QAGI能適應的積分在無限間隔時間
16.7QAWC能適應的積分為Cauchy主值
16.8QAWS能適應的積分異常函數
16.9QAWO能適應的積分為振動函數
16.10QAWF能適應的積分為傅立葉積分式
16.11積分出錯代碼
16.12積分例子
16.13積分參考和深層讀取
17.隨機數的產生
庫提供可以通過一個一致的接口訪問隨機數發生器的大收藏量。 環境變量允許您選擇不同的發電器和種子在運行時間,因此您能容易地交換在發電器之間,無需需要重新編譯您的節目。 發電器的每個事例記錄它自己的狀態,允許發電器用于多穿線的節目。 另外的作用為變換均勻分布隨機數是可利用的成樣品從連續或分離概率分布例如高斯,記錄正常或者泊松分布。
這些函數在頭文件gsl_rng.h中定義.
17.1隨機數一般注釋
17.2隨機數發生器接口
17.3隨機數發生器初始化
17.4從一臺隨機數發生器采樣
17.5輔助隨機數發生器函數
17.6隨機數的環境變量
17.7復制隨機數發生器狀態
17.8讀寫隨機數發生器狀態
17.9隨機數發生器算法
17.10Unix隨機數發生器
17.11其他隨機數發生器
17.12隨機數發生器性能
17.13隨機數發生器例子
17.14隨機號碼的參考和深層讀取
17.15隨機號碼的承認
18.擬隨機序列
本章在任意維度描述函數為引起擬隨機意序列。 一個類似任意序列用一致地分布的一套點進步地包括d尺寸空間。 類似任意序列是亦稱低差誤序列。 類似任意序列發電器使用于接口是相似的為隨機數發生器的一個接口,除了播種不是要求每臺發電器導致一個唯一序列。
在這個部分描述的作用在頭文件 gsl_qrng.h中定義.
18.1擬隨機數發生器的初始化
18.2從一臺擬隨機數發生器采樣
18.3輔助擬隨機數發生器函數
18.4保存和恢復擬隨機數發生器狀態
18.5擬隨機數發生器算法
18.6擬隨機數發生器例子
18.7擬隨機數發生器參考
19.隨機數的分布
本章描述函數為引起任意變量和計算他們的概率分布。 樣品從在本章描述的發行在圖書館里可以使用任何隨機數發生器得到作為隨機性的一個部下的來源。
在最簡單的案件不均勻的發行可以從一臺隨機數發生器的一致的發行分析獲得通過申請適當的變革。 這個方法使用一個電話到隨機數發生器。 更加復雜的發行是由創造的 采納拒絕 方法,比較期望發行反對發行是相似和分析已知。 這通常要求幾個樣品從發電器。
圖書館也提供累積分布函數和相反累積分布函數,有時指分位點作用。 累積分布函數和他們的反面為發行的上部和更低的尾巴分開地被計算,允許充分的準確性為小結果保留。
作用為任意變量和在這個部分描述的可能性密度函數被宣稱 gsl_randist.h. 對應的累積分布函數被宣稱 gsl_cdf.h.
注意分離任意變量作用總退回類型的價值 未簽名的int和在多數平臺這有一個最大價值 2^32-1 ~=~ 4.29e9。 應該只叫他們與參量的一個安全范圍(有超出這個極限)的地方變量的一個微不足道的可能性防止不正確結果由于溢出。
19.1隨機數介紹
19.2高斯分布
19.3高斯尾巴分布
19.4二元高斯分布
19.5指數分布
19.6Laplace分布
19.7指數乘方分布
19.8Cauchy分布
19.9Rayleigh分布
19.10Rayleigh尾巴分布
19.11Landau分布
19.12征收阿爾法穩定的分布
19.13征收反稱性阿爾法穩定的發行
19.14伽瑪分布
19.15平的(一致的)分布
19.16對數正態的分布
19.17希臘字母x平方的分布
19.18F分布
19.19t分布
19.20beta分布
19.21邏輯分布
19.22Pareto分布
19.23球狀向量分布
19.24Weibull分布
19.25類型一Gumbel分布
19.26類型二Gumbel分布
19.27Dirichlet分布
19.28一般離散分布
19.29泊松分布
19.30Bernoulli分布
19.31二項式分布
19.32多項式發行
19.33反二項式分布
19.34帕斯卡分布
19.35幾何學分布
19.36超幾何分布
19.37對數分布
19.38移動和采樣
19.39隨機數的發布例子
19.40隨機數分布的參考和深層讀取
20.統計
本章描述庫中的統計函數。 基本的統計函數包括計算手段、變化和標準偏差程序。 更加高級的函數允許您計算絕對偏差、反稱性和峰態并且中間和任意百分數。 算法使用遞歸關系計算平均數量用一個穩定的方式,不用也許溢出的大中間值。
函數是可利用的在版本為數據集在標準浮點和整數類型。 版本為雙精度浮點數據有前綴 gsl_stats 并且在標頭文件被宣稱 gsl_statistics_double.h. 版本為整數數據有前綴 gsl_stats_int 并且在標頭文件被宣稱 gsl_statistics_int.h.
20.1平均,標準偏差和變化
20.2絕對偏差
20.3高級動差(反稱性和峰態)
20.4自相關
20.5協方差(統計中用來計算兩個變量之間的相關系數,其計算通過公式(xx)(yy),x和y是變量, x是x值的平均值y 是y值的平均)
20.6關聯
20.7采用樣本權重
20.8最大值和最小值
20.9中點和百分數
20.10例子
20.11統計參考和進階閱讀
21.直方圖 (柱狀圖)
本章描述創造直方圖函數。 直方圖提供總結數據設置的發行一個方便方式。 直方圖包括套 容器 哪些計數分成連續的可變物X.的一個特定范圍的事件的數量。 在GSL直方圖的容器包含浮點數,因此他們可以用于記錄整數和非整數發行。 容器可能使用任意套范圍(一致地間隔的容器是缺省)。 支持兩一個和二維直方圖。
一旦直方圖被創造了它可能也被轉換成概率分布作用。 圖書館為選擇隨意抽樣提供高效率的慣例從概率分布。 這可以是有用的為引起根據真正的數據的模仿。
函數在頭文件gsl_histogram.h和gsl_histogram2d.h中定義.
21.1直方圖結構
21.2直方圖分配
21.3復制直方圖
21.4更新并訪問直方圖元素
21.5搜尋直方圖范圍
21.6直方圖統計
21.7直方圖運算
21.8讀寫直方圖
21.9從直方圖再次采樣
21.10直方圖概率分布結構
21.11直方圖例子程序
21.12二維直方圖
21.13二維直方圖結構
21.14二維直方圖分配
21.15復制二維直方圖
21.16更新并訪問二維直方圖元素
21.17搜尋二維直方圖范圍
21.18二維直方圖統計
21.19二維直方圖運算
21.20讀寫二維直方圖
21.21從二維直方圖 再采樣
21.22二維直方圖例子
22.N元組
本章描述創造和操作N元組函數,N元組指一組與事件相關的數值。 ntuples 在文件被存放。 他們的價值在所有組合可以被提取和 預定 在一張直方圖使用選擇作用。
將被存放的價值在一種用戶定義的數據結構表示,并且被創造同這種數據結構聯系在一起的ntuple文件。 價值給文件然后被寫(通常在圈里面)使用下述的ntuple作用。
直方圖可以從ntuple數據被創造通過提供選擇作用和明度函數。 選擇作用指定不論在將被分析的子集應該包括事件。 明度函數計算將增加的詞條到直方圖為每個事件。
所有ntuple函數在頭文件gsl_ntuple.h中定義。
22.1N元組結構
22.2創建N元組
22.3打開一個現有的N元組文件
22.4寫N元組
22.5讀N元組
22.6關閉N元組文件
22.7柱狀圖化N元組
22.8N元組例子程序
22.9N元組參考和進階閱讀
23.蒙特卡洛積分
本章描述多維蒙特卡洛積分函數。 這些包括傳統蒙特卡洛方法和能適應的算法例如 維加斯 并且 守財奴 哪些使用重要性采樣和分層取樣技術。 每種算法計算形式的多維定積分的估計,
???? I = / int_xl^xu dx / int_yl^yu dy…? f (x, y,…)
在一個hypercubic區域((x_l, x_u), (y_l, y_u),…) 使用函數調用的一個固定的數字。 慣例在結果也提供錯誤的一個統計估計。 應該采取這個誤差估計作為指南而不是作為一個嚴密的錯誤跳起任意區域的采樣可能不揭露作用的所有重要特點,造成錯誤的低估。
函數分別在頭文件gsl_monte_plain.h, gsl_monte_miser.h和gsl_monte_vegas.h中定義.
23.1蒙特卡洛接口
23.2簡單的蒙特卡洛
23.3守財奴 (miser)
23.4維加斯 (vegas)
23.5例子
23.6參考和進階閱讀
24.模擬退火法(Simulated Annealing)
使用隨機查尋技術,當空間的結構不是好了解也不是光滑的時,因此技術喜歡要求計算Jacobian衍生物矩陣)的牛頓的方法(不可能使用。 特別是,這些技術頻繁地用于解決組合優化問題,例如旅游推銷商問題。
目標是發現點在被重視的真正的空間 能量作用 (或 價值函數)減到最小。 被模仿的燜火是在避免地方極小值給了好結果的低估技術; 它根據采取隨機游動想法通過空間在連續地低溫,步驟伯磁曼發行給可能性采取。
在本章描述的函數在頭文件中gsl_siman.h定義.
24.1模擬退火法算法
24.2模擬退火法函數
24.3例子
24.4參考和進階閱讀
25.常微分方程
本章描述解決常微分方程初值問題的函數。 庫為能適應的步大小控制提供低級方法品種,例如Runge-Kutta 和Bulirsch-Stoer慣例和高水平組分。 組分可以由用戶結合達到期望解答,與全部存取到所有中間步。
這些函數在頭文件gsl_odeiv.h中定義.
25.1定義常微分方程
25.2步進函數(stepping function)
25.3自適應步大小控制
25.4演變
25.5例子程序
25.6參考和進階閱讀
26.插值法
本章描述進行插值法函數。 庫提供各種各樣的插值法方法,包括三次樣條和Akima多槽軸。 插值法類型是互換性的,允許不同的方法使用,無需重新編譯。 插值法可以為正常和周期性邊界條件被定義。 另外的作用為計算內插作用衍生物和積分式是可利用的。
在這個部分描述的函數在標頭文件gsl_interp.h 和gsl_spline.h定義.
26.1插值法介紹
26.2插值法函數
26.3插值法類型
26.4索引查尋和加速
26.5插值法函數的評估
26.6高級接口
26.7插值法例子程序
26.8插值法參考和進階閱讀
27.數值微分
在本章描述通過有限differencing計算數字衍生物數值微分。 一種能適應的算法在衍生物用于發現有限差最佳的選擇和估計錯誤。 這些作用在標頭文件被宣稱 gsl_deriv.h.
27.1函數
27.2例子
27.3參考
28.契比希夫近似法 (chebyshev approximation)
本章描述契比希夫近似法函數。 契比希夫近似法是系列f (x)的截= /總和c_n T_n (x), Chebyshev 多項式T_n (x)的地方= / COS (n / arccos x)在間隔時間供給多項式的一個正交依據[- 1,1] 權函數 1// sqrt {1-x^2}。 最初的少數Chebyshev多項式是, T_0 (x) = 1, T_1 (x) = x, T_2 (x) = 2 x^2 - 1。 欲知詳情看見Abramowitz & Stegun,第22章。
在本章描述的作用在標頭文件被宣稱 gsl_chebyshev.h.
28.1定義
28.2契比希夫系列的創建和運算
28.3輔助函數
28.4契比希夫系列評估
28.5派生物和積分式
28.6例子
28.7參考和進階閱讀
29.連續加速(series acceleration)
在本章描述使用Levin加速系列的匯合u變換函數。 這個方法從開始采取很小數量的期限的系列并且使用系統的略計計算被外推的價值和它的錯誤的估計。 u變換為會聚和發散級數運作,包括漸近數列。
這些作用在標頭文件被宣稱 gsl_sum.h.
29.1加速函數
29.2沒有錯誤估計的加速函數
29.3例子
29.4參考
30.微波變換(wavelet transform)
本章描述執行分離小波變換(DWTs)函數。 庫在一個和二個維度包括小波為真正的數據。 小波函數在頭文件gsl_wavelet.h和gsl_wavelet2d.h定義.
30.1定義
30.2初始化
30.3變換函數
30.4例子
30.5參考
31.離散漢克耳(Hankel)變換
本章描述離散漢克耳(Hankel)變換函數。 函數在頭文件gsl_dht.h中定義.
31.1定義
31.2函數
31.3參考
32.一維求根法
本章描述發現任意一維作用根函數。 庫為各種各樣的重申解難題者和收斂性判定提供低級組分。 這些可以由用戶結合達到期望解答,與全部存取到疊代的中間步。 方法每類使用同一個框架,因此您能交換在解難題者之間在運行時間,無需需要重新編譯您的節目。 解難題者的每個事例記錄它自己的狀態,允許解難題者用于多穿線的節目。
頭文件 gsl_roots.h 包含原型為發現函數和相關聲明的根。
32.1概要
32.2警告
32.3初始化
32.4提供函數解決
32.5查尋邊界并猜測
32.6疊代
32.7停止查尋參數
32.8根括號算法
32.9求根法算法使用衍生物
32.10例子
32.11參考和進階閱讀
33.一維最小化
本章描述發現任意一維作用極小值函數。 庫為各種各樣的重申 minimizers和收斂性判定提供低級組分。 這些可以由用戶結合達到期望解答,與全部存取到算法的中間步。 方法每類使用同一個框架,因此您能交換在minimizers之間在運行時間,無需需要重新編譯您的節目。 minimizer的每個事例記錄它自己的狀態,允許minimizers用于多穿線的節目。
頭文件 gsl_min.h 包含原型為最小化函數和相關聲明。 要使用低估算法發現作用的最大值簡單地倒置它的標志。
33.1概要
33.2警告
33.3初始化Minimizer
33.4提供最小化函數
33.5疊代
33.6停止參數
33.7最小化算法
33.8例子
33.9參考和進階閱讀
34.多維求根法
本章描述多維求根法 函數(解決非線性系統以n等式在n 未知數)。 圖書館為各種各樣的重申解難題者和收斂性判定提供低級組分。 這些可以由用戶結合達到期望解答,與全部存取到疊代的中間步。 方法每類使用同一個框架,因此您能交換在解難題者之間在運行時間,無需需要重新編譯您的節目。 解難題者的每個事例記錄它自己的狀態,允許解難題者用于多穿線的節目。 解難題者根據原始的FORTRAN圖書館 minpack.
頭文件 gsl_multiroots.h 包含原型為多維求根法作用和相關聲明。
34.1概要
34.2初始化
34.3提供函數解決
34.4疊代
34.5停止查尋參數
34.6算法使用衍生物
34.7沒有衍生物的算法
34.8例子程序
34.9參考和進階閱讀
35.多維低估
本章描述慣例為發現任意多維作用極小值。 圖書館為各種各樣的重申 minimizers和收斂性判定提供低級組分。 這些可以由用戶結合達到期望解答,當提供全部存取給算法的中間步時。 方法每類使用同一個框架,因此您能交換在 minimizers之間在運行時間,無需需要重新編譯您的節目。 minimizer的每個事例記錄它自己的狀態,允許 minimizers用于多穿線的節目。 低估算法可以通過倒置它的標志用于最大化作用。
標頭文件 gsl_multimin.h 包含原型為低估作用和相關聲明。
Multimin概要
Multimin警告
初始化多維Minimizer
提供作用減到最小
Multimin疊代
停止標準的Multimin
Multimin算法與衍生物
沒有衍生物的Multimin算法
Multimin例子
Multimin參考和深層讀取
36.最小二乘方擬合(least-squares fitting)
本章描述執行最小二乘方擬合到實驗性數據使用作用的線性組合函數。 數據也許被衡量或無重負,即。 以已知的或未知的錯誤。 為被衡量的數據作用計算最佳的適合的參量和他們伴生的協方差矩陣。 為無重負的數據協方差矩陣從點的消散估計,給變化協變性矩陣。
作用被劃分成分開的版本為簡單一或二參量退化和多參量適合。 函數在標頭文件被宣稱 gsl_fit.h.
36.1概要
36.2線性復原
36.3不含一個常數項的線性擬合
36.4多參數擬合
36.5例子
36.6參考和進階閱讀
37.非線性最小二乘方擬合
本章描述多維非線性最小二乘方擬合函數。 庫為重申解難題者和收斂性判定品種提供低級組分。 這些可以由用戶結合達到期望解答,與全部存取到疊代的中間步。 方法每類使用同一個框架,因此您能交換在解難題者之間在運行時間,無需需要重新編譯您的節目。 解難題者的每個事例記錄它自己的狀態,允許解難題者用于多穿線的節目。
頭文件 gsl_multifit_nlin.h 包含原型為多維非線性貼合作用和相關聲明。
37.1概要
37.2初始化
37.3提供最小化函數
37.4疊代
37.5停止查尋參數
37.6使用衍生物
37.7沒有使用衍生物的最小化算法
37.8計算最佳的適合的參數協方差矩陣
37.9例子程序
37.10參考和進階閱讀
38.依據多槽軸 (basis slines)
本章描述使依據多槽軸的計算(B多槽軸)光滑函數。 頭文件 gsl_bspline.h 包含原型為bspline作用和相關聲明。
38.1概要
38.2初始化
38.3構建結(knots)向量
38.4評估
38.5多槽軸依據作用衍生物的評估
38.6例子程序
38.7參考和進階閱讀
39.物理常數
本章描述物理常量宏,例如光速, c和萬有引力常數, G。 價值是可利用的用不同的單位系統,包括標準MKSA系統(米、公斤、秒鐘,安培)和CGSM 系統(厘米、克、秒鐘,高斯),是常用的在天文。
常數的定義在MKSA系統是可利用的在文件 gsl_const_mksa.h. 常數在CGSM系統被定義 gsl_const_cgsm.h. 無維的常數,例如精細結構常數,是純凈的數字被定義 gsl_const_num.h.
39.1基本常量
39.2天文和天體物理學
39.3原子和核物理
39.4時間單位
39.5英制單位
39.6速度和航海單位
39.7打印單位
39.8容量,地區和長度
39.9質量和重量
39.10熱能和力量
39.11壓力
39.12黏度
39.13光和照明
39.14放射線
39.15力量和能量
39.16前綴
39.17例子
39.18參考和進階閱讀
40.IEEE浮點算法
本章描述審查浮動小數點數字的表示法和控制您的節目的浮動小數點環境函數。 在本章描述的作用在頭文件gsl_ieee_utils.h中定義.
40.1浮點數的表示法
40.2設定您的IEEE環境
40.3參考和進階閱讀
41.調試數字程序
本章描述使用GSL的調試數字程序的技巧。
41.1使用gdb
41.2檢查浮點數記數器
41.3處理浮點數異常
41.4GCC警告選項
41.5參考
42.貢獻者對GSL
43.Autoconf宏指令
為應用使用 autoconf 標準宏指令 AC_CHECK_LIB 能使用與GSL自動地連接從a 配置 劇本。 圖書館取決于a 出現 cblas 并且必須在連接也位于算術圖書館,因此這些與扼要之前 libgsl 文件。 在應該安置以下命令 configure.ac 歸檔將執行這些試飛,
???? AC_CHECK_LIB ([m], [COS])
???? AC_CHECK_LIB ([gslcblas], [cblas_dgemm])
???? AC_CHECK_LIB ([gsl], [gsl_blas_dgemm])
它是重要對檢查對于 libm 并且 libgslcblas 以前 libgsl否則測試失敗。 在配置階段看期間似此,假設圖書館被找到產品,
???? 檢查COS - lm… 是
???? 檢查cblas_dgemm - lgslcblas… 是
???? 檢查gsl_blas_dgemm - lgsl… 是
如果圖書館那么被找到得測試將定義宏指令 HAVE_LIBGSL, HAVE_LIBGSLCBLAS, HAVE_LIBM 并且增加選擇 - lgsl - lgslcblas - lm 到可變物 解放.
上面測試將發現圖書館的所有版本。 他們為一般用途是適當的,作用的版本不是重要的。 一個供選擇的宏指令是可利用的在文件 gsl.m4 測試對于圖書館的一個具體版本。 要使用這個宏指令簡單地增加以下線到您 configure.in 文件而不是上面測試:
???? AX_PATH_GSL (GSL_VERSION,
??????????????? [行動如果發現了],
??????????????? [行動如果沒有發現了])
論據 GSL_VERSION 應該是二或三位數 major.minor 或 major.minor.micro 您需要發行的版本號。 一個適當的選擇為 行動如果沒有發現了 是,
???? AC_MSG_ERROR (不可能發現GSL的必需的版本)
然后您能增加可變物 GSL_LIBS 并且 GSL_CFLAGS 對您的Makefile.am歸檔獲得正確編譯器旗子。 GSL_LIBS 與產品是相等的 gsl設置 --解放 命令和 GSL_CFLAGS 是相等的 gsl設置 --cflags 命令。 例如,
???? libfoo_la_LDFLAGS = - lfoo $ (GSL_LIBS) - lgslcblas
注意宏指令 AX_PATH_GSL 需要使用C編譯器,因此它應該出現于 configure.in 文件在宏指令之前 AC_LANG_CPLUSPLUS 為使用C++的節目。
對測試為 線型 在您應該安置以下測試 configure.in 文件,
???? AC_C_INLINE
????
???? 如果測試“$ac_cv_c_inline”! =沒有; 然后
?????? AC_DEFINE (HAVE_INLINE, 1)
?????? AC_SUBST (HAVE_INLINE)
???? fi
并且宏指令然后定義在編輯旗子或將通過包括文件 config.h 在任何圖書館倒栽跳水之前。
以下autoconf測試將檢查 外面線型
???? dnl檢查對于“外面線型”,使用一個修改過的版本
???? 測試的dnl為AC_C_INLINE從acspecific.mt
???? dnl
???? AC_CACHE_CHECK ([為外面線型], ac_cv_c_extern_inline,
???? [ac_cv_c_extern_inline=no
???? AC_TRY_COMPILE ([外面$ac_cv_c_inline雙重foo (雙重x);
???? 外面$ac_cv_c_inline雙重foo (雙重x) {回歸x+1.0; };
???? 雙重foo (雙重x) {回歸x + 1.0; };]
???? [foo (1.0)],
???? [ac_cv_c_extern_inline= "是"])
???? ])
????
???? 如果測試“$ac_cv_c_extern_inline”! =沒有; 然后
?????? AC_DEFINE (HAVE_INLINE, 1)
?????? AC_SUBST (HAVE_INLINE)
???? fi
如果您使用,輕便作用的代替可以自動地被做 autoconf. 例如,對測試是否BSD作用 hypot 是可利用的您能包括以下線在配置文件 configure.in 為您的應用,
???? AC_CHECK_FUNCS (hypot)
并且安置以下宏定義在文件 config.h.in
???? /*替補gsl_hypot為缺掉系統hypot *
????
???? #ifndef HAVE_HYPOT
???? #define hypot gsl_hypot
???? #endif
應用源文件可能然后使用包括命令 #include 替代 gsl_hypot 為每發生 hypot 當 hypot 不是可利用的。
44.GSL CBLAS圖書館
45.免費軟件需要自由文獻
46.GNU公眾執照
47.GNU自由文獻執照
48.作用索引
49.易變的索引
50.鍵入索引
51.概念索引
總結
以上是生活随笔為你收集整理的gsl科学计算库文档,翻译了索引,凑合看看。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android11系统丨RK3568开发
- 下一篇: 利用PWM原理实现调光灯