[ English | Japanese ]

ASL 基本機能編 第1分冊 (C言語用)

ページの先頭へ

第 1 章  使用の手引

1.1
概 説
1.1.1
科学技術計算ライブラリASL C言語インタフェースの概要
1.1.2
ASL C言語インタフェース の特長
1.2
ライブラリの種類
1.3
マニュアルについて
1.3.1
『概 要』
1.3.2
関数説明文の構成
1.3.3
各項目の内容
1.4
関数名
1.5
ASL C言語インタフェースの複素数型
1.6
注意事項

ページの先頭へ

第 2 章  格納モードの変換

2.1
概 要
2.1.1
使用しているアルゴリズム
2.1.1.1
実バンド行列の格納モードの変換
2.1.1.2
実対称バンド行列の格納モードの変換
2.1.1.3
スパース行列の列方向1次元リスト型格納
2.1.1.4
スパース行列のELLPACK型格納
2.2
格納モードの変換
2.2.1
ASL_dabmcs, ASL_rabmcs
実バンド行列の格納モードの変換 : (2次元配列型) から (バンド型) へ
2.2.2
ASL_dabmel, ASL_rabmel
実バンド行列の格納モードの変換 : (バンド型) から (2次元配列型) へ
2.2.3
ASL_dasbcs, ASL_rasbcs
実対称バンド行列の格納モードの変換 : (2次元配列型) (上三角型) から (対称バンド型) へ
2.2.4
ASL_dasbel, ASL_rasbel
実対称バンド行列の格納モードの変換 : (対称バンド型) から (2次元配列型) (上三角型) へ
2.2.5
ASL_darsjd, ASL_rarsjd
スパース行列の格納モードの変換 : (実対称行方向1次元リスト型) (上三角型) から (JAD格納型) へ
2.2.6
ASL_dargjm, ASL_rargjm
スパース行列の格納モードの変換 : (実行方向1次元ブロックリスト型) から (MJAD格納型) へ
2.2.7
ASL_zarsjd, ASL_carsjd
スパース行列の格納モードの変換 : (エルミート行方向1次元リスト型) (上三角型) から (JAD格納型) へ
2.2.8
ASL_zargjm, ASL_cargjm
スパース行列の格納モードの変換 : (複素行方向1次元ブロックリスト型) から (MJAD格納型) へ
2.2.9
ASL_dxa005, ASL_rxa005
スパース行列の格納モードの変換 : (列方向1次元リスト型) から (ELLPACK型) へ

ページの先頭へ

第 3 章  基本行列演算

3.1
概 要
3.1.1
使用しているアルゴリズム
3.1.1.1
実行列の積の計算 (速度優先型)
3.2
基本演算
3.2.1
ASL_dam1ad, ASL_ram1ad
実行列 (2次元配列型) の和 (C=A+B)
3.2.2
ASL_dam1sb, ASL_ram1sb
実行列 (2次元配列型) の差 (C=A-B)
3.2.3
ASL_dam1mu, ASL_ram1mu
実行列 (2次元配列型) の積 (C=AB)
3.2.4
ASL_dam1ms, ASL_ram1ms
実行列 (2次元配列型) の積 (C=AB) の計算 (速度優先版)
3.2.5
ASL_damt1m, ASL_ramt1m
実行列 (2次元配列型) とその転置行列の積 (B=AAT)
3.2.6
ASL_datm1m, ASL_ratm1m
実行列 (2次元配列型) の転置行列と元の行列の積 (B=ATA)
3.2.7
ASL_dam1mm, ASL_ram1mm
実行列 (2次元配列型) の積 (C=C± AB)
3.2.8
ASL_dam1mt, ASL_ram1mt
実行列 (2次元配列型) の積 (C=C± ABT)
3.2.9
ASL_dam1tm, ASL_ram1tm
実行列 (2次元配列型) の積 (C=C± ATB)
3.2.10
ASL_dam1tt, ASL_ram1tt
実行列 (2次元配列型) の積 (C=C± ATBT)
3.2.11
ASL_zam1mm, ASL_cam1mm
複素行列 (2次元配列型) (実数引数型) の積 (C=C± AB)
3.2.12
ASL_zam1mh, ASL_cam1mh
複素行列 (2次元配列型) (実数引数型) の積 (C=C± AB*)
3.2.13
ASL_zam1hm, ASL_cam1hm
複素行列 (2次元配列型) (実数引数型) の積 (C=C± A*B)
3.2.14
ASL_zam1hh, ASL_cam1hh
複素行列 (2次元配列型) (実数引数型) の積 (C=C± A*B*)
3.2.15
ASL_zan1mm, ASL_can1mm
複素行列 (2次元配列型) (複素引数型) の積 (C=C± AB)
3.2.16
ASL_zan1mh, ASL_can1mh
複素行列 (2次元配列型) (複素引数型) の積 (C=C± AB*)
3.2.17
ASL_zan1hm, ASL_can1hm
複素行列 (2次元配列型) (複素引数型) の積 (C=C± A*B)
3.2.18
ASL_zan1hh, ASL_can1hh
複素行列 (2次元配列型) (複素引数型) の積 (C=C± A*B*)
3.2.19
ASL_dam1vm, ASL_ram1vm
実行列 (2次元配列型) とベクトルの積 (y=Ax)
3.2.20
ASL_dam3vm, ASL_ram3vm
実バンド行列 A (バンド型) とベクトルの積 (y=Ax)
3.2.21
ASL_dam4vm, ASL_ram4vm
実対称バンド行列 (対称バンド型) とベクトルの積 (y=Ax)
3.2.22
ASL_dam1tp, ASL_ram1tp
実行列 (2次元配列型) の転置 (B=AT)
3.2.23
ASL_dam3tp, ASL_ram3tp
実バンド行列 (バンド型) の転置 (B=AT)
3.2.24
ASL_damvj1, ASL_ramvj1
実不規則スパース行列 (JAD型) の行列ベクトル積 (y=βy+αAx)
3.2.25
ASL_damvj3, ASL_ramvj3
実不規則スパース行列 (MJAD型:3 x 3ブロック行列) の行列ベクトル積 (y=βy+αAx)
3.2.26
ASL_damvj4, ASL_ramvj4
実不規則スパース行列 (MJAD型:4 x 4ブロック行列) の行列ベクトル積 (y=βy+αAx)
3.2.27
ASL_zanvj1, ASL_canvj1
複素不規則スパース行列 (JAD型) の行列ベクトル積 (y=βy+αAx)

ページの先頭へ

第 4 章  固有値・固有ベクトル

4.1
概 要
4.1.1
使用上の注意
4.1.2
使用しているアルゴリズム
4.1.2.1
実行列のヘッセンベルグ (Hessenberg) 行列への変換
4.1.2.2
複素行列のヘッセンベルグ行列への変換
4.1.2.3
実行列, 複素行列の平衡化
4.1.2.4
QR法, ダブルQR法
4.1.2.5
実対称行列の実対称3重対角行列への変換
4.1.2.6
エルミート (Hermitian) 行列の実対称3重対角行列への変換
4.1.2.7
ブロックアルゴリズムによるハウスホルダー変換
4.1.2.8
実対称バンド行列の実対称3重対角行列への変換
4.1.2.9
QR法
4.1.2.10
無平方根QR法
4.1.2.11
バイセクション法
4.1.2.12
ブロックアルゴリズムによる相似 (ユニタリ) 変換の累積
4.1.2.13
逆反復法
4.1.2.14
一般化固有値問題
4.1.2.15
QZ法, コンビネーションシフトQZ法
4.1.2.16
サブスペース法
4.1.2.17
スツルム列チェック
4.1.2.18
Jacobi-Davidson法
4.1.2.19
Jacobi-Davidson法のための前処理
4.1.3
参考文献
4.2
実行列 (2次元配列型) (実数引数型)
4.2.1
ASL_dcgeaa, ASL_rcgeaa
実行列の全固有値・全固有ベクトル
4.2.2
ASL_dcgean, ASL_rcgean
実行列の全固有値
4.3
実行列 (2次元配列型) (複素引数型)
4.3.1
ASL_dcgnaa, ASL_rcgnaa
実行列の全固有値・全固有ベクトル
4.3.2
ASL_dcgnan, ASL_rcgnan
実行列の全固有値
4.4
複素行列 (2次元配列型) (実数引数型)
4.4.1
ASL_zcgeaa, ASL_ccgeaa
複素行列の全固有値・全固有ベクトル
4.4.2
ASL_zcgean, ASL_ccgean
複素行列の全固有値
4.5
複素行列 (2次元配列型) (複素引数型)
4.5.1
ASL_zcgnaa, ASL_ccgnaa
複素行列の全固有値・全固有ベクトル
4.5.2
ASL_zcgnan, ASL_ccgnan
複素行列の全固有値
4.6
実対称行列 (2次元配列型) (上三角型)
4.6.1
ASL_dcsmaa, ASL_rcsmaa
実対称行列の全固有値・全固有ベクトル
4.6.2
ASL_dcsman, ASL_rcsman
実対称行列の全固有値
4.6.3
ASL_dcsmss, ASL_rcsmss
実対称行列の固有値・固有ベクトル
4.6.4
ASL_dcsmsn, ASL_rcsmsn
実対称行列の固有値
4.6.5
ASL_dcsmee, ASL_rcsmee
実対称行列の固有値・固有ベクトル (区間指定)
4.6.6
ASL_dcsmen, ASL_rcsmen
実対称行列の固有値 (区間指定)
4.7
エルミート行列 (2次元配列型) (上三角型) (実数引数型)
4.7.1
ASL_zchraa, ASL_cchraa
エルミート行列の全固有値・全固有ベクトル
4.7.2
ASL_zchran, ASL_cchran
エルミート行列の全固有値
4.7.3
ASL_zchrss, ASL_cchrss
エルミート行列の固有値・固有ベクトル
4.7.4
ASL_zchrsn, ASL_cchrsn
エルミート行列の固有値
4.7.5
ASL_zchree, ASL_cchree
エルミート行列の固有値・固有ベクトル (区間指定)
4.7.6
ASL_zchren, ASL_cchren
エルミート行列の固有値 (区間指定)
4.8
エルミート行列 (2次元配列型) (上三角型) (複素引数型)
4.8.1
ASL_zcheaa, ASL_ccheaa
エルミート行列の全固有値・全固有ベクトル
4.8.2
ASL_zchean, ASL_cchean
エルミート行列の全固有値
4.8.3
ASL_zchess, ASL_cchess
エルミート行列の固有値・固有ベクトル
4.8.4
ASL_zchesn, ASL_cchesn
エルミート行列の固有値
4.8.5
ASL_zcheee, ASL_ccheee
エルミート行列の固有値・固有ベクトル (区間指定)
4.8.6
ASL_zcheen, ASL_ccheen
エルミート行列の固有値 (区間指定)
4.9
実対称バンド行列 (対称バンド型)
4.9.1
ASL_dcsbaa, ASL_rcsbaa
実対称バンド行列の全固有値・全固有ベクトル
4.9.2
ASL_dcsban, ASL_rcsban
実対称バンド行列の全固有値
4.9.3
ASL_dcsbss, ASL_rcsbss
実対称バンド行列の固有値・固有ベクトル
4.9.4
ASL_dcsbsn, ASL_rcsbsn
実対称バンド行列の固有値
4.9.5
ASL_dcsbff, ASL_rcsbff
実対称バンド行列の固有値・固有ベクトル
4.10
実対称3重対角行列 (ベクトル型)
4.10.1
ASL_dcstaa, ASL_rcstaa
実対称3重対角行列の全固有値・全固有ベクトル
4.10.2
ASL_dcstan, ASL_rcstan
実対称3重対角行列の全固有値
4.10.3
ASL_dcstss, ASL_rcstss
実対称3重対角行列の固有値・固有ベクトル
4.10.4
ASL_dcstsn, ASL_rcstsn
実対称3重対角行列の固有値
4.10.5
ASL_dcstee, ASL_rcstee
実対称3重対角行列の固有値・固有ベクトル (区間指定)
4.10.6
ASL_dcsten, ASL_rcsten
実対称3重対角行列の固有値 (区間指定)
4.11
実対称不規則スパース行列
4.11.1
ASL_dcsrss, ASL_rcsrss
実対称スパース行列 (実対称1次元行方向リスト型) (上三角型) の固有値・固有ベクトル
4.11.2
ASL_dcsjss, ASL_rcsjss
実対称スパース行列 (JAD格納型) の固有値・固有ベクトル
4.12
エルミート不規則スパース行列
4.12.1
ASL_zchjss, ASL_cchjss
エルミートスパース行列 (JAD格納型) の固有値・固有ベクトル
4.13
実行列 (2次元配列型) の一般化固有値問題
4.13.1
ASL_dcggaa, ASL_rcggaa
実行列 (一般化固有値問題) の全固有値・全固有ベクトル
4.13.2
ASL_dcggan, ASL_rcggan
実行列 (一般化固有値問題) の全固有値
4.14
実対称行列 (2次元配列型) (上三角型) の一般化固有値問題 (Ax = λBx)
4.14.1
ASL_dcgsaa, ASL_rcgsaa
実対称行列 (一般化固有値問題 Ax = λBx, B: 正定値) の全固有値・全固有ベクトル
4.14.2
ASL_dcgsan, ASL_rcgsan
実対称行列 (一般化固有値問題 Ax = λBx, B: 正定値) の全固有値
4.14.3
ASL_dcgsss, ASL_rcgsss
実対称行列 (一般化固有値問題 Ax = λBx, B: 正定値) の固有値・固有ベクトル
4.14.4
ASL_dcgssn, ASL_rcgssn
実対称行列 (一般化固有値問題 Ax = λBx, B: 正定値) の固有値
4.14.5
ASL_dcgsee, ASL_rcgsee
実対称行列 (一般化固有値問題 Ax = λBx, B: 正定値) の固有値・固有ベクトル (区間指定)
4.14.6
ASL_dcgsen, ASL_rcgsen
実対称行列 (一般化固有値問題 Ax = λBx, B: 正定値) の固有値 (区間指定)
4.15
実対称行列 (2次元配列型) (上三角型) の一般化固有値問題 (ABx = λx)
4.15.1
ASL_dcgjaa, ASL_rcgjaa
実対称行列 (一般化固有値問題 ABx = λx, B: 正定値) の全固有値・全固有ベクトル
4.15.2
ASL_dcgjan, ASL_rcgjan
実対称行列 (一般化固有値問題 ABx = λx, B: 正定値) の全固有値
4.16
実対称行列 (2次元配列型) (上三角型) の一般化固有値問題 (BAx = λx)
4.16.1
ASL_dcgkaa, ASL_rcgkaa
実対称行列 (一般化固有値問題 BAx = λx, B: 正定値) の全固有値・全固有ベクトル
4.16.2
ASL_dcgkan, ASL_rcgkan
実対称行列 (一般化固有値問題 BAx = λx, B: 正定値) の全固有値
4.17
エルミート行列 (2次元配列型) (上三角型) (実数引数型) の一般化固有値問題 (Az = λBz)
4.17.1
ASL_zcgraa, ASL_ccgraa
エルミート行列 (一般化固有値問題 Az = λBz, B: 正定値) の全固有値・全固有ベクトル
4.17.2
ASL_zcgran, ASL_ccgran
エルミート行列 (一般化固有値問題 Az = λBz, B: 正定値) の全固有値
4.18
エルミート行列 (2次元配列型) (上三角型) (複素引数型) の一般化固有値問題 (Az = λBz)
4.18.1
ASL_zcghaa, ASL_ccghaa
エルミート行列 (一般化固有値問題 Az = λBz, B: 正定値) の全固有値・全固有ベクトル
4.18.2
ASL_zcghan, ASL_ccghan
エルミート行列 (一般化固有値問題 Az = λBz, B: 正定値) の全固有値
4.19
エルミート行列 (2次元配列型) (上三角型) (実数引数型) の一般化固有値問題 (ABz = λz)
4.19.1
ASL_zcgjaa, ASL_ccgjaa
エルミート行列 (一般化固有値問題 ABz = λz, B: 正定値) の全固有値・全固有ベクトル
4.19.2
ASL_zcgjan, ASL_ccgjan
エルミート行列 (一般化固有値問題 ABz = λz, B: 正定値) の全固有値
4.20
エルミート行列 (2次元配列型) (上三角型) (実数引数型) の一般化固有値問題 (BAz = λz)
4.20.1
ASL_zcgkaa, ASL_ccgkaa
エルミート行列 (一般化固有値問題 BAz = λz, B: 正定値) の全固有値・全固有ベクトル
4.20.2
ASL_zcgkan, ASL_ccgkan
エルミート行列 (一般化固有値問題 BAz = λz, B: 正定値) の全固有値
4.21
実対称バンド行列 (対称バンド型) の一般化固有値問題
4.21.1
ASL_dcgbff, ASL_rcgbff
実対称バンド行列 (一般化固有値問題) の固有値・固有ベクトル

ページの先頭へ

付 録

付 録A
用語説明
付 録B
配列データの取扱い方法
B.1
行列に対応した配列データ
B.2
データの格納方法
B.2.1
実行列 (2次元配列型)
B.2.2
複素行列
B.2.3
実対称行列, 正値対称行列
B.2.4
エルミート行列
B.2.5
実バンド行列 (バンド型)
B.2.6
実対称バンド行列, 正値対称バンド行列 (対称バンド型)
B.2.7
実対称3重対角行列, 正値対称3重対角行列 (ベクトル型)
B.2.8
三角行列
B.2.9
不規則スパース行列 (対称行列専用)
B.2.10
不規則スパース行列
B.2.11
エルミートスパース行列 (エルミート行方向1次元リスト型) (上三角型)
付 録C
ASL で使用している計算機依存定数
C.1
誤差判定のための単位
C.2
浮動小数点データの値の最大値・最小値