์ธ์ฌ๋ง,
lapack ๋ฆฌ์์ค๋ฅผ github์ผ๋ก ์ด์ ํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
i) ์ด์ ์ ๋ณด๊ณ ๋ ๋ฒ๊ทธ์ธ http://icl.cs.utk.edu/lapack-forum/viewtopic.php?f=2&t=1820#p11388 ์ ์ต์ lapack-3.7.0๊ณผ ํจ๊ป ํ์ํ๊ณ ์ถ์ต๋๋ค. ์ฌ๊ธฐ์์๋ณด๊ณ ํ๋ ๊ฒ์ฒ๋ผ https://github.com/miroi/lapack-dsyevr-test .
lapack ๋ฒ๊ทธ ์ถ์ ๊ธฐ( http://www.netlib.org/lapack/bug_list.html - bug 126)๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ด ๋ถ์พํ ๋ฒ๊ทธ๋ฅผ ์ฒ๋ฆฌํ๊ณ ์์ต๋๋ค. ๋ง์ต๋๊น?
ii) ์ด ํน์ ๋ฒกํฐ ์ง๊ต์ฑ ํ ์คํธ( https://github.com/miroi/lapack-dsyevr-test )๋ฅผ ์์ ๋กญ๊ฒ ์ํํ๊ณ lapack ํ ์คํธ์ ์ถ๊ฐํ ์ ์์ต๋๋ค.
๋ฒ ์คํธ, ๋ฏธ๋ก
Miro๋, BUG 126์ GitHub ๋ฌธ์ ๋ก ์ถ๊ฐํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ์ด๊ฒ์ ํ๋ฅญํฉ๋๋ค. Osni( @oamarques )๋ #100 ์์ ์ ํ๊ณ ์์ต๋๋ค. ํ ์คํธ ์ฝ๋๋ฅผ ๊ณต์ ํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ๋ค, LAPACK์ ์ํ ์๋ก์ด ํ ์คํธ ์ค์ํธ๋ฅผ ์์ ํ ๊ณํ์ด ์์ผ๋ฉฐ ์ด๋ค ๋ถ์พํ ๋งคํธ๋ฆญ์ค๋ ํ์ํฉ๋๋ค. Osni์๋ ์ด๋ฌํ ๋งคํธ๋ฆญ์ค๊ฐ ๋ง์ด ์์ผ๋ฉฐ ๋ชฉํ๋ ํ ์คํธ๋ฅผ ์ํ ์ธํ๋ผ์ ํจ๊ป ์ด๋ฌํ ๋งคํธ๋ฆญ์ค ์ปฌ๋ ์ ์ ์ฑ์ฅ์ํค๋ ๊ฒ์ ๋๋ค. ์ด์จ๋ BUG 126์ GitHub ๋ฌธ์ ๋ก ์ถ๊ฐํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ์ด๊ฒ์ ํ๋ฅญํฉ๋๋ค. ๊ฑด๋ฐฐ, ์ค๋ฆฌ์.
์ด ๋ฒ๊ทธ๋ ํด๋น ์์ค ํ์ผ์ 606ํ์์ ์์ํ๋ DSTEMR์์ ์ฌ์ฉ๋๋ ๋ถํ ๊ธฐ์ค๊ณผ ๊ด๋ จ์ด ์์ต๋๋ค(LAPACK 3.7.0์์์ ๊ฐ์ด). ์ ๋ ฅ ๋ณ์ TRYRAC๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์๋ธ๋ฃจํด DLARRR์ INFO=1์ ๋ฐํํฉ๋๋ค(์ด๋ DLARRR์ ์์ ๋์๊ณผ ๋ชจ์๋๋ ๊ฒ์ผ๋ก ๋ณด์ ๋๋ค). ์ด๋ ๊ฒฐ๊ณผ์ ์ผ๋ก ์ ๋ ฅ์ผ๋ก ์ ๋ฌ๋ (ํน์ ) ์ผ๋๊ฐ ํ๋ ฌ์ ์ ํดํ ๋ถํ ์ ํธ๋ฆฌ๊ฑฐํฉ๋๋ค. _DLARRR์ด ํ๋ ์ผ์ ๋ฌด์ํ๊ณ "๋ถํ ๊ธฐ์ค ์ค์ " ์ง์ ์ IINFO=0์ ์ค์ ํ๋ฉด ๋ฐํ๋ ๋ฒกํฐ๊ฐ ์ง๊ตํฉ๋๋ค. ์ ๋ฒ์ ์ DLARRF๋ฅผ ์ฌ์ฉํ ๋ ๋ฌธ์ 100์ ์ฐธ์กฐํ์ญ์์ค. ๊ทธ๋ฌ๋ ์ด๊ฒ์ ์ด ๋ฒ๊ทธ์ ๋ํ ์ ์ ํ ์์ ์ด ์๋๋๋ค. DLARRR์ ์ฌ๋ฐ๋ฅธ ๋์์ด ๋ฌด์์ธ์ง ํ์ ํด์ผ ํฉ๋๋ค._)
์๋ ํ์ธ์, ์ด ๋ฒ๊ทธ ํด๊ฒฐ์ ๊ดํ ์์์ด ์์ต๋๊น?
@oamarques ๊ธฐ๋ณธ DSTEMR ๋์ DSTEGR์ ์ฌ์ฉํ๋ฉด ์ด ๋ฌธ์ ๊ฐ ์ํ๋ฉ๋๊น?
@uihsnv : ์ข์ ์ง๋ฌธ์ ๋๋ค. STEGR์ ๋ ์ด์ ์ ์ง๋์ง ์์ต๋๋ค. ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ STEMR์ ๋ํด์๋ง ์์ ํ๊ณ ์ ์งํ๊ณ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์, STEGR์ด ์ด ๋ฌธ์ ์ ๋ํด ๋ฌด์์ ํ๋์ง ๋ณด๋ ๊ฒ์ด ์ข์ต๋๋ค.
@langou ์ค! ๋๋ ์๋ฌด ์๊ฐ์ด ์์๋ค!! ๋ด ์ฝ๋์์ ๋ช ๊ฐ์ง STEGR ์ธ์คํด์ค๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. STEMR์ ์ฌ์ฉํ๋๋ก ์ ํํด์ผ ํฉ๋๊น?
๋ํ @miroi ๊ฐ ๊ณต์ ํ ํ ์คํธ์ ์ผ๋ถ ์์ ์ ๊ฐํ๋๋ฐ, ์ด๋ฅผ ์๋ฝํ๋ฉด ์ฐจ์ด์ ์ ๋ณผ ์ ์์ต๋๋ค.
๋ด ์ฝ๋์์ ๋ช ๊ฐ์ง STEGR ์ธ์คํด์ค๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. STEMR์ ์ฌ์ฉํ๋๋ก ์ ํํด์ผ ํฉ๋๊น?
๊ทธ๋ ๊ฒ ์๊ฐ ํด์. @oamarques ๊ฐ ๊ณง ์ด์ ๋ํ ํ์ ์กฐ์น๋ฅผ ์ทจํ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
๋ํ @miroi ๊ฐ ๊ณต์ ํ ํ ์คํธ์ ์ผ๋ถ ์์ ์ ๊ฐํ๋๋ฐ, ์ด๋ฅผ ์๋ฝํ๋ฉด ์ฐจ์ด์ ์ ๋ณผ ์ ์์ต๋๋ค.
์์ ๋ ํ ์คํธ๋ฅผ @oamarques ์ ๊ณต์ ํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
์๋ ํ์ธ์, ์ด ๋ฒ๊ทธ์ ๋ํ ์์์ด ์์ต๋๊น? ๊ทธ๋ฆฌ๊ณ ์ "Documentation"์ด๋ผ๊ณ ์ด๋ฆ์ ๋ถ์์ต๋๊น?
๊ทธ๋๋ ์ ์ ํ lapack์ ์ด ์ค๋ฅ๋ฅผ ์ ๊ณตํฉ๋๋ค(gfortran 4.9.2๋ก ํ ์คํธ๋จ, https://github.com/miroi/lapack-dsyevr-test ).
~~~
DIRAC์ ๋๊ฐํ ๋ฃจํด ํ
์คํธ ํ๋ก๊ทธ๋จ์ ์ค์ ๊ฒ์ ํ์ํฉ๋๋ค!
์ฝ๊ธฐ N= 9 NZ= 1
๋๊ฐํ ํ๋ ฌ์ ์ฝ์์ต๋๋ค.
RS ์๋ธ๋ฃจํด์ ๋ํ ๋ฐฐ์ด์ด ํ ๋น๋จ
Eispack์ RS ๊ณ ์ ๊ฐ:
1 -1.5000000000000062
2 -1.5000000000000002
3 -1.4999999999999982
4 0.49999999999999772
5 0.49999999999999856
6 0.49999999999999994
7 0.50000000000000033
8 0.50000000000000122
9 2.4999999999999969
* ์์คํฉ RS *
U^{+} A U - eps ?= 0> norm/diag:0.1912D-15 norm/offdiag:0.1008D-15
U^{+} U - I ?= 0> norm/diag:0.2344D-15 norm/offdiag:0.7239D-16U U^{+} - I ?= 0> norm/diag:0.9869D-16 norm/offdiag:0.9320D-16
LAPACK DSYEVR ๊ณ ์ ๊ฐ:
1 -1.5000000000000056
2 -1.5000000000000009
3 -1.4999999999999973
4 0.49999999999999523
5 0.49999999999999867
6 0.49999999999999939
7 0.49999999999999950
8 0.50000000000000100
9 2.4999999999999862
* LAPACK DSYEVR *
U^{+} A U - eps ?= 0> norm/diag:0.1807D-14 norm/offdiag:0.9012D-07
U^{+} U - I ?= 0> norm/diag:0.2591D-15 norm/offdiag:0.1802D-06U U^{+} - I ?= 0> norm/diag:0.7543D-06 norm/offdiag:0.4951D-06
LAPACK DSTEGR ๊ณ ์ ๊ฐ:
1 -1.5000000000000056
2 -1.5000000000000009
3 -1.4999999999999973
4 0.49999999999999523
5 0.49999999999999867
6 0.49999999999999939
7 0.49999999999999950
8 0.50000000000000100
9 2.4999999999999862
* LAPACK DSYTRD+DSTEGR *
U^{+} A U - eps ?= 0> norm/diag:0.1617D+01 norm/offdiag:0.1644D+00
U^{+} U - I ?= 0> norm/diag:0.1234D-15 norm/offdiag:0.1802D-06U U^{+} - I ?= 0> normal/ diag:0.5411D- 06norm/ offdiag:0.2301D-06
~~~
์ด๊ฒ์ ๋ค์ ์ฝ์ ๋ ๋ฌดํ ๋ฃจํ๋ฅผ ์์ ํ๋ ค๋ ์๋๋ก ์ธํด ๋ฐ์ํ #100 ์์ ์ ๋ฌ๋ ค ์๋ ๊ฒ์ผ๋ก ๋ณด์ด๋ฉฐ(์ต๊ทผ์ ๋ด๊ฐ ์ ์ฌ์ ์๋ฃจ์ ์ ์ ๋ฌธ์ ์ผ๋ก ์ ์ํ๊ณ ์๋ค๊ณ ์๊ฐํจ) ๋ชจ๋ ๊ฒ์ด ๋ฌดํ ๋ฃจํ์ ๋น ์ก์ต๋๋ค. ์ด์์ ์ธ ์๋ฃจ์ ์ด ๋ฌด์์ธ์ง์ ๋ํ ์๊ตฌ์ฌ. 3.5.0์ผ๋ก ๋์๊ฐ์ #100์์ ์ธ๊ธํ ํ๋๊ทธ ๋ณ์๋ฅผ ๋ณ๊ฒฝํ๊ธฐ ์ ์ ์ด ๊ฒฝ์ฐ๊ฐ ์ด๋ป๊ฒ ์๋ํ๋์ง ํ์ธํ๋ ์ฌ๋์ด ์์ต๋๊น?
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ด ๋ฒ๊ทธ๋ ํด๋น ์์ค ํ์ผ์ 606ํ์์ ์์ํ๋ DSTEMR์์ ์ฌ์ฉ๋๋ ๋ถํ ๊ธฐ์ค๊ณผ ๊ด๋ จ์ด ์์ต๋๋ค(LAPACK 3.7.0์์์ ๊ฐ์ด). ์ ๋ ฅ ๋ณ์ TRYRAC๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์๋ธ๋ฃจํด DLARRR์ INFO=1์ ๋ฐํํฉ๋๋ค(์ด๋ DLARRR์ ์์ ๋์๊ณผ ๋ชจ์๋๋ ๊ฒ์ผ๋ก ๋ณด์ ๋๋ค). ์ด๋ ๊ฒฐ๊ณผ์ ์ผ๋ก ์ ๋ ฅ์ผ๋ก ์ ๋ฌ๋ (ํน์ ) ์ผ๋๊ฐ ํ๋ ฌ์ ์ ํดํ ๋ถํ ์ ํธ๋ฆฌ๊ฑฐํฉ๋๋ค. _DLARRR์ด ํ๋ ์ผ์ ๋ฌด์ํ๊ณ "๋ถํ ๊ธฐ์ค ์ค์ " ์ง์ ์ IINFO=0์ ์ค์ ํ๋ฉด ๋ฐํ๋ ๋ฒกํฐ๊ฐ ์ง๊ตํฉ๋๋ค. ์ ๋ฒ์ ์ DLARRF๋ฅผ ์ฌ์ฉํ ๋ ๋ฌธ์ 100์ ์ฐธ์กฐํ์ญ์์ค. ๊ทธ๋ฌ๋ ์ด๊ฒ์ ์ด ๋ฒ๊ทธ์ ๋ํ ์ ์ ํ ์์ ์ด ์๋๋๋ค. DLARRR์ ์ฌ๋ฐ๋ฅธ ๋์์ด ๋ฌด์์ธ์ง ํ์ ํด์ผ ํฉ๋๋ค._)