Macでlapackを使う
連立一次方程式を解くのにlapackという数値計算用のフリーのライブラリがあることを知ったので、ちょっと使ってみた。環境はM1Macです。
1.インストール
→homebrewでできる
インストールすると...
For compilers to find lapack you may need to set:
export LDFLAGS="-L/opt/homebrew/opt/lapack/lib"
export CPPFLAGS="-I/opt/homebrew/opt/lapack/include"
と言われる。この通りexportしてあげれば良いみたい。
2.連立一次方程式を解いてみる
倍精度で解くには DGESVというサブルーチンを使う
n次方程式:Ax = b
call DGESV(N, NRHS, A, LDA, IPIV, B, LDB, INFO)
で呼び出せる。
N, LDA, LDBはnで大丈夫ぽい
NRHSはBの列数 1でOK
A:n×nの係数行列 B: 1×nのベクトル(既知)
IPIV: integer,dimension(n)
Info: integer
このサブルーチンを呼び出すとbに解が格納される。
write(6,*) b
としてしまえば解を出力できる。
gfortran ~.f90 -llapack
とすれば出来た。
詳しく知りたければ
とか
とか
とかを見てみると良さそうです。(参考にさせていただきました)