LAPACK サンプルプログラム集 を写経してみます。
丁度日本語情報だったので。
http://www.nag-j.co.jp/lapack/lapack-ex/lapack-ex.html
ルーチン一覧
これだけ計算ができるようすね。
まぁ現時点では何のこっちゃさっぱりです。
- 実線形方程式
- 複素線形方程式
- 実線形最小二乗
- 複素線形最小二乗
- 実一般化線形最小二乗
- 複素一般化線形最小二乗
- 実対称固有値問題
- 複素エルミート固有値問題
- 実非対称固有値問題
- 複素非対称固有値問題
- 実一般化対称固有値問題
- 複素一般化エルミート固有値問題
- 実一般化非対称固有値問題
- 複素一般化非対称固有値問題
- 実特異値分解
- 複素特異値分解
- 実一般化特異値分解
- 複素一般化特異値分解
ルーチン明細
ルーチンのコードとそのコードを分解した 精度から処理内容の四つの列で一覧にしてみました。
カラム | 説明 | ex |
---|---|---|
名称 | ルーチンの名称。 | BGGSVX |
精度 | 最初の一桁。 | B |
行列の型 | 2-3桁。 | GG |
処理内容1 | 最後の三桁。 その三桁の前二桁。 | SV |
処理内容2 | 最後の一桁。 | X |
※ 処理内容は1と2に分割するのは間違いなのかもしれませんが法則性はありそうなのでとりあえず分離して一覧にしています。
実線形方程式
ルーチン | 精度 | 行列 の型 |
処理 内容1 |
処理 内容2 |
---|---|---|---|---|
DGBSV | D | GB | SV | --- |
DGBSVX | 〃 | 〃 | 〃 | X |
DGESV | 〃 | GE | 〃 | --- |
DGESVX | 〃 | 〃 | 〃 | X |
DGTSV | 〃 | GT | 〃 | --- |
DGTSVX | 〃 | 〃 | 〃 | X |
DPBSV | 〃 | PB | 〃 | --- |
DPBSVX | 〃 | 〃 | 〃 | X |
DPOSV | 〃 | PO | 〃 | --- |
DPOSVX | 〃 | 〃 | 〃 | X |
DPPSV | 〃 | PP | 〃 | --- |
DPPSVX | 〃 | 〃 | 〃 | X |
DPTSV | 〃 | PT | 〃 | --- |
DPTSVX | 〃 | 〃 | 〃 | X |
DSPSV | 〃 | SP | 〃 | --- |
DSPSVX | 〃 | 〃 | 〃 | X |
DSYSV | 〃 | SY | 〃 | --- |
DSYSVX | 〃 | 〃 | 〃 | X |
複素線形方程式
ルーチン | 精度 | 行列 の型 |
処理 内容1 |
処理 内容2 |
---|---|---|---|---|
ZGBSV | Z | GB | SV | --- |
ZGBSVX | 〃 | 〃 | 〃 | X |
ZGESV | 〃 | GE | 〃 | --- |
ZGESVX | 〃 | 〃 | 〃 | X |
ZGTSV | 〃 | GT | 〃 | --- |
ZGTSVX | 〃 | 〃 | 〃 | X |
ZHESV | 〃 | HE | 〃 | --- |
ZHESVX | 〃 | 〃 | 〃 | X |
ZHPSV | 〃 | HP | 〃 | --- |
ZHPSVX | 〃 | 〃 | 〃 | X |
ZPBSV | 〃 | PB | 〃 | --- |
ZPBSVX | 〃 | 〃 | 〃 | X |
ZPOSV | 〃 | PO | 〃 | --- |
ZPOSVX | 〃 | 〃 | 〃 | X |
ZPPSV | 〃 | PP | 〃 | --- |
ZPPSVX | 〃 | 〃 | 〃 | X |
ZPTSV | 〃 | PT | 〃 | --- |
ZPTSVX | 〃 | 〃 | 〃 | X |
ZSPSV | 〃 | SP | 〃 | --- |
ZSPSVX | 〃 | 〃 | 〃 | X |
ZSYSV | 〃 | SY | 〃 | --- |
ZSYSVX | 〃 | 〃 | 〃 | X |
実線形最小二乗
ルーチン | 精度 | 行列 の型 |
処理 内容1 |
処理 内容2 |
---|---|---|---|---|
DGELS | D | GE | LS | --- |
DGELSD | 〃 | 〃 | 〃 | D |
DGELSS | 〃 | 〃 | 〃 | S |
DGELSY | 〃 | 〃 | 〃 | Y |
複素線形最小二乗
ルーチン | 精度 | 行列 の型 |
処理 内容1 |
処理 内容2 |
---|---|---|---|---|
ZGELS | Z | GE | LS | --- |
ZGELSD | 〃 | 〃 | 〃 | D |
ZGELSS | 〃 | 〃 | 〃 | S |
ZGELSY | 〃 | 〃 | 〃 | Y |
実一般化線形最小二乗
ルーチン | 精度 | 行列 の型 |
処理 内容1 |
処理 内容2 |
---|---|---|---|---|
DGGLSE | D | GG | LS | E |
DGGGLM | 〃 | 〃 | GL | M |
複素一般化線形最小二乗
ルーチン | 精度 | 行列 の型 |
処理 内容1 |
処理 内容2 |
---|---|---|---|---|
ZGGLSE | Z | GG | LS | E |
ZGGGLM | 〃 | 〃 | GL | M |
実対称固有値問題
ルーチン | 精度 | 行列 の型 |
処理 内容1 |
処理 内容2 |
---|---|---|---|---|
DSBEV | D | SB | EV | --- |
DSBEVD | 〃 | 〃 | 〃 | D |
DSBEVX | 〃 | 〃 | 〃 | X |
DSPEV | 〃 | SP | 〃 | --- |
DSPEVD | 〃 | 〃 | 〃 | D |
DSPEVX | 〃 | 〃 | 〃 | X |
DSTEV | 〃 | ST | 〃 | --- |
DSTEVD | 〃 | 〃 | 〃 | D |
DSTEVR | 〃 | 〃 | 〃 | R |
DSTEVX | 〃 | 〃 | 〃 | X |
DSYEV | 〃 | SY | 〃 | --- |
DSYEVD | 〃 | 〃 | 〃 | D |
DSYEVR | 〃 | 〃 | 〃 | R |
DSYEVX | 〃 | 〃 | 〃 | X |
複素エルミート固有値問題
ルーチン | 精度 | 行列 の型 |
処理 内容1 |
処理 内容2 |
---|---|---|---|---|
ZHBEV | Z | HB | EV | --- |
ZHBEVD | 〃 | 〃 | 〃 | D |
ZHBEVX | 〃 | 〃 | 〃 | X |
ZHEEV | 〃 | HE | 〃 | --- |
ZHEEVD | 〃 | 〃 | 〃 | D |
ZHEEVR | 〃 | 〃 | 〃 | R |
ZHEEVX | 〃 | 〃 | 〃 | X |
ZHPEV | 〃 | HP | 〃 | --- |
ZHPEVD | 〃 | 〃 | 〃 | D |
ZHPEVX | 〃 | 〃 | 〃 | X |
実非対称固有値問題
ルーチン | 精度 | 行列 の型 |
処理 内容1 |
処理 内容2 |
---|---|---|---|---|
DGEEV | D | GE | EV | --- |
DGEEVX | 〃 | 〃 | 〃 | X |
DGEES | 〃 | 〃 | ES | --- |
DGEESX | 〃 | 〃 | 〃 | X |
複素非対称固有値問題
ルーチン | 精度 | 行列 の型 |
処理 内容1 |
処理 内容2 |
---|---|---|---|---|
ZGEEV | Z | GE | EV | --- |
ZGEEVX | 〃 | 〃 | 〃 | X |
ZGEES | 〃 | 〃 | ES | --- |
ZGEESX | 〃 | 〃 | 〃 | X |
実一般化対称固有値問題
ルーチン | 精度 | 行列 の型 |
処理 内容1 |
処理 内容2 |
---|---|---|---|---|
DSBGV | D | SB | GV | --- |
DSBGVD | 〃 | 〃 | 〃 | D |
DSBGVX | 〃 | 〃 | 〃 | X |
DSPGV | 〃 | SP | 〃 | --- |
DSPGVD | 〃 | 〃 | 〃 | D |
DSPGVX | 〃 | 〃 | 〃 | X |
DSYGV | 〃 | SY | 〃 | --- |
DSYGVD | 〃 | 〃 | 〃 | D |
DSYGVX | 〃 | 〃 | 〃 | X |
複素一般化エルミート固有値問題
ルーチン | 精度 | 行列 の型 |
処理 内容1 |
処理 内容2 |
---|---|---|---|---|
ZHBGV | Z | HB | GV | --- |
ZHBGVD | 〃 | 〃 | 〃 | D |
ZHBGVX | 〃 | 〃 | 〃 | X |
ZHEGV | 〃 | HE | 〃 | --- |
ZHEGVD | 〃 | 〃 | 〃 | D |
ZHEGVX | 〃 | 〃 | 〃 | X |
ZHPGV | 〃 | HP | 〃 | --- |
ZHPGVD | 〃 | 〃 | 〃 | D |
ZHPGVX | 〃 | 〃 | 〃 | X |
実一般化非対称固有値問題
ルーチン | 精度 | 行列 の型 |
処理 内容1 |
処理 内容2 |
---|---|---|---|---|
DGGEV | D | GG | EV | --- |
DGGEVX | 〃 | 〃 | 〃 | X |
DGGES | 〃 | 〃 | ES | --- |
DGGESX | 〃 | 〃 | 〃 | X |
複素一般化非対称固有値問題
ルーチン | 精度 | 行列 の型 |
処理 内容1 |
処理 内容2 |
---|---|---|---|---|
ZGGEV | Z | GG | EV | --- |
ZGGEVX | 〃 | 〃 | 〃 | X |
ZGGES | 〃 | 〃 | ES | --- |
ZGGESX | 〃 | 〃 | 〃 | X |
実特異値分解
ルーチン | 精度 | 行列 の型 |
処理 内容1 |
処理 内容2 |
---|---|---|---|---|
DGESDD | D | GE | SD | D |
DGESVD | 〃 | 〃 | SV | D |
複素特異値分解
ルーチン | 精度 | 行列 の型 |
処理 内容1 |
処理 内容2 |
---|---|---|---|---|
ZGESDD | Z | GE | SD | D |
ZGESVD | 〃 | 〃 | SV | D |
実一般化特異値分解
ルーチン | 精度 | 行列 の型 |
処理 内容1 |
処理 内容2 |
---|---|---|---|---|
DGGSVD | D | GG | SV | D |
複素一般化特異値分解
ルーチン | 精度 | 行列 の型 |
処理 内容1 |
処理 内容2 |
---|---|---|---|---|
ZGGSVD | Z | GG | SV | D |
各カラムの説明
各カラムの説明を書きます。
ここを参照に。
わからないものもあるのでそこは???
にしてスルーしています。
精度
値 | 説明(英語) | 説明(日本語) |
---|---|---|
S | REAL | 単精度の実数 |
D | DOUBLE PRECISION | 倍精度の実数 |
C | COMPLEX | 単精度の複素数 |
Z | COMPLEX*16 or DOUBLE COMPLEX | 倍精度の複素数 |
行列の型
値 | 説明 |
---|---|
BD | bidiagonal |
DI | diagonal |
GB | general band |
GE | general (i.e., unsymmetric, in some cases rectangular) |
GG | general matrices, generalized problem (i.e., a pair of general matrices) |
GT | general tridiagonal |
HB | (complex) Hermitian band |
HE | (complex) Hermitian |
HG | upper Hessenberg matrix, generalized problem (i.e a Hessenberg and a triangular matrix) |
HP | (complex) Hermitian, packed storage |
HS | upper Hessenberg |
OP | (real) orthogonal, packed storage |
OR | (real) orthogonal |
PB | symmetric or Hermitian positive definite band |
PO | symmetric or Hermitian positive definite |
PP | symmetric or Hermitian positive definite, packed storage |
PT | symmetric or Hermitian positive definite tridiagonal |
SB | (real) symmetric band |
SP | symmetric, packed storage |
ST | (real) symmetric tridiagonal |
SY | symmetric |
TB | triangular band |
TG | triangular matrices, generalized problem (i.e., a pair of triangular matrices) |
TP | triangular, packed storage |
TR | triangular (or in some cases quasi-triangular) |
TZ | trapezoidal |
UN | (complex) unitary |
UP | (complex) unitary, packed storage |
処理内容1
値 | 説明 |
---|---|
ES | ??? |
EV | ??? |
GL | ??? |
GV | ??? |
LS | ??? |
SD | ??? |
SV | 線型方程式系の処理 |
処理内容2
値 | 説明 |
---|---|
D | ??? |
E | ??? |
M | ??? |
R | ??? |
S | ??? |
X | ??? |
Y | ??? |
おわり
線型代数学勉強しなおすので今後は LAPACK にお世話になりそう。
今後数学起点としたプログラミングスキルを伸ばしたいので。