Sage Cell Server
목차
- 선형연립방정식
- REF, RREF
- 가우스-조던 소거법 1
- 가우스-조던 소거법 2
- 행렬의 연산
- 행렬 곱
- 전치 행렬
- 가역과 역행렬
- 역행렬과 선형연립방정식
- 특수 행렬
- (반)대칭 행렬
- LU 분해
- 치환과 반전
1. 선형연립방정식
var('x y')
solve([x + y == 3, 2*x - y == 0], x, y)
{x+y=32x−y=0
🔍 설명:
두 개의 일차 방정식으로 구성된 연립방정식의 해를 구합니다.
solve()는 Sage에서 해석적 풀이를 제공하는 함수입니다.
2.REF (행 사다리꼴), RREF (기약 사다리꼴)
A = Matrix([[1, 2, -1], [2, 3, 0], [1, -1, 1]])
A.echelon_form() # REF
A.rref() # RREF
A=⎣⎢⎡12123−1−101⎦⎥⎤
🔍 설명:
REF: 행의 앞부분에 0이 없도록 정렬한 형태
RREF: 각 행의 선도 원소(leading entry)가 1이고, 다른 행에는 0이 되도록 만든 형태
3. 가우스-조던 소거법 1
A = Matrix([[1, 1, 3], [2, -1, 1]])
A.rref()
[121−131]
🔍 설명:
확장 행렬을 RREF 형태로 바꾸는 가우스-조던 소거법을 적용해 해를 직접 확인합니다.
4.가우스-조던 소거법 2
A = Matrix([[1, 2, 3], [2, 4, 6]])
A.rref()
{x+2y=32x+4y=6⇒무수히 많은 해
🔍 설명:
두 식은 서로 종속되어 있습니다.
→ 랭크(rank) = 1, 변수 2 → 자유변수 1개 → 무수히 많은 해
5.행렬의 연산 (덧셈, 뺄셈)
A = Matrix([[1, 2], [3, 4]])
B = Matrix([[4, 3], [2, 1]])
A + B, A - B
A+B=[5555],A−B=[−31−13]
🔍 설명:
행렬의 크기가 같을 때 성분별로 더하거나 뺄 수 있습니다.
6.행렬 곱
A = Matrix([[1, 2], [3, 4]])
B = Matrix([[2, 0], [1, 2]])
A * B
AB=[41048]
🔍 설명:
행렬 곱은 행 × 열의 내적 연산입니다.
7.전치 행렬
A = Matrix([[1, 2, 3], [4, 5, 6]])
A.transpose()
AT=⎣⎢⎡123456⎦⎥⎤
🔍 설명:
전치(transpose) 행렬은 행과 열을 바꾼 형태입니다.
8. 가역과 역행렬
A = Matrix([[1, 2], [3, 4]])
A.is_invertible(), A.inverse()
A−1=det(A)1⋅adj(A)=−21[4−3−21]=[−21.51−0.5]
🔍 설명:
역행렬이 존재하려면 행렬식이 0이 아니어야 합니다. (det(A) ≠ 0)
9.역행렬과 선형연립방정식
A = Matrix([[2, 1], [5, 3]])
b = vector([1, 2])
x = A.inverse() * b
Ax=b⇒x=A−1b
🔍 설명:
역행렬을 이용하여 선형연립방정식을 간단히 풀이할 수 있습니다.
10. 특수 행렬
identity_matrix(3), zero_matrix(3, 3), diagonal_matrix([1, 2, 3])
항등행렬
I=⎣⎢⎡100010001⎦⎥⎤
영행렬
O=⎣⎢⎡000000000⎦⎥⎤
대각행렬
D=⎣⎢⎡100020003⎦⎥⎤
🔍 설명:
항등행렬 (Identity): 단위 원소만 있는 행렬
영행렬 (Zero): 모든 원소가 0
대각행렬 (Diagonal): 대각선 외의 값이 모두 0
11.대칭/반대칭 행렬
A = Matrix([[0, 2, -1], [-2, 0, 4], [1, -4, 0]])
B = Matrix([[1, 2], [2, 3]])
대칭 행렬: AT=A
[1223]T=[1223]⇒대칭 행렬
반대칭 행렬: AT=−A
A=⎣⎢⎡0−2120−4−140⎦⎥⎤,AT=⎣⎢⎡02−1−2041−40⎦⎥⎤=−A
12.LU 분해
A = Matrix([[2, 3], [4, 7]])
# 순서(P, L, U)
P, L, U = A.LU()
A=[2437]
LU 분해 (with pivoting):
P=[0110],L=[10.501],U=[4070.5]
검산:
PA=[4273]=LU=[10.501][4070.5]
🔍 설명:
- L: 하삼각행렬 (Lower triangular matrix)
- U: 상삼각행렬 (Upper triangular matrix)
- P: 치환행렬 (Permutation matrix), 행의 교환을 나타냄
LU 분해는 연립방정식 해법, 역행렬 계산 등에 유용하게 사용됩니다.