조건수
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
조건수는 문제의 입력값 변화에 따른 출력값 변화 비율을 나타내는 개념으로, 특히 선형 방정식의 해와 관련하여 사용된다. 조건수가 크면 입력의 작은 오차가 출력의 큰 오차로 이어져 문제를 '불량 조건'이라고 하며, 조건수가 작으면 오차의 영향이 작아 '양호 조건'이라고 한다. 행렬 A의 조건수는 κ(A) = ||A⁻¹|| ⋅ ||A||로 정의되며, 행렬 노름에 따라 값이 달라진다. 조건수는 수치적 안정성을 평가하는 데 중요한 지표로, 비선형 함수, 특히 미분 가능한 함수의 상대 조건수를 계산하는 데도 활용된다.
더 읽어볼만한 페이지
- 수치해석학 - 수학적 최적화
수학적 최적화는 주어진 집합에서 실수 또는 정수 변수를 갖는 함수의 최댓값이나 최솟값을 찾는 문제로, 변수 종류, 제약 조건, 목적 함수 개수에 따라 다양한 분야로 나뉘며 여러 학문 분야에서 활용된다. - 수치해석학 - 선형대수학
선형대수학은 벡터, 벡터 공간, 행렬 등의 개념으로 선형 방정식과 선형 변환을 연구하는 수학 분야로, 선형성을 활용해 행렬로 표현 및 계산하며, 연립일차방정식 해법, 고유값/고유벡터를 통한 행렬 분석, 벡터 공간의 기저와 차원 등을 다루고 물리학, 공학, 컴퓨터 과학 등 다양한 분야에 응용된다. - 행렬 - 스핀 (물리학)
스핀은 양자역학적 각운동량으로, 양자화된 값을 가지며 자기 쌍극자 모멘트를 유발하여 다양한 분야에 응용되고 스핀트로닉스 기술 발전에 기여하지만, 전자의 스핀 기원은 아직 완전히 밝혀지지 않았다. - 행렬 - 파울리 행렬
파울리 행렬은 양자역학에서 스핀을 나타내는 데 사용되는 에르미트 행렬이자 유니타리 행렬로, 행렬식은 -1이고 대각합은 0이며, 리 대수의 생성원이자 파울리 벡터로 정의되어 다양한 물리학 분야에서 활용된다.
조건수 | |
---|---|
기본 정보 | |
명칭 | 조건수 |
영어 명칭 | Condition number |
일본어 명칭 | 条件数 (じょうけんす, Jōkensū) |
정의 | |
정의 | 문제의 조건수란 해에 대한 입력의 상대적 변화의 비율이 가장 클 때의 값이다. |
선형 방정식 | 선형 방정식 Ax = b의 조건수는 A의 역행렬의 크기에 대한 A의 크기의 곱이다. |
수식 | κ(A) = ‖A‖ ‖A⁻¹‖ |
설명 | 여기서 ‖A‖는 연산자 노름을 나타낸다. 이는 A의 가장 큰 특이값과 가장 작은 특이값의 비율이다. 따라서 A가 유일한 특이값을 갖지 않으면 조건수는 무한대이다. |
성질 | |
조건수가 1에 가까운 경우 | 조건수가 1에 가까우면, A는 잘 조건화되었다고 말한다. 이는 해를 계산하는 알고리즘에서 작은 오차가 발생하더라도 해가 크게 바뀌지 않음을 의미한다. |
조건수가 큰 경우 | 조건수가 크면, A는 악조건화되었다고 말한다. 이는 해를 계산하는 알고리즘에서 작은 오차가 발생하면 해가 크게 바뀔 수 있음을 의미한다. |
활용 | |
활용 분야 | 수치해석학 통계학 공학 |
2. 조건수의 정의
이며, 여기서 는 의 최대 특이값, 는 최소 특이값이다. 따라서,
- * 가 정규라면
(
{min}(A)는 각각 의 최대 및 최소 고유값)
- * 가 유니타리라면
- 이 노름이고, 가 삼각 행렬이고 특이값을 갖지 않는다면(즉, )
특이값 분해의 조건수, 다항식의 해를 구하는 조건수, 고유값의 조건수 등 다양한 문제에 대해 조건수를 정의할 수 있다.
일반적으로 수치 문제가 잘 설정되어 있다면 이를 함수 로 나타낼 수 있으며, -튜플의 실수 에서 -튜플의 실수 로의 사상이 된다.
그러면 그 조건수는 문제의 정의역에서의 해의 상대 오차와 데이터의 상대 오차의 비의 최댓값으로 정의된다.
:
여기서 은 문제의 데이터 변화에 있어서 어떤 적당히 작은 값이다.
가 미분 가능하다면 다음과 같이 근사할 수 있다.
:
2. 1. 일반적인 정의
문제 와 입력 에 대해, 조건수는 입력의 작은 변화 에 대한 출력 의 변화율을 나타낸다. 절대 조건수와 상대 조건수가 있으며, 상대 조건수는 입력과 출력의 상대적인 변화율을 고려한다.문제 의 ''절대'' 조건수는 다음과 같다.
:
''상대'' 조건수는 다음과 같다.
:
특이값 분해의 조건수, 다항식의 해를 구하는 조건수, 고유값의 조건수 등 다양한 문제에 대해 조건수를 정의할 수 있다.
일반적으로 수치 문제가 잘 설정되어 있다면 이를 함수 로 나타낼 수 있으며, -튜플의 실수 에서 -튜플의 실수 로의 사상이 된다.
그러면 그 조건수는 문제의 정의역에서의 해의 상대 오차와 데이터의 상대 오차의 비의 최댓값으로 정의된다.
:
여기서 은 문제의 데이터 변화에 있어서 어떤 적당히 작은 값이다.
가 미분 가능하다면 다음과 같이 근사할 수 있다.
:
2. 2. 선형 방정식에서의 조건수
선형방정식 에서 행렬 의 조건수는 근사해 의 정확도에 대한 상한을 제공한다. 이는 반올림 오차의 영향을 고려하기 전의 값으로, 조건수는 행렬의 고유한 성질이며, 사용되는 알고리즘이나 컴퓨터의 부동 소수점 정밀도와는 무관하다.조건수는 의 변화에 대한 해 의 변화율을 나타내는 값으로, 조건수가 크면 의 작은 오차가 의 큰 오차를 유발할 수 있다. 반대로 조건수가 작으면 의 오차는 의 오차보다 크지 않다.
의 오차를 라고 할 때, 가 비특이 행렬이면 해 의 오차는 이다. 이때 해의 상대 오차와 의 상대 오차 비율은 다음과 같이 나타낼 수 있다.
:
이 비율의 최댓값은 두 작용소 노름의 곱으로 표현되며, 일반적으로 다음과 같이 정의된다.
:
이 값은 행렬 노름의 선택에 따라 달라진다.
- 가 (벡터) 유클리드 노름에 의해 유도된 행렬 노름 ( 노름)인 경우,
:
여기서 와 는 각각 의 최대 및 최소 특이값이다.
- * 가 정규 행렬이면,
:
여기서 와 는 각각 의 최대 및 최소 고유값이다.
- * 가 유니타리 행렬이면,
:이다.
- 가 (벡터) 노름에 의해 유도된 행렬 노름이고 가 하삼각 비특이 행렬이면,
:
이다.
노름과 관련된 조건수는 수치 선형 대수에서 자주 사용되어 '''행렬의 조건수'''라고 불린다. 조건수가 1보다 크지 않으면 행렬은 잘 조건화되어 있다고 하며, 역행렬을 정확하게 계산할 수 있다. 조건수가 매우 크면 행렬은 불량 조건화되었다고 하며, 역행렬 계산이나 선형 연립 방정식의 해는 큰 수치적 오류를 발생시킬 수 있다.
3. 행렬의 조건수
행렬의 조건수는 선형방정식 에서 근사해의 정확도를 평가하는 데 중요한 역할을 한다. 조건수가 크면 해 는 의 작은 오차에도 큰 오차를 가질 수 있다. 반대로 조건수가 작으면 의 오차는 의 오차보다 크지 않다. 이는 반올림 오차의 영향을 고려하기 전의 문제로, 행렬의 고유한 성질이며 사용된 알고리즘이나 컴퓨터의 부동 소수점 정확도와는 무관하다.
''e''를 ''b''의 오차라고 할 때, ''A''가 비특이 행렬이면, 해 의 오차는 이다. 이때 b의 상대오차에 대한 해의 상대오차 비율은 다음과 같다.
:
이 비율의 최댓값은 두 작용소 노름의 곱으로 표현될 수 있으며, 이를 통해 조건수를 정의할 수 있다.
:
일반적으로 행렬 의 조건수는 로 정의된다. 여기서 는 행렬 노름을 의미한다.
조건수는 사용하는 행렬 노름에 따라 달라진다.
- (벡터) 유클리드 노름에 의해 유도된 행렬 노름을 사용하는 경우, 조건수는 다음과 같다.
:
여기서 와 는 각각 의 최대 및 최소 특이값이다.
::* 만약 가 정규 행렬이라면,
::
::여기서 와 는 각각 의 최대 및 최소 고유값이다.
::* 만약 가 유니타리 행렬이라면,
::이다.
- (벡터) 노름에 의해 유도된 행렬 노름을 사용하고 가 하삼각 비특이 행렬(즉, 모든 에 대해 )이라면, 조건수는 다음과 같은 범위를 갖는다.
:
조건수가 1보다 크게 크지 않으면 행렬은 잘 조건화되어 있다고 하며, 역행렬을 비교적 정확하게 계산할 수 있다. 반면 조건수가 매우 크면 행렬은 불량 조건화되었다고 하며, 역행렬 계산이나 선형 연립 방정식의 해는 큰 수치적 오류를 가질 수 있다.
3. 1. 정의
행렬 의 조건수는 로 정의된다. 여기서 는 행렬 노름을 의미한다. 조건수는 의 상대 오차와 의 상대 오차의 최대 비율로 정의된다.조건수는 선형방정식 에서 근사해 가 얼마나 부정확할지에 대한 범위를 제공한다. 이는 행렬의 고유한 성질이며, 알고리즘이나 컴퓨터의 부동 소수점 정확도와는 관련이 없다. 조건수가 크면 의 작은 오차가 의 큰 오차를 유발할 수 있지만, 조건수가 작으면 의 오차는 의 오차보다 크지 않다.
가 (벡터) 유클리드 노름에 의해 유도된 행렬 노름일 경우, 조건수는 다음과 같이 나타낼 수 있다.
:
여기서 와 는 각각 의 최대 및 최소 특이값이다.
만약 가 정규 행렬이라면, 조건수는 다음과 같다.
:
여기서 와 는 각각 의 최대 및 최소 고유값이다.
만약 가 유니타리 행렬이라면, 이다.
가 (벡터) 노름에 의해 유도된 행렬 노름이고 가 하삼각 비특이 행렬(즉, 모든 에 대해 )이라면, 조건수는 다음과 같은 범위를 갖는다.
:
조건수가 1보다 크게 크지 않으면, 행렬은 잘 조건화되어 있다고 하며, 역행렬을 좋은 정확도로 계산할 수 있다. 조건수가 매우 크면, 행렬은 불량 조건화되었다고 하며, 역행렬 계산이나 선형 연립 방정식의 해는 큰 수치적 오류가 발생하기 쉽다.
3. 2. 행렬 노름에 따른 조건수
조건수는 사용하는 행렬 노름에 따라 달라진다.- 행렬 노름(벡터 노름에 의해 유도된 행렬 노름, 유클리드 노름)을 사용하는 경우, 조건수는 다음과 같다.
:
여기서 와 는 각각 의 최대 및 최소 특이값이다. 따라서
::* 가 정규 행렬이면,
::
::여기서 와 는 각각 의 최대 및 최소 (절댓값 기준) 고유값이다.
::* 가 유니타리 행렬이면,
::
- 행렬 노름(벡터 노름에 의해 유도된 행렬 노름)을 사용하고 가 하삼각 비특이 행렬(즉, 모든 에 대해 )이라면, 조건수는 다음과 같다.
:
4. 비선형 방정식의 조건수
조건수는 비선형 함수에 대해서도 정의될 수 있으며, 미적분학을 사용하여 계산할 수 있다. 조건수는 점에 따라 다르며, 어떤 경우에는 함수의 정의역 또는 문제의 정의역에 대한 최대(또는 상한) 조건수를 전체 조건수로 사용할 수 있고, 다른 경우에는 특정 점에서의 조건수가 더 중요하다.
일반적으로 수치 문제가 잘 설정되어 있다면 이를 함수 로 나타낼 수 있으며, -튜플의 실수 에서 -튜플의 실수 로의 사상이 된다.
그러면 그 조건수는 문제의 정의역에서의 해의 상대 오차와 데이터의 상대 오차의 비의 최댓값으로 정의된다.
:
여기서 은 문제의 데이터 변화에 있어서 어떤 적당히 작은 값이다.
가 미분 가능하다면 다음과 같이 근사할 수 있다.
:
4. 1. 한 변수의 경우
미분 가능한 함수 의 상대 조건수는 로 표현된다. 이는 의 로그 도함수, 즉 와 의 로그 도함수, 즉 의 비율(의 절댓값)로 이해할 수 있다. 이는 함수의 탄력성과 관련이 있다. 함수가 어떤 점에서 영점을 갖는다면, 그 점에서의 조건수는 무한대인데, 입력의 무한소 변화가 출력을 0에서 양수 또는 음수로 변경하여 분모에 0이 있는 비율을 내기 때문에, 상대적 변화가 무한대가 되기 때문이다.에 작은 변화 가 주어지면, 의 상대적 변화는 이고, 의 상대적 변화는 이다. 비율을 계산하면 다음과 같다.
:
마지막 항은 차분 몫(할선의 기울기)이며, 극한을 취하면 도함수를 얻는다.
일반적인 기본 함수의 조건수는 유효 숫자를 계산하는 데 중요하며, 도함수로부터 즉시 계산할 수 있다. 몇 가지 중요한 함수는 다음과 같다.
{| class="wikitable"
! 이름 || 기호 || 상대 조건수
|-
| 덧셈 / 뺄셈 || ||
|-
| 스칼라 곱셈 || ||
|-
| 나눗셈 || ||
|-
| 다항식 || ||
|-
| 지수 함수 || ||
|-
| 자연 로그 함수 || ||
|-
| 사인 함수 || ||
|-
| 코사인 함수 || ||
|-
| 탄젠트 함수 || ||
|-
| 역 사인 함수 || ||
|-
| 역 코사인 함수 || ||