å¨lapackç½ç«ä¸è½½ææ°çlapack-3.4.2å缩å
ï¼è§£åã
å¨è§£ååçlapack-3.4.2ç®å½ä¸é¢æä¸ä¸ªmake.inc.exampleæ件ï¼å°å
¶æ¹ä¸ºmake.incã
ï¼å¦ææ¯gfortrançç¼è¯å¨ï¼ååºæ¬ä¸éè¦ä¿®æ¹è¿ä¸ªæ件ï¼
æmakefileæ件ä¸çï¼
lib: lapacklib tmglib
#lib: blaslib variants lapacklib tmglib
æ¹ä¸ºï¼
#lib: lapacklib tmglib
lib: blaslib variants lapacklib tmglib
ç¶åæå¼ç»ç«¯ï¼åæ¢å°å½åç®å½ï¼è¾å
¥ï¼sudo make å³å¯ã
æä½å°è¿é没ææ¥éã
ç¶åææ件夹ä¸é¢çliblapack.aï¼librefblas.aï¼libtmglib.a
ä¸ä¸ªåºæ·è´å°/usr/libã
å°è¯äºä¸ä¸ªç®åçç¨åºï¼
program Console1
external dgesv
integer n, lda, nrhs, ldb
parameter (n=2,lda=2,nrhs=1,ldb=2)
double precision A(lda,n)
double precision b(ldb,nrhs)
character byebye
integer ipiv(n), info, i, j
A(1,1)=1
A(1,2)=2
A(2,1)=3
A(2,2)=4
B(1,1)=5
B(2,1)=6
write(*,*) 'Hello World'
call
dgesv(n,nrhs,A,lda,ipiv,b,ldb,info)
write(*,*) 'INFO =', info
write(*,*) ((A(i,j),i=1,lda),j=1,n)
write(*,*) ((B(i,j),i=1,ldb),j=1,nrhs)
write(*,*) "END OF PROGRAM..."
end
program Console1
å¨ç»ç«¯è¾å
¥ï¼gfortran Console1.f -lblas
-llapack
å¨å½åç®å½å¾å°ï¼a.outæ件
å¨ç»ç«¯è¾å
¥ï¼./a.out
è¾åºç»æ为ï¼
Hello World
INFO =
0
3.0000000000000000
0.33333333333333331
4.0000000000000000
0.66666666666666663
-4.0000000000000000
4.5000000000000000
END OF PROGRAM...
æåï¼
温馨提示:答案为网友推荐,仅供参考