행렬 계수·영공간 계산기
기약 행 사다리꼴로 행렬의 계수(rank)를 구하고 영공간의 기저와 차원을 냅니다. 구한 기저를 실제로 곱해 0이 나오는지 확인하고, 특이값 분해로 구한 계수와도 나란히 대조합니다.
한 줄이 한 행입니다. 정사각이 아니어도 되고 6×6까지 다룹니다.
피벗으로 인정할 문턱
행렬에서 가장 큰 값에 대한 상대 크기입니다. 이보다 작은 피벗은 0으로 봅니다.
3×3 행렬의 계수
rank = 2
영공간 차원이 1이고, 둘을 더하면 열 개수 3가 됩니다(계수 정리). Ax = 0의 해가 1차원 공간을 이룹니다.
기약 행 사다리꼴
| 1 | 0 | -1 |
| 0 | 1 | 2 |
| 0 | 0 | 0 |
파란 칸이 피벗이 선 열입니다. 피벗의 개수가 곧 계수이고, 피벗이 없는 열 하나마다 자유변수가 하나씩 생깁니다.
영공간 기저
구한 기저를 A에 실제로 곱해 본 값입니다. 0에 가까워야 「기저를 구했다」는 말이 성립합니다. 자유 열 자리에 1을 하나씩 세워 만들었으므로 이 벡터들은 서로 독립입니다.
두 방법으로 구한 계수
소거와 특이값 분해는 전혀 다른 길로 계수에 닿습니다. 두 값이 같으면 그 계수는 믿을 만하고, 다르면 문턱 근처에서 흔들리는 행렬입니다. 특이값 쪽 문턱은 소거 쪽보다 느슨하게 두는데, 이 계산기의 특이값이 AᵀA를 거쳐 나와 0에 가까운 값의 정밀도가 떨어지기 때문입니다.
계산 방법
- 1행렬을 한 줄에 한 행씩 넣습니다.
- 2계수와 영공간 차원을 확인합니다. 둘을 더하면 열 개수가 됩니다.
- 3기약 행 사다리꼴에서 파란 칸(피벗 열)의 개수가 곧 계수인 것을 확인합니다.
- 4영공간 기저를 보고, A에 곱했을 때 남는 값이 0에 가까운지 확인합니다.
- 5문턱을 바꿔 가며 계수가 흔들리는지 봅니다. 「거의 계수 1」 예제에서 확실히 드러납니다.
자주 묻는 질문
서로 독립인 행(또는 열)이 몇 개인가입니다. 행으로 세든 열로 세든 같은 값이 나오는 것이 선형대수의 기본 정리 중 하나입니다. 기약 행 사다리꼴로 밀었을 때 피벗이 선 열의 개수가 곧 계수입니다.
계수 + 영공간 차원 = 열의 개수라는 관계입니다. 열이 곧 미지수이므로 「미지수 중 몇 개가 자유로운가」를 말해 줍니다. 계수가 열 개수와 같으면 자유변수가 없어 Ax = 0의 해가 0 하나뿐이고, 계수가 모자란 만큼 해가 이루는 공간의 차원이 늘어납니다. 이 계산기는 두 값을 더해 열 개수와 맞는지 늘 함께 보여 줍니다.
기약 행 사다리꼴에서 피벗이 없는 열(자유 열) 하나마다 벡터를 하나 만듭니다. 그 자리에 1을 놓고 다른 자유 열은 0으로 둔 뒤, 피벗 변수의 값을 그 행에서 부호를 뒤집어 옮겨 적으면 됩니다. 자유 열 자리가 서로 다른 위치의 1이므로 이렇게 만든 벡터들은 자동으로 서로 독립입니다.
부동소수점에서 계수는 계산이 아니라 판단이기 때문입니다. 소거를 하다 보면 이론상 0이어야 할 자리에 1e-16 같은 찌꺼기가 남는데, 이것을 0으로 보면 계수가 하나 줄고 살아 있는 값으로 보면 하나 늡니다. 이 계산기는 문턱을 행렬에서 가장 큰 값에 대한 상대 크기로 잡습니다. 절대값으로 잡으면 행렬을 통째로 상수배했을 때 계수가 달라지는 이상한 일이 생기기 때문입니다.
그 행렬은 계수가 문턱 근처에서 흔들린다는 뜻이므로 어느 쪽도 그대로 믿기 어렵습니다. 문턱을 바꿔 가며 어디서 값이 갈리는지 보고, 애초에 계수를 딱 잘라 말할 수 있는 문제인지 다시 생각해야 합니다. 측정값으로 만든 행렬이라면 계수보다 특이값의 크기 분포를 보는 편이 낫습니다.
행렬식은 정사각행렬에만 있고 「계수가 꽉 찼는가」만 알려 줍니다(0이면 모자람). 계수는 정사각이 아니어도 정의되고 얼마나 모자란지까지 알려 줍니다. 또 행렬식은 크기에 민감해서 행렬을 상수배하면 그 상수의 n제곱만큼 달라지지만, 계수는 그대로입니다.
전송되지 않습니다. 모든 계산이 브라우저 안에서 이뤄지고, 입력값은 이 기기에만 남습니다.
알아두면 좋은 점
- 검증은 세 갈래입니다. 계수 정리(계수 + 영공간 차원 = 열 개수)가 1×1부터 6×6까지 무작위 행렬에서 늘 성립하는지, 구한 영공간 기저를 A에 실제로 곱해 0이 나오는지, 전치해도 계수가 같은지를 확인했습니다.
- 소거로 구한 계수를 특이값 분해로 구한 계수와도 대조합니다. 두 방법은 전혀 다른 길로 가므로 서로의 정답지 구실을 합니다. 계수가 일부러 모자라게 만든 행렬(5×2와 2×5를 곱한 것)에서도 확인했습니다.
- 특이값 쪽 문턱에는 1e-7의 바닥을 둡니다. 이 사이트의 특이값 분해가 AᵀA의 고윳값을 거치는데 그 순간 조건수가 제곱되어, 0이어야 할 특이값이 σ_max의 1e-9배쯤으로 살아 나오기 때문입니다. 바닥 없이 소거와 같은 문턱을 쓰면 대조가 늘 어긋나 검산 구실을 못 합니다. 실제로 그런 찌꺼기가 나오는지도 테스트로 확인했습니다.
- 문턱을 행렬 크기에 대한 상대값으로 잡은 것도 테스트로 못박았습니다. 행렬을 10⁻⁶배부터 10⁶배까지 해도 계수가 그대로 나오는지 확인합니다.
- 소거는 부분 피벗팅을 씁니다. 열마다 절댓값이 가장 큰 행을 피벗으로 골라야 작은 값으로 나누며 오차가 폭발하는 것을 막을 수 있습니다.
- 화면에 보이는 기약 행 사다리꼴은 문턱보다 작은 값을 0으로 정리해 보여 줍니다. 표시용이며 계수 판정 자체에는 쓰지 않습니다.
- 6행 6열까지 다룹니다.
함께 보면 좋은 도구
마지막 검증: 2026년 9월 2일 · 결과는 참고용 추정치입니다.