๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ48

๋ฆฌ๋ˆ…์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฒฝ๋กœ ์ถ”๊ฐ€ Linux library path setting 1. LD_LIBRARY_PATH ํ™˜๊ฒฝ ๋ณ€์ˆ˜(environment variable) ์ด์šฉํ•˜์—ฌ shared library ์ฐธ์กฐ $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/usr/work/mylib ์ด ์„ค์ •์€ ์˜๊ตฌ์ ์ด์ง€ ์•Š์•„ ํ„ฐ๋ฏธ๋„์„ ๋‹ซ์œผ๋ฉด ์‚ฌ๋ผ์ง„๋‹ค. 2. ~/.bashrc ์ง์ ‘ ์ˆ˜์ • bashrc๋Š” ๋ณ„์นญ(alias)๊ณผ bash๊ฐ€ ์ˆ˜ํ–‰๋  ๋•Œ ์‹คํ–‰๋˜๋Š” ํ•จ์ˆ˜๋ฅผ ์ œ์–ดํ•˜๋Š” ์ง€์—ญ์ ์ธ ์‹œ์Šคํ…œ ์„ค์ •๊ณผ ๊ด€๋ จ๋œ ํŒŒ์ผ๋กœ์จ, ๋ชจ๋“  ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜๊ธฐ ์ „ ์ˆ˜ํ–‰๋œ๋‹ค. vi ~/.bashrc (ํŒŒ์ผ๋ช… ์•ž์˜ .์€ ์ˆจ๊น€ํŒŒ์ผ์„ ์˜๋ฏธ) export LD_LIBRARY_PATH=/home/user/work/mylib:${LD_LIBRARY_PATH} ์œ„์˜ ๋ช…๋ น์–ด๋ฅผ ์ถ”๊ฐ€ํ•ด์ฃผ๊ณ  ์ €์žฅ(:w) ํ•ด์ฃผ๋ฉด ์˜๊ตฌ์ .. 2015. 3. 20.
ํ‘œ์ค€ ํ…œํ”Œ๋ฆฟ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ STL; Standard Template Library STL(Standard Template Library, ํ‘œ์ค€ ํ…œํ”Œ๋ฆฟ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ) ์ผ๋ฐ˜์ ์œผ๋กœ ๋งŽ์ด ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ชจ์Œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ STL ์ค‘์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์ปจํ…Œ์ด๋„ˆ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค. ์ปจํ…Œ์ด๋„ˆ๋Š” int๋‚˜ float ๋“ฑ์˜ ๊ธฐ๋ณธ ์ž๋ฃŒํ˜•์ด๋‚˜ struct, class๊ฐ™์€ ์œ ์ € ์ •์˜ ์ž๋ฃŒํ˜•์„ ๋‹ด๋Š”๋‹ค. ์ข…๋ฅ˜๋กœ๋Š” list, vector, deque, map, set ๋“ฑ์ด ์žˆ๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ๋จผ์ € ์–ด๋–ค ๊ธฐ๋Šฅ์ด ์žˆ์–ด์•ผ ํ•˜๋Š”๊ฐ€๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. ํด๋ž˜์Šค๋Š” ๋ฉค๋ฒ„ ๋ณ€์ˆ˜์™€ ๋ฉค๋ฒ„ ํ•จ์ˆ˜๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. ์ด ๋•Œ ํ…œํ”Œ๋ฆฟ์„ ์ด์šฉํ•˜๋ฉด ์ด์นญํ™”๋œ ํƒ€์ž…์„ ์‚ฌ์šฉํ•˜๋Š” ํด๋ž˜์Šค์™€ ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํƒ€์ž…์— ์ œ์•ฝ์„ ๋ฐ›์ง€ ์•Š๋Š” ๋กœ์ง์„ ๊ธฐ์ˆ ํ•  ์ˆ˜ ์žˆ๋‹ค. Generic Programming์„ ์œ„ํ•ด์„œ๋Š” ๊ผญ.. 2015. 3. 18.
๋ฆฌ๋ˆ…์Šค ๋ช…๋ น์–ด Linux Commands ./ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ↑/↓ ์ด์ „ ๋˜๋Š” ๋‹ค์Œ์— ์ž…๋ ฅํ–ˆ๋˜ ๋ช…๋ น์–ด [tab] key ํด๋” ์ด๋ฆ„ ๋˜๋Š” ๋ช…๋ น์–ด ์ž๋™์™„์„ฑ ls ll ํŒŒ์ผ ๋ฆฌ์ŠคํŠธ ๋ณด๊ธฐ cd ๋””๋ ‰ํ† ๋ฆฌ ๋ณ€๊ฒฝ cd .. : ์ƒ์œ„ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™ cd ๋˜๋Š” cd~ : ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ๋ฐ”๋กœ ์ด๋™ cp ํŒŒ์ผ ๋ณต์‚ฌ(copy) cp test.c test.cpp : test.c์˜ ๋ณต์‚ฌ๋ณธ test.cpp ์ƒ์„ฑ cp /home/test/*.* : test ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด ๋ชจ๋“  ํŒŒ์ผ์„ ํ˜„ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ๋ณต์‚ฌ mv ํŒŒ์ผ๋ช… ๋ฐ ์œ„์น˜ ๋ณ€๊ฒฝ(rename or move) mv test.c test.cpp : test.c์˜ ์ด๋ฆ„์„ test.cpp๋กœ ๋ณ€๊ฒฝ mv test ~/home/test : test์˜ ์œ„์น˜๋ฅผ ํ•ด๋‹น ๊ฒฝ๋กœ๋กœ ๋ณ€๊ฒฝ mkdir ์ƒˆ ํด๋” ์ƒ์„ฑ rm ํŒŒ์ผ ์‚ญ์ œ rm test.c :.. 2015. 3. 16.
์„ ํ˜•๋ฐฉ์ •์‹์˜ ๋ฐ˜๋ณตํ•ด๋ฒ• Iterative Methods for Solving Linear Systems Ax=b ์—์„œ A์˜ ๋Œ€๊ฐ ํ–‰๋ ฌ์— 0์ด ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š์€ ๊ฒฝ์šฐ, ํ•ด x๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š” ํฌ๊ฒŒ ์ง์ ‘๋ฒ•(direct method)์™€ ๋ฐ˜๋ณต๋ฒ•(iterative method)์ด ์žˆ๋‹ค. ์ „์ž๋Š” ๋‹จ ํ•œ๋ฒˆ์˜ ํ–‰๋ ฌ ๊ณ„์‚ฐ์œผ๋กœ ์ •ํ™•ํ•œ ํ•ด๋ฅผ ๊ตฌํ•˜๋Š” ๋ฐ˜๋ฉด, ํ›„์ž๋Š” ํ–‰๋ ฌ ๊ณ„์‚ฐ์„ ๋ฐ˜๋ณตํ•˜์—ฌ ๊ทผ์‚ฌํ•ด(approximate solution)๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ํ–‰๋ ฌ์˜ ํฌ๊ธฐ๊ฐ€ ์ž‘๋‹ค๋ฉด ์ „์ž๊ฐ€ ํšจ๊ณผ์ ์ด์ง€๋งŒ ํ–‰๋ ฌ์˜ ํฌ๊ธฐ๊ฐ€ ์ปค์ง€๋ฉด ํ›„์ž๊ฐ€ ํšจ๊ณผ์ ์ด๋‹ค. ์ง์ ‘๋ฒ•์˜ ๊ฐ€์žฅ ๋Œ€ํ‘œ์ ์ธ ๋ฐฉ๋ฒ•์œผ๋กœ ๊ฐ€์šฐ์Šค ์†Œ๊ฑฐ๋ฒ•(Gauss elimination method)์„ ๋“ค ์ˆ˜๊ฐ€ ์žˆ๋‹ค๋ฉด, ๋ฐ˜๋ณต๋ฒ•์œผ๋กœ๋Š” ์•ผ์ฝ”๋น„ ๊ธฐ๋ฒ•(Jacobi iteration method)์„ ๋“ค ์ˆ˜ ์žˆ๋‹ค. Jacobi Iteration ์•ผ์ฝ”๋น„ ๋ฐฉ๋ฒ•์€ ๋‘ ๊ฐ€์ง€์˜ ๊ฐ€์ •์œผ๋กœ๋ถ€ํ„ฐ ์ถœ๋ฐœํ•œ๋‹ค. (1) ํ•ด๋‹น ๋ฐฉ์ •์‹์ด.. 2015. 3. 11.