도구스학업·수학

행렬 계수·영공간 계산기

기약 행 사다리꼴로 행렬의 계수(rank)를 구하고 영공간의 기저와 차원을 냅니다. 구한 기저를 실제로 곱해 0이 나오는지 확인하고, 특이값 분해로 구한 계수와도 나란히 대조합니다.

한 줄이 한 행입니다. 정사각이 아니어도 되고 6×6까지 다룹니다.

피벗으로 인정할 문턱

행렬에서 가장 큰 값에 대한 상대 크기입니다. 이보다 작은 피벗은 0으로 봅니다.

3×3 행렬의 계수

rank = 2

영공간 차원이 1이고, 둘을 더하면 열 개수 3가 됩니다(계수 정리). Ax = 0의 해가 1차원 공간을 이룹니다.

계수 rank2
영공간 차원 nullity1
계수 + 영공간 차원3 = 열 3
피벗 열1, 2
자유 열3
행 계수가 꽉 찼는가아니오
열 계수가 꽉 찼는가아니오

기약 행 사다리꼴

10-1
012
000

파란 칸이 피벗이 선 열입니다. 피벗의 개수가 곧 계수이고, 피벗이 없는 열 하나마다 자유변수가 하나씩 생깁니다.

영공간 기저

v1(1, -2, 1)
A·v를 실제로 곱했을 때 남는 최대 크기8.88e-16

구한 기저를 A에 실제로 곱해 본 값입니다. 0에 가까워야 「기저를 구했다」는 말이 성립합니다. 자유 열 자리에 1을 하나씩 세워 만들었으므로 이 벡터들은 서로 독립입니다.

두 방법으로 구한 계수

소거(기약 행 사다리꼴)2
특이값 분해2
일치 여부같음
특이값1.57e+1 · 8.13e-1 · 0
쓰인 피벗의 크기5 · 0.6

소거와 특이값 분해는 전혀 다른 길로 계수에 닿습니다. 두 값이 같으면 그 계수는 믿을 만하고, 다르면 문턱 근처에서 흔들리는 행렬입니다. 특이값 쪽 문턱은 소거 쪽보다 느슨하게 두는데, 이 계산기의 특이값이 AᵀA를 거쳐 나와 0에 가까운 값의 정밀도가 떨어지기 때문입니다.

부동소수점에서 계수는 계산이 아니라 판단입니다. 소거를 하다 보면 이론상 0이어야 할 자리에 아주 작은 찌꺼기가 남고, 그것을 0으로 볼지 말지가 계수를 가릅니다. 「거의 계수 1」 예제를 눌러 문턱을 1e-6과 1e-14로 오가며 계수가 1과 2 사이에서 뒤집히는 것을 확인해 보세요.

계산 방법

  1. 1행렬을 한 줄에 한 행씩 넣습니다.
  2. 2계수와 영공간 차원을 확인합니다. 둘을 더하면 열 개수가 됩니다.
  3. 3기약 행 사다리꼴에서 파란 칸(피벗 열)의 개수가 곧 계수인 것을 확인합니다.
  4. 4영공간 기저를 보고, A에 곱했을 때 남는 값이 0에 가까운지 확인합니다.
  5. 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일 · 결과는 참고용 추정치입니다.