https://www.intel.com/content/www/us/en/develop/documentation/get-started-with-intel-oneapi-base-hpc-macos/top/before-you-begin.html?cid=oth&campid=iags_install&source=installer?cid=oth&campid=iags_install&source=installer. /opt/intel/oneapi/setvars.sh
(4) 簡単なプログラム a.f を作って実行してみた。
implicit complex*16(a-h,o-z)
write(*,*) "input a,b,c"
read(*,*) a,b,c
x1=(-b+sqrt(b**2-4*a*c))/2
x2=(-b-sqrt(b**2-4*a*c))/2
write(*,*) " x1= ",x1," x2= ",x2
end
$ ifort a.f
$ ./a.out
$ input a,b,c
$ 1,1,1
$ x1= (-0.500000000000000,0.866025403784439) x2=
(-0.500000000000000,-0.866025403784439)
できた。
SIN基底とQUADPACKによる1次元時間依存しないシュレーディンガー方程式のページの例題も試してみる。調和振動子のエネルギー準位が再現できた。なお,行列の対角化ライブラリがはいっているインテル・マス・カーネルライブラリのオプション -mkl を -qmkl にせよとの警告がでていた。
$ ifort -qmkl quadpack.f90 main.f90
$ ls
a.out main.f90 quadpack.f90
$ ./a.out
1 0.499999999999997
2 1.50000000000004
3 2.50000000000008
4 3.50000000000073
5 4.50000000003176
6 5.50000000018886
7 6.50000000502383
8 7.50000002123218
9 8.50000037227348
10 9.50000121353051
0 件のコメント:
コメントを投稿