선형대수학 에서 삼각행렬 (三角行列, 영어 : triangular matrix )은 정사각행렬 의 특수한 경우로, 주대각선 을 기준으로 대각항의 위쪽이나 아래쪽 항들의 값이 모두 0인 경우를 의미한다.
주대각선
다음과 같은 모양을 가지는 행렬
L
{\displaystyle \mathbf {L} }
을 하삼각행렬 (lower triangular matrix)로 정의한다.
L
=
[
l
1
,
1
0
l
2
,
1
l
2
,
2
l
3
,
1
l
3
,
2
⋱
⋮
⋮
⋱
⋱
l
n
,
1
l
n
,
2
…
l
n
,
n
−
1
l
n
,
n
]
{\displaystyle \mathbf {L} ={\begin{bmatrix}l_{1,1}&&&&0\\l_{2,1}&l_{2,2}&&&\\l_{3,1}&l_{3,2}&\ddots &&\\\vdots &\vdots &\ddots &\ddots &\\l_{n,1}&l_{n,2}&\ldots &l_{n,n-1}&l_{n,n}\end{bmatrix}}}
다음과 같은 모양을 가지는 행렬
U
{\displaystyle \mathbf {U} }
을 상삼각행렬 (upper triangular matrix)로 정의한다.
U
=
[
u
1
,
1
u
1
,
2
u
1
,
3
…
u
1
,
n
u
2
,
2
u
2
,
3
…
u
2
,
n
⋱
⋱
⋮
⋱
u
n
−
1
,
n
0
u
n
,
n
]
{\displaystyle \mathbf {U} ={\begin{bmatrix}u_{1,1}&u_{1,2}&u_{1,3}&\ldots &u_{1,n}\\&u_{2,2}&u_{2,3}&\ldots &u_{2,n}\\&&\ddots &\ddots &\vdots \\&&&\ddots &u_{n-1,n}\\0&&&&u_{n,n}\end{bmatrix}}}
만약 삼각행렬의 대각항이 모두 0인 경우는 순삼각행렬 (strict triangular), 혹은 삼각행렬의 모양에 따라 순하삼각행렬 , 순상삼각행렬 로 부른다.
상삼각행렬이면서 하삼각행렬인 행렬은 대각행렬 이다.
삼각행렬이면서 정규행렬 인 행렬은 대각행렬 이다.
상삼각행렬은 덧셈, 곱셈, 역행렬 에 대해 닫혀 있다. 즉, 상삼각행렬간의 덧셈, 곱셈, 역행렬 연산을 통해 나오는 행렬 은 상삼각행렬이다. 이 성질은 하삼각행렬에 대해서도 성립한다.
단, 순삼각행렬 등과 같이 행렬식이 0의 값을 가질 경우 역행렬이 존재하지 않으므로, 역행렬에 대해 닫혀있기 위해서는 삼각행렬이 가역행렬이어야 한다는 추가 조건이 있다.
삼각행렬의 행렬식 은 대각항들의 곱과 같다.
대각행렬 과 사다리꼴행렬 은 삼각행렬의 특수한 형태이다.
행렬 방정식
L
x
=
b
{\displaystyle \mathbf {L} \mathbf {x} =\mathbf {b} }
또는
U
x
=
b
{\displaystyle \mathbf {U} \mathbf {x} =\mathbf {b} }
의 형태에서 각각 하삼각행렬에 대한 전진대입( forward substitution) 및 상 삼각행렬에대한 후진대입(back substitution)이라고하는 반복적 프로세스로 해결하기가 용이하다. 우선 소위 하삼각행렬의 경우의 프로세스는
x
1
{\displaystyle x_{1}}
을 첫번째 계산으로 해서 다음 방정식으로 대입하여
x
2
{\displaystyle x_{2}}
, ~
x
n
{\displaystyle x_{n}}
까지 반복한다. 상삼각행렬에서는 역으로 작동하는데 , 첫번째 계산은
x
n
{\displaystyle x_{n}}
, 그런 다음 이를 이전 방정식으로 대입하여
x
n
−
1
{\displaystyle x_{n-1}}
, 반복하여
x
1
{\displaystyle x_{1}}
에 이른다.
행렬을 뒤집는것은 아니다.
행렬 방정식 L x = b는 선형 방정식의 시스템(연립 )으로 쓸 수 있다
ℓ
1
,
1
x
1
=
b
1
ℓ
2
,
1
x
1
+
ℓ
2
,
2
x
2
=
b
2
⋮
⋮
⋱
⋮
ℓ
(
m
−
1
)
,
1
x
1
+
ℓ
(
m
−
1
)
,
2
x
2
+
⋯
+
ℓ
(
m
−
1
)
,
(
m
−
1
)
x
(
m
−
1
)
=
b
(
m
−
1
)
ℓ
m
,
1
x
1
+
ℓ
m
,
2
x
2
+
⋯
+
ℓ
m
,
m
x
m
=
b
m
{\displaystyle {\begin{matrix}\ell _{1,1}x_{1}&&&&&=&b_{1}\\\ell _{2,1}x_{1}&+&\ell _{2,2}x_{2}&&&=&b_{2}\\\vdots &&\vdots &\ddots &&&\vdots \\\ell _{(m-1),1}x_{1}&+&\ell _{(m-1),2}x_{2}&+\dotsb +&\ell _{(m-1),(m-1)}x_{(m-1)}&=&b_{(m-1)}\\\ell _{m,1}x_{1}&+&\ell _{m,2}x_{2}&+\dotsb +&\ell _{m,m}x_{m}&=&b_{m}\\\end{matrix}}}
여기서
x
1
{\displaystyle x_{1}}
는 첫 번째 방정식 (
ℓ
1
,
1
x
1
=
b
1
{\displaystyle \ell _{1,1}x_{1}=b_{1}}
) 에만 관련된다. 이어서 두 번째 방정식은
x
1
{\displaystyle x_{1}}
과
x
2
{\displaystyle x_{2}}
에 관련된다. 따라서 이미 해결 된 값으로 대입하여 풀수있게된다. 계속해서 마지막의 직전은
x
m
{\displaystyle x_{m}}
이전에 접근한 값
x
m
−
1
{\displaystyle x_{m-1}}
이다. 그리고 맨 마지막
m
{\displaystyle m}
번째 방정식은
x
m
{\displaystyle x_{m}}
이다.
이러한
x
1
,
x
2
,
…
,
x
m
−
1
,
x
m
{\displaystyle x_{1},x_{2},\dots ,x_{m-1},x_{m}}
결과 수식은 다음과 같다.
x
1
ℓ
1
,
1
=
b
1
{\displaystyle x_{1}{\ell _{1,1}}={b_{1}}}
x
1
=
b
1
ℓ
1
,
1
{\displaystyle x_{1}={\frac {b_{1}}{\ell _{1,1}}}}
이고,
x
2
ℓ
2
,
2
+
ℓ
2
,
1
x
1
=
b
2
{\displaystyle x_{2}{\ell _{2,2}}+\ell _{2,1}x_{1}=b_{2}}
x
2
=
b
2
−
ℓ
2
,
1
x
1
ℓ
2
,
2
{\displaystyle x_{2}={\frac {b_{2}-\ell _{2,1}x_{1}}{\ell _{2,2}}}}
이고,
x
3
ℓ
3
,
3
+
x
2
ℓ
2
,
2
+
ℓ
2
,
1
x
1
=
b
3
{\displaystyle x_{3}{\ell _{3,3}}+x_{2}{\ell _{2,2}}+\ell _{2,1}x_{1}=b_{3}}
x
3
=
b
3
−
x
2
ℓ
2
,
2
−
ℓ
2
,
1
x
1
ℓ
3
,
3
{\displaystyle x_{3}={{b_{3}-x_{2}{\ell _{2,2}}-\ell _{2,1}x_{1}} \over {\ell _{3,3}}}}
이고,
정리하면,
x
1
=
b
1
ℓ
1
,
1
{\displaystyle x_{1}={\frac {b_{1}}{\ell _{1,1}}}}
x
2
=
b
2
−
ℓ
2
,
1
x
1
ℓ
2
,
2
{\displaystyle x_{2}={\frac {b_{2}-\ell _{2,1}x_{1}}{\ell _{2,2}}}}
x
3
=
b
3
−
x
2
ℓ
2
,
2
−
ℓ
2
,
1
x
1
ℓ
3
,
3
{\displaystyle x_{3}={{b_{3}-x_{2}{\ell _{2,2}}-\ell _{2,1}x_{1}} \over {\ell _{3,3}}}}
계속해서 ,
⋮
{\displaystyle \vdots }
일반화하면
x
m
=
b
m
−
(
∑
i
=
1
m
−
1
ℓ
m
,
i
x
i
)
ℓ
m
,
m
{\displaystyle x_{m}={{b_{m}-\left(\sum _{i=1}^{m-1}\ell _{m,i}x_{i}\right)} \over {\ell _{m,m}}}}
상삼각행렬 U를 갖는 행렬 방정식은 역방향에서 같은 방식으로 적용하여 접근할 수 있다.