πŸ“•Week2 day5(인곡지λŠ₯ μˆ˜ν•™)

박쀀희·2023λ…„ 9μ›” 1일

ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€

λͺ©λ‘ 보기
12/28
post-thumbnail

인곡지λŠ₯ μˆ˜ν•™

κ°€μš°μŠ€ μ†Œκ±°λ²•


  • κ°€μš°μŠ€ μ†Œκ±°λ²•

    κ°€μš°μŠ€ μ†Œκ±°λ²•μ€ μž„μ˜μ˜ M*nμ„ ν˜•μ‹œμŠ€ν…œμ˜ ν•΄λ₯Ό κ΅¬ν•˜λŠ” κ°€μž₯ λŒ€ν‘œμ μΈ 방법이닀.

λ‘λ‹¨κ³„λ‘œ μˆ˜ν–‰
1.Forward elimination(μ „λ°©μ†Œκ±°λ²•): μ£Όμ–΄μ§„ μ„ ν˜• μ‹œμŠ€ν…œμ„ μ•„λž˜λ‘œ 갈수둝 더 λ‹¨μˆœν•œ ν˜€μ• μ˜ μ„ ν˜•λ°©μ •μ‹μ„ 가지도둝 λ³€ν˜•ν•œλ‹€.
2.back_substitution(ν›„λ°© μž„λŒ€λ²•): μ•„λž˜μ—μ„œλΆ€ν„° μœ„λ‘œ λ―Έμ§€μˆ˜λ₯Ό μ‹€μ œκ°’μœΌλ‘œ λŒ€μ²΄ν•œλ‹€.

μ „λ°©μ†Œκ±°λ²•
1번인 μ „λ°© μ†Œκ±°λ²•μ΄ 특히 μ€‘μš”ν•˜λ‹€.

μ „λ°©μ†Œκ±°λ²• μž₯점

  • μ£Όμ–΄μ§„ μ„ ν˜•μ‹œμŠ€ν…œμ„ κ°€μž₯ ν’€κΈ°μ‰¬μš΄ 꼴둜 λ³€ν˜•ν•΄μ€€λ‹€.
  • μ£Όμ–΄μ§„ μ„ ν˜•μ‹œμŠ€ν…œμ˜ rankλ₯Ό μ•Œλ €μ€€λ‹€.
  • μ„ ν˜•μ‹œμŠ€ν…œμ˜ ν•΄κ°€ μžˆλŠ”μ§€ ν•΄κ°€ μ—†λŠ”μ§€ μ•Œλ €μ€€λ‹€.

LUλΆ„ν•΄


μ£Όμ–΄μ§„ 행렬을 μ•„λž˜μ˜ ν˜•νƒœλ₯Ό κ°€μ§€λŠ” 두 ν–‰λ ¬μ˜ 곱으둜 λ‚˜λˆ„λŠ” ν–‰λ ¬λΆ„ν•΄

LUλΆ„ν•΄λŠ” κ°„λ‹¨ν•˜κ²Œ 밑에와 같은 μ„ ν˜• μ‹œμŠ€ν…œμœΌλ‘œ λ‚˜νƒ€λ‚Έλ‹€.
A=L*U
μ—¬κΈ°μ„œ L 은 ν•˜μ‚Όκ°ν–‰λ ¬, UλŠ” 상삼각 행렬이닀.

LUλΆ„ν•΄μ˜ μž₯점

μ„ ν˜•μ‹œμŠ€ν…œμ„ μ „λ°©λŒ€μΉ˜λ²•κ³Ό ν›„λ°©λŒ€μΉ˜λ²• 두 λ‹¨κ³„λ‘œ κ°„λ‹¨νžˆ ν•΄κ²°ν•  수 μžˆλ‹€.

μœ„μ˜ LUλΆ„ν•΄μ—μ„œ μ μ ˆν•œ ν–‰ λ˜λŠ” μ—΄ κ΅ν™˜μ΄ ν•„μš”ν•œ 경우, μΉ˜ν™˜ν–‰λ ¬ Pλ₯Ό μΆ”κ°€ν•˜κ²Œ 되며 PA = LU 의 ν˜•νƒœλ₯Ό λˆλ‹€.

L : ν–‰λ ¬Aλ₯Ό μ „λ°©μ†Œκ±°ν•˜λŠ”λ° 쓰인 replacement와 scaling에 λŒ€ν•œ EROsλ₯Ό 기둝해 λ‘” ν–‰λ ¬
U : ν–‰λ ¬Aλ₯Ό μ „λ°©μ†Œκ±°ν•œ ν›„ 남은 상삼각행렬
P : ν–‰λ ¬ Aλ₯Ό μ „λ°©μ†Œκ±°ν•˜λŠ”λ° 쓰인 interchange에 λŒ€ν•œ EROsλ₯Ό 기둝해 λ‘” ν–‰λ ¬(μ˜΅μ…˜)

LUλΆ„ν•΄μ˜ ν™œμš©

  • 수치적 μ•ˆμ •μ„± : μ„ ν˜•μ‹œμŠ€ν…œμ˜ ν•΄λ₯Ό 역행렬을 μ΄μš©ν•΄ κ΅¬ν•˜λŠ”κ²ƒλ³΄λ‹€ 쒀더 수치적으둜 μ•ˆμ •μ μ΄λ‹€.
  • bκ°€ 자주 μ—…λ°μ΄νŠΈ λ˜λŠ” 경우 : μ„ ν˜•μ‹œμŠ€ν…œ Ax = bμ—μ„œ ν–‰λ ¬ AλŠ” κ³ μ •λ˜μ–΄ 있고 bκ°€ 자주 μ—…λ°μ΄νŠΈ 될 λ•Œλ§ˆλ‹€ μ„ ν˜•μ‹œμŠ€ν…œμ˜ ν•΄xλ₯Ό μ‹€μ‹œκ°„μœΌλ‘œ ꡬ할 수 μžˆλ‹€.

ν–‰μ—΄ μ—°μ‚°κ³Ό μ„ ν˜•μ‘°ν•©


행렬은 μ§μ‚¬κ°ν˜• ꡬ쑰에 μˆ«μžλ“€μ„ 담아놓은 ꡬ쑰
행이 ν•˜λ‚˜μΈ 경우 행벑터, 열이 ν•˜λ‚˜μΈ 경우 열벑터라고 ν•œλ‹€.

μ—¬λŸ¬ ν–‰λ ¬μ˜ μ’…λ₯˜κ°€ μžˆλŠ”λ° λŒ€ν‘œμ μΈ 것을 μ„€λͺ…ν•˜λ €κ³  ν•œλ‹€.
1. μ „μΉ˜ν–‰λ ¬
mnν–‰λ ¬ A에 λŒ€ν•œ μ „μΉ˜ν–‰λ ¬μ€ Aμœ„ 행을 μ—΄λ‘œ 열을 ν–‰μœΌλ‘œ κ°€μ§€λŠ” nm 행렬이닀.

  1. μ •λ°©ν–‰λ ¬
    ν–‰κ³Ό μ—΄μ˜ κ°œμˆ˜κ°€ λͺ¨λ‘ n인 μ •μ‚¬κ°ν˜• λͺ¨μ–‘μ˜ 행렬을 nμ°¨ μ •λ°©ν–‰λ ¬ 이라고 ν•œλ‹€.

  2. ν•­λ“±ν–‰λ ¬
    ν•­λ“±ν–‰λ ¬ μ£ΌλŒ€κ°μ„ μ΄ 1이고 λ‚˜λ¨Έμ§€ μš”μ†ŒλŠ” λͺ¨λ‘ 0인 nμ°¨ μ •λ°©ν–‰λ ¬

ν–‰λ ¬μ˜ κ³±


[좜처: μœ„ν‚€ν”Όλ””μ•„]

ν–‰λ ¬ C의 각 μš”μ†ŒλŠ” Aν–‰λ ¬μ˜ 행벑터 Bν–‰λ ¬μ˜ μ—΄λ²‘ν„°μ˜ 내적이닀.
κ΅ν™˜λ²•μΉ™μ€ 적용이 μ•ˆλ˜κ³  A의 μ—΄ 개수 B의 ν–‰κ°œμˆ˜μ™€ μΌμΉ˜ν•΄μ•Όν•œλ‹€.
ν–‰λ ¬μ˜ 곱은 λ³‘λ ¬μ²˜λ¦¬λ‘œ 가속할 수 μžˆλ‹€.

μ„ ν˜• μ‘°ν•©

행렬을 ꡬ쑰적으둜 λ°”λΌλ³΄λŠ” κ°€μž₯ 효과적인 방법은 μ—΄λ²‘ν„°μ˜ 리슀트 ν˜•νƒœλ‘œ λ°”λΌλ³΄λŠ” 것이닀.

μ˜ˆμ‹œ
AxλŠ” ν–‰λ ¬ Aκ°€ κ°€μ§€κ³  μžˆλŠ” μ—΄λ²‘ν„°μ˜ μ„ ν˜•μ‘°ν•©μ΄λ‹€.

이처럼 벑터듀에 λŒ€ν•œ κ°€μ€‘μΉ˜ 합을 μ„ ν˜•μ‘°ν•©μ΄λΌκ³  ν•œλ‹€.

ν–‰λ ¬A의 열벑터듀에 λŒ€ν•œ κ°€λŠ₯ν•œ λͺ¨λ“  μ„ ν˜•μ‘°ν•©μ˜ κ²°κ³Όλ₯Ό λͺ¨μ•„ μ§‘ν•©μœΌλ‘œ ꡬ성 ν•œ 집합을 열곡간 μ΄λΌν•˜κ³  col(A)라고 ν‘œκΈ°ν•œλ‹€.
μ„ ν˜•μ‹œμŠ€ν…œ Ax = bκ°€ ν•΄λ₯Ό κ°€μ§€λ©΄ bκ°€ col(A)에 ν¬ν•¨λ˜κ³  ν•΄κ°€ μ—†μœΌλ©΄ ν¬ν•¨λ˜μ§€ μ•ŠλŠ”λ‹€.

μ’Œν‘œκ³„ λ³€ν™˜


μ’Œν‘œκ³„ λ³€ν™˜

행렬은 μ’Œν‘œκ³„μ΄κ³  λ²‘ν„°λŠ” μ’Œν‘œκ°’μ΄λ‹€.
μž„μ˜μ˜ λ²‘ν„°λŠ” λ‹€μ–‘ν•œ μ’Œν‘œκ³„μ—μ„œ ν‘œν˜„λ  수 μžˆλ‹€.
Ax = Ib 이 ν–‰λ ¬μ‹μ—μ„œ A,IλŠ” μ’Œν‘œκ³„ , x,bλŠ” μ’Œν‘œκ°’μ΄λΌκ³  ν•  수 μžˆλ‹€.

예제 2차원 벑터 vκ°€ ν‘œμ€€μ’Œν‘œκ³„μ—μ„œ (2,3)으둜 ν‘œν˜„λœλ‹€κ³  ν•©μ‹œλ‹€
벑터(3,1)κ³Ό(1,-2)λ₯ΌκΈ°μ €λ²‘ν„°λ‘œ κ°€μ§€λŠ” μƒˆλ‘œμš΄ μ’Œν‘œκ³„λ₯Ό λ„μž…ν–ˆμ„ λ•Œ vλŠ” μ–΄λ–€ μ’Œν‘œκ°’μ„ κ°€μ§€λŠ”κ°€

기저벑터 λ‘κ°œλ₯Ό μ—΄λ²‘ν„°λ‘œ ν•˜λŠ” 행열을 A 벑터 vλ₯Ό b라고 ν–ˆμ„ λ•Œ
정닡은 (2,-2)κ°€ λ‚˜μ˜¨λ‹€.


끝~!

profile
κ²Œμ„λ €λ˜ ν”„λ‘œκ·Έλž˜λ° 곡뢀

0개의 λŒ“κΈ€