1 개요
공학에서 만나는 평형 방정식은 거의 항상 \(K u = f\) 형태이고, 그 강성행렬 \(K\) 는 차분 행렬 \(A\) — 물성 행렬 \(C\) — 그 전치 \(A^\top\) 의 곱 \(K = A^\top C A\) 로 분해된다. 이 분해는 단순한 표기 트릭이 아니라 (1) 변위에서 변형을 만드는 기하학적 단계, (2) 변형에서 내부힘을 만드는 재료적 단계, (3) 내부힘이 외부힘과 균형을 이루는 물리적 단계 를 그대로 옮긴 자연어다.
선형대수가 응용 수학과 공학에서 가장 일관되게 등장하는 곳을 하나만 꼽으라면 그것은 평형 방정식(equilibrium equation) 이다. 다리의 처짐, 빌딩의 변형, 회로의 전류, 물체의 열분포, 모두 같은 골격을 가진다.
\[ K u = f, \qquad K = A^\top C A \]
여기서 \(u\) 는 우리가 알고 싶은 미지수(변위, 전위, 온도 …)이고, \(f\) 는 외부에서 주어지는 입력(중력, 전류원, 열원 …)이며, \(K\) 는 시스템의 강성행렬(stiffness matrix) 이다. 이 절의 목표는 두 가지다.
- 왜 이 골격인가 — 임의의 공학 모델에서 \(A^\top C A\) 가 우연이 아니라 차분-물성-균형 이라는 세 단계 물리에서 필연적으로 나옴을 보인다.
- 왜 항상 대칭이고 대부분 양정치인가 — \(C\) 가 양의 대각이고 \(A\) 가 독립 열을 가지면 \(K\) 는 자동으로 대칭 양정치가 된다. 이 사실을 손으로 증명한다.
스프링과 질량으로 이루어진 1차원 모델은 이 모든 이야기를 가장 작은 행렬 크기로 정직하게 보여 주는 출발점이다. 본문에서 다룰 네 가지 경계조건(fixed-fixed, fixed-free, free-free, circular)은 그 자체가 이미 유한요소법(FEM), 그래프 라플라시안, 마르코프 체인 으로 가는 입구다.
2 세 단계 골격: \(u \to e \to y \to f\)
가장 핵심이 되는 그림은 다음 네 벡터의 사슬이다.
\[ \underbrace{u}_{\text{변위}} \;\xrightarrow{\;A\;}\; \underbrace{e}_{\text{변형}} \;\xrightarrow{\;C\;}\; \underbrace{y}_{\text{내부힘}} \;\xrightarrow{\;A^\top\;}\; \underbrace{f}_{\text{외부힘}} \]
세 화살표 각각이 한 줄 방정식이다.
| 단계 | 식 | 이름 | 어디서 오는가 |
|---|---|---|---|
| 1 | \(e = A u\) | 운동학(Kinematic) | 기하 — 변위가 어떻게 변형을 만드는가 |
| 2 | \(y = C e\) | 구성식(Constitutive) | 재료 — 변형이 어떻게 내부힘을 만드는가 (Hooke의 법칙) |
| 3 | \(f = A^\top y\) | 평형(Static) | 물리 — 내부힘이 어떻게 외부힘과 균형을 이루는가 |
세 식을 합치면
\[ f = A^\top y = A^\top (C e) = A^\top (C A u) = (A^\top C A)\, u. \]
즉
\[ \boxed{\;K u = f, \qquad K = A^\top C A.\;} \]
여기서 결정적으로 중요한 것은 세 번째 단계의 행렬이 첫 번째 단계 행렬의 전치 \(A^\top\) 와 정확히 같다 는 사실이다. 우리가 일부러 그렇게 만든 것이 아니라, 자연(가상일의 원리, 미분 적분의 부분적분 공식)이 그렇게 강요한다.
변위 \(u\) 에 가상 변위 \(\delta u\) 를 주면 변형은 \(\delta e = A\,\delta u\) 만큼 변한다. 외부힘이 한 일은 \(\delta u^\top f\) 이고, 내부힘이 한 일은 \(\delta e^\top y = (A\,\delta u)^\top y = \delta u^\top (A^\top y)\) 이다. 임의의 \(\delta u\) 에 대해 두 일이 같아야 평형이므로 \(f = A^\top y\) 가 강제된다. 즉 평형은 운동학의 전치(transpose) 다. 이것이 모든 공학 행렬에 \(A\) 와 \(A^\top\) 가 함께 나타나는 이유다.
3 스프링-질량 모델: fixed-fixed
가장 작은 비자명한 예시로 시작한다. 세 개의 질량 \(m_1, m_2, m_3\) 가 네 개의 스프링으로 위·아래가 고정된 벽 사이에 매달려 있다고 하자. 스프링 상수는 \(c_1, c_2, c_3, c_4\) 다.
| 벽 (u_0 = 0)
$ 스프링 c_1, 장력 y_1
m_1, 변위 u_1
$ 스프링 c_2, 장력 y_2
m_2, 변위 u_2
$ 스프링 c_3, 장력 y_3
m_3, 변위 u_3
$ 스프링 c_4, 장력 y_4
| 벽 (u_4 = 0)
3.1 1단계: \(e = A u\) (운동학)
각 스프링의 신장 \(e_i\) 는 양 끝점 변위의 차이다.
\[ e_1 = u_1 - u_0 = u_1, \quad e_2 = u_2 - u_1, \quad e_3 = u_3 - u_2, \quad e_4 = u_4 - u_3 = -u_3. \]
이 네 식을 행렬로 묶으면 4행 3열의 차분 행렬(difference matrix) \(A\) 가 나온다.
\[ e = A u \quad\Longleftrightarrow\quad \begin{bmatrix} e_1 \\ e_2 \\ e_3 \\ e_4 \end{bmatrix} = \begin{bmatrix} 1 & 0 & 0 \\ -1 & 1 & 0 \\ 0 & -1 & 1 \\ 0 & 0 & -1 \end{bmatrix} \begin{bmatrix} u_1 \\ u_2 \\ u_3 \end{bmatrix}. \]
왜 직사각인가 — 미지수(변위)는 3개인데 변형은 4개다. 스프링이 질량보다 한 개 많기 때문이다. 미지수 차원과 방정식 차원이 다른 것은 운동학의 본질이고, 이 차이가 다음 단계에서 \(A^\top\) 가 자연스럽게 작용하게 만든다.
3.2 2단계: \(y = C e\) (Hooke의 법칙)
각 스프링은 자기 자신의 Hooke 법칙 \(y_i = c_i e_i\) 를 따른다. 모든 스프링이 독립적이므로 \(C\) 는 양의 대각행렬 이다.
\[ y = C e, \qquad C = \operatorname{diag}(c_1, c_2, c_3, c_4). \]
물리적으로 \(c_i > 0\) 는 “스프링은 늘어나면 잡아당기고 줄어들면 밀어낸다” 는 비자명하지 않은 가정이고, 이 한 줄 가정 덕분에 뒤에서 \(K\) 의 양정치성이 따라온다.
3.3 3단계: \(f = A^\top y\) (평형)
질량 \(m_j\) 에는 위 스프링의 장력 \(y_j\) 가 위로 끌어당기고, 아래 스프링의 장력 \(y_{j+1}\) 이 아래로 끌어당기며, 외부힘 \(f_j\) (중력)는 그 차이로 정의된다.
\[ f_j = y_j - y_{j+1}. \]
세 질량에 대해 묶으면
\[ \begin{bmatrix} f_1 \\ f_2 \\ f_3 \end{bmatrix} = \begin{bmatrix} 1 & -1 & 0 & 0 \\ 0 & 1 & -1 & 0 \\ 0 & 0 & 1 & -1 \end{bmatrix} \begin{bmatrix} y_1 \\ y_2 \\ y_3 \\ y_4 \end{bmatrix} = A^\top y. \]
놀라운 점 — 1단계에서 등장한 \(A\) 의 전치가 정확하게 다시 나왔다. 우리가 차분과 평형을 따로 따로 적었을 뿐인데, 자연이 알아서 \(A\) 와 \(A^\top\) 를 짝지어 준다. 이것이 앞에서 강조한 “평형은 운동학의 전치” 의 구체적 모습이다.
3.4 합치기: \(K_0 = A^\top C A\)
세 식을 합치면
\[ K_0 u = f, \qquad K_0 = A^\top C A = \begin{bmatrix} c_1+c_2 & -c_2 & 0 \\ -c_2 & c_2+c_3 & -c_3 \\ 0 & -c_3 & c_3+c_4 \end{bmatrix}. \]
특히 모든 스프링 상수가 \(c_i = 1\) 이면 \(C = I\) 이고
\[ K_0 = A^\top A = \begin{bmatrix} 2 & -1 & 0 \\ -1 & 2 & -1 \\ 0 & -1 & 2 \end{bmatrix}. \]
이것이 선형대수 교과서를 통틀어 가장 자주 등장하는 \(-1, 2, -1\) 삼중대각 행렬 이다. 라플라시안의 1차원 이산 버전이고, 푸아송 방정식, 열방정식, 진동 모드, 그래프 라플라시안, 1D 유한요소까지 같은 골격으로 이어진다.
질량 \(m_1\) 의 입장에서 보면, 위쪽 스프링 \(c_1\) 과 아래쪽 스프링 \(c_2\) 가 둘 다 자기를 잡아당기고 있다. 그래서 \(m_1\) 의 “유효 강성” 은 두 스프링의 합 \(c_1 + c_2\) 다. 비대각의 \(-c_2\) 는 “\(m_2\) 가 \(c_2\) 만큼 \(m_1\) 을 끌어당긴다” 는 결합을 의미하고, 부호가 음인 이유는 \(m_2\) 가 같은 방향으로 움직이면 스프링이 덜 늘어나기(=내부힘이 줄어들기) 때문이다.
4 \(K\) 의 네 가지 성질
위에서 만든 \(K = A^\top C A\) 는 우연이 아니라 반드시 다음 네 가지 성질을 가진다. 모두 한 줄로 증명된다.
1. 대칭 (Symmetric).
\[ K^\top = (A^\top C A)^\top = A^\top C^\top (A^\top)^\top = A^\top C A = K. \]
증명에는 \(C\) 가 대각(따라서 대칭)이고, 전치가 곱의 순서를 뒤집는다는 사실만 쓰였다. 즉 강성행렬은 공학적 해석 없이도, 만드는 방식 그 자체에서 자동으로 대칭 이다.
2. 양반정치 (Positive Semidefinite).
임의의 벡터 \(u\) 에 대해
\[ u^\top K u = u^\top (A^\top C A) u = (A u)^\top C (A u) = e^\top C e = \sum_i c_i e_i^2 \ge 0. \]
여기서 \(c_i > 0\) 와 \(e_i^2 \ge 0\) 만 사용했다. 즉 강성행렬은 항상 양반정치다.
3. 양정치 (Positive Definite) — \(A\) 가 독립 열을 가질 때만.
\(u^\top K u = 0\) 이려면 모든 \(i\) 에 대해 \(e_i = 0\), 즉 \(A u = 0\) 이어야 한다. 이것이 \(u = 0\) 만을 강제하려면 \(A\) 의 영공간이 자명해야 하고, 이는 정확히 \(A\) 가 독립 열을 가질 조건 이다. 따라서
\[ A \text{ 의 열이 독립} \;\Longleftrightarrow\; K = A^\top C A \text{ 가 양정치}. \]
이 동치는 뒤에 나오는 free-free 와 circular 의 특이성 을 단숨에 설명해 준다.
4. 에너지 해석.
\[ \tfrac{1}{2}\, u^\top K u = \tfrac{1}{2} \sum_i c_i e_i^2 = \text{전체 스프링에 저장된 탄성 에너지}. \]
에너지는 음수일 수 없으므로 \(K\) 는 양반정치여야 한다. 거꾸로 말하면, 자연계의 어떤 법칙도 강성행렬이 음의 에너지를 가질 수 없게 만든다. 양정치성은 단지 수학적 성질이 아니라 에너지 보존의 행렬판 이다.
“\(K\) 가 대칭 양정치” \(\;\Longleftrightarrow\;\) “\(K\) 가 어떤 차분 행렬 \(A\) 와 양의 대각 \(C\) 로 \(A^\top C A\) 형태” \(\;\Longleftrightarrow\;\) “이차형식 \(\frac{1}{2}u^\top K u\) 가 물리적 에너지” — 세 진술은 같은 사실의 다른 얼굴이다.
5 작은 예제: 모두 같은 스프링과 질량
모든 \(c_i = c\), 모든 \(m_j = m\) 이라 하자. 중력은 각 질량을 \(f_j = mg\) 로 끌어당긴다. 그러면
\[ K_0 = c \begin{bmatrix} 2 & -1 & 0 \\ -1 & 2 & -1 \\ 0 & -1 & 2 \end{bmatrix}, \qquad K_0^{-1} = \frac{1}{4c}\begin{bmatrix} 3 & 2 & 1 \\ 2 & 4 & 2 \\ 1 & 2 & 3 \end{bmatrix}. \]
따라서 변위는
\[ u = K_0^{-1} f = \frac{mg}{c}\begin{bmatrix} 3/2 \\ 2 \\ 3/2 \end{bmatrix}. \]
해석 — 가운데 질량이 가장 많이 내려간다 (\(u_2 = 2 \cdot mg/c\)). 양 끝의 질량은 위·아래 벽이 가까이 있어 덜 내려간다 (\(u_1 = u_3 = 1.5 \cdot mg/c\)). 단위도 옳다. 힘 \(mg\) 를 강성 \(c\) (단위 길이당 힘)로 나누면 길이가 된다.
이어서 신장은
\[ e = A u = \frac{mg}{c}\begin{bmatrix} 3/2 \\ 1/2 \\ -1/2 \\ -3/2 \end{bmatrix}, \]
장력은 \(y = C e = c \cdot e\) 이므로 \(y = (1.5,\, 0.5,\, -0.5,\, -1.5)\, mg\) 다. 위 두 스프링은 늘어나고(\(y > 0\), 인장), 아래 두 스프링은 줄어든다(\(y < 0\), 압축). 중력에 의해 무게중심이 아래로 처지면 위쪽은 잡아당기고 아래쪽은 밀어내는 직관과 일치한다.
또한 \(e_1 + e_2 + e_3 + e_4 = 0\) 인 것도 자동이다 — 양 끝이 고정되어 있으니 모든 신장의 합은 0이어야 한다.
6 fixed-free: 한쪽만 고정하면 어떻게 되는가
이번엔 맨 아래 벽을 떼어 버리자. 4번째 스프링이 사라지고, 마지막 질량 \(m_3\) 는 자유롭게 매달린다. 그러면 차분 행렬은 마지막 행이 사라져 3×3 정사각형이 된다.
\[ A_1 = \begin{bmatrix} 1 & 0 & 0 \\ -1 & 1 & 0 \\ 0 & -1 & 1 \end{bmatrix}, \quad K_1 = A_1^\top C_1 A_1 = \begin{bmatrix} c_1+c_2 & -c_2 & 0 \\ -c_2 & c_2+c_3 & -c_3 \\ 0 & -c_3 & c_3 \end{bmatrix}. \]
가장 빠른 도출 방법은 이전 fixed-fixed 의 \(K_0\) 에서 \(c_4 = 0\) 으로 두기 이다. 마지막 행렬의 마지막 대각 원소가 \(c_3 + c_4\) 에서 \(c_3\) 으로 줄어들었음에 주목한다.
모든 \(c_i = 1\) 이면
\[ K_1 = \begin{bmatrix} 2 & -1 & 0 \\ -1 & 2 & -1 \\ 0 & -1 & 1 \end{bmatrix}, \qquad K_1^{-1} = \begin{bmatrix} 1 & 1 & 1 \\ 1 & 2 & 2 \\ 1 & 2 & 3 \end{bmatrix}. \]
같은 균일 중력 \(f = mg \cdot (1,1,1)\) 을 적용하면
\[ u = K_1^{-1} f = \frac{mg}{c}\begin{bmatrix} 3 \\ 5 \\ 6 \end{bmatrix}. \]
해석 — 아래쪽이 자유로워졌으므로 모든 변위가 fixed-fixed 보다 훨씬 크다. \(u_1 = 3 mg/c\) 인 이유는 첫 스프링이 자기 아래에 매달린 세 질량 전부의 무게 를 떠받쳐야 하기 때문이다. 두 번째 스프링은 그 아래의 두 질량만 떠받친다 (\(u_2 - u_1 = 2 mg/c\)). 세 번째는 자기 바로 아래의 한 질량만 떠받친다 (\(u_3 - u_2 = mg/c\)). 신장 \(e = (3, 2, 1) \cdot mg/c\) 의 등차 패턴은 누적되는 무게가 아래로 갈수록 한 단위씩 줄어드는 직관을 그대로 보여 준다.
이 경우 \(A_1\) 이 정사각 이고 가역이므로
\[ y = (A_1^\top)^{-1} f = \begin{bmatrix} 3mg \\ 2mg \\ mg \end{bmatrix} \]
처럼 \(u\) 를 거치지 않고 \(y\) 를 직접 구할 수도 있다. 일반적으로 \(A\) 가 직사각이면 이것이 불가능하므로(\(A^\top y = f\) 의 해가 무한히 많거나 없음), \(K^{-1}\) 을 통째로 푸는 수밖에 없다.
7 free-free 와 circular: 특이성과 영공간
마지막으로 양 끝이 모두 자유로운 경우를 보자. 위·아래 벽이 모두 사라졌고 스프링은 두 개만 남는다 (\(c_2, c_3\) 이라고 하자). 이제 차분 행렬은 2행 3열의 짧고 넓은 행렬이다.
\[ A_{\text{ff}} = \begin{bmatrix} -1 & 1 & 0 \\ 0 & -1 & 1 \end{bmatrix}. \]
문제: \(A_{\text{ff}} u = 0\) 의 해가 존재하는가? \(u = (1,1,1)\) 을 대입하면 \(e = (0,0)\) 이다. 즉 세 질량이 모두 같은 양만큼 평행이동 하면 어떤 스프링도 늘어나지 않는다. 이것이 강체 운동 모드(rigid body mode) 이고, 수학적으로는 \(A_{\text{ff}}\) 의 영공간에 \((1,1,1)\) 이 있다는 사실이다.
따라서
\[ K_{\text{singular}} = A_{\text{ff}}^\top C_{\text{ff}} A_{\text{ff}} \]
도 같은 영공간을 가져 양반정치이지만 양정치는 아니다. 고유값 중 하나가 정확히 0이고, 그에 해당하는 고유벡터가 \((1,1,1)\) 이다.
물리적 의미 — 외부힘 \(f\) 에 대해 \(K u = f\) 를 풀려면 \(f\) 가 영공간과 직교해야 한다. 즉
\[ (1,1,1) \cdot f = f_1 + f_2 + f_3 = 0. \]
세 외부힘의 합이 0이 아니면 시스템 전체가 가속도를 받아 평형을 잃고 날아가 버린다. 평형은 존재하지 않으므로 방정식의 해도 없다. 이것은 로켓 방정식의 정역학판 이다.
\(A_{\text{ff}}\) 는 두 개의 변(스프링)과 세 개의 정점(질량)을 가진 경로 그래프의 incidence matrix(접속 행렬) 와 정확히 같다. 그래서 \(A^\top A\) 는 그래프 라플라시안 \(L\) 이고, 영공간에 \((1,1,1)\) 이 있는 이유는 “연결 성분의 개수만큼 0 고유값이 존재한다” 는 그래프 라플라시안의 기본 정리 의 가장 작은 사례다. 같은 골격이 §8.2 의 회로/네트워크에서 그대로 다시 등장한다 (Ch.8 §8.2 — Graphs and Networks 참조).
원형(circular)으로 양 끝을 이어 붙이면 — 마지막 질량과 첫 질량을 추가 스프링으로 연결하면 — 행렬은 다음과 같이 바뀐다.
\[ K_{\text{circular}} = \begin{bmatrix} 2 & -1 & -1 \\ -1 & 2 & -1 \\ -1 & -1 & 2 \end{bmatrix}. \]
이 행렬은 세 정점이 모두 두 개의 변으로 둘러싸인 사이클 그래프의 라플라시안이다. 행 합이 0이므로 여전히 \((1,1,1)\) 이 영공간에 있고, 고유값은 \(\{0, 3, 3\}\) 다. 회로를 닫아도 강체 회전 모드는 없어지지 않는다.
8 \(K\) 의 성질 종합표
| 경계조건 | 차분 \(A\) | \(K\) 의 형태 | 양정치성 | 영공간 |
|---|---|---|---|---|
| fixed-fixed | \(4 \times 3\) | \(K_0\) (위 식) | 양정치 | \(\{0\}\) |
| fixed-free | \(3 \times 3\) 정사각·가역 | \(K_1\) | 양정치 | \(\{0\}\) |
| free-free | \(2 \times 3\) 짧고 넓음 | \(K_{\text{singular}}\) | 양반정치 | \(\operatorname{span}\{(1,1,1)\}\) |
| circular | \(3 \times 3\) 사이클 | \(K_{\text{circular}}\) | 양반정치 | \(\operatorname{span}\{(1,1,1)\}\) |
한눈에 보는 패턴 — \(A\) 가 독립 열을 가지면(첫 두 줄) \(K\) 는 양정치이고 풀이는 유일하다. \(A\) 가 의존 열을 가지면(아래 두 줄) \(K\) 는 특이하고, 영공간이 강체 운동 모드에 해당한다.
9 연속체 극한: 미분방정식이 등장하는 순간
지금까지의 모델은 모두 이산 이었다. 질량과 스프링의 개수가 유한이고, 행렬 크기도 유한이다. 이제 질량과 스프링의 개수를 무한히 많이, 무한히 가깝게 두면 어떻게 될까. 연속적인 탄성 막대기가 된다.
각 질량 사이 거리를 \(\Delta x\) 로 두면, 차분은 미분으로 바뀐다.
\[ \frac{u_i - u_{i-1}}{\Delta x} \;\longrightarrow\; \frac{du}{dx}, \qquad \frac{y_i - y_{i+1}}{\Delta x} \;\longrightarrow\; -\frac{dy}{dx}. \]
따라서 세 단계는
\[ e(x) = \frac{du}{dx}, \qquad y(x) = c(x)\, e(x), \qquad -\frac{dy}{dx} = f(x) \]
가 되고, 합치면
\[ \boxed{\;-\frac{d}{dx}\!\left( c(x)\, \frac{du}{dx}\right) = f(x).\;} \]
이것이 1차원 탄성 막대기의 평형 방정식 이다. 같은 식이 1차원 정상상태 열전도(\(c\) 는 열전도도, \(u\) 는 온도, \(f\) 는 열원), 1차원 정상상태 확산, 1차원 푸아송 방정식 등에서 등장한다. 즉
\[ A^\top C A \;\longleftrightarrow\; -\frac{d}{dx}\!\left(c(x)\frac{d}{dx}\right) \]
라는 이산-연속 대응 이 정확히 성립한다. 그리고 이 대응이 바로 유한요소법(FEM) 의 출발점이다. FEM 은 연속 미분방정식을 잘게 쪼개 다시 이산 행렬 \(K_{\text{FE}} u = f\) 로 변환하는데, 그 결과 행렬은 항상 우리가 본 형태와 같은 골격 — 차분, 물성, 그 전치 — 을 가진다.
미분 한 번이 차분 한 번에 대응한다면, 두 번 미분은 차분 두 번에 대응할 것 같다. 그런데 부호가 음수인 이유는 평형 단계의 차분 \(y_i - y_{i+1}\) 에 \(-1\) 이 숨어 있기 때문이다. 결국 \(A^\top\) 는 음의 미분 \(-d/dx\) 에 대응하고, 두 번 거치면서 음의 음수가 양수가 되어 최종 미분방정식 좌변에 \(-d/dx(c \cdot d/dx)\) 형태가 나온다. 부호가 정확히 자리잡는 덕분에 이차형식 \(\int c (du/dx)^2 \, dx\) 가 양수가 되고, 이것이 연속체의 에너지 양정치성이다.
10 코드: NumPy 로 fixed-fixed 와 fixed-free 풀어 보기
import numpy as np
# fixed-fixed: 4 by 3 차분 행렬
A0 = np.array([
[ 1, 0, 0],
[-1, 1, 0],
[ 0, -1, 1],
[ 0, 0, -1],
])
# 스프링 상수 (모두 1로 두면 K_0 = A^T A 가 -1, 2, -1 행렬)
C0 = np.diag([1.0, 1.0, 1.0, 1.0])
K0 = A0.T @ C0 @ A0
print("K0 =\n", K0)
# [[ 2 -1 0]
# [-1 2 -1]
# [ 0 -1 2]]
# 균일 중력 f = (mg, mg, mg), m=g=1 로 정규화
f = np.array([1.0, 1.0, 1.0])
u0 = np.linalg.solve(K0, f)
e0 = A0 @ u0
y0 = C0 @ e0
print("변위 u =", u0) # [1.5 2. 1.5]
print("신장 e =", e0) # [ 1.5 0.5 -0.5 -1.5]
print("장력 y =", y0) # [ 1.5 0.5 -0.5 -1.5]
print("u^T K u =", u0 @ K0 @ u0) # 양수 → 양정치 확인# fixed-free: 마지막 행 제거 → 3 by 3 정사각
A1 = A0[:3, :]
C1 = np.diag([1.0, 1.0, 1.0])
K1 = A1.T @ C1 @ A1
u1 = np.linalg.solve(K1, f)
print("K1 =\n", K1)
# [[ 2 -1 0]
# [-1 2 -1]
# [ 0 -1 1]]
print("변위 u =", u1) # [3. 5. 6.]# free-free: 영공간 확인
A_ff = np.array([
[-1, 1, 0],
[ 0, -1, 1],
])
K_ff = A_ff.T @ A_ff
print("K_ff =\n", K_ff)
# [[ 1 -1 0]
# [-1 2 -1]
# [ 0 -1 1]]
eigvals, eigvecs = np.linalg.eigh(K_ff)
print("고유값 =", eigvals) # [0. 1. 3.]
print("0에 대응하는 고유벡터 =", eigvecs[:, 0])
# (1, 1, 1)/sqrt(3) — 강체 평행이동 모드이 코드 한 번이면 위에서 손으로 푼 모든 결과(변위, 신장, 장력, 양정치성, 영공간 모드)를 한 번에 검증할 수 있다.
11 데이터 사이언스와의 연결
이 절의 골격은 공학 밖에서도 똑같이 등장한다.
| 분야 | \(A\) | \(C\) | \(K = A^\top C A\) |
|---|---|---|---|
| 회로 이론 | 그래프 incidence matrix | 컨덕턴스 대각 | 노드 어드미턴스 행렬 (Kirchhoff) |
| 그래프/네트워크 | 변-정점 incidence matrix | 가중치 대각 | 그래프 라플라시안 \(L\) |
| 가중 최소제곱 | 설계 행렬 | 가중치 대각 \(W\) | 정규방정식 \(X^\top W X\) |
| 가우시안 BLUE | 설계 행렬 | \(\Sigma^{-1}\) | \(X^\top \Sigma^{-1} X\) (피셔 정보) |
| 정규화 회귀(Tikhonov) | 차분 행렬 \(D\) | \(\lambda I\) | \(\lambda D^\top D\) (smoothness penalty) |
| GNN 라플라시안 정규화 | edge incidence | \(I\) | \(L = A^\top A\) |
특히 머신러닝에서 자주 만나는 정규방정식 \(X^\top X \beta = X^\top y\) 와 그 가중판 \(X^\top W X \beta = X^\top W y\) 는 정확히 \(K = A^\top C A\) 형태다. 따라서 다음 사실이 모두 한 줄에 따른다.
- \(X^\top W X\) 는 항상 대칭 양반정치 다 (위의 성질 1과 2).
- \(X\) 가 독립 열을 가지면 양정치다 (성질 3).
- 잔차 \(e = y - X\beta\) 의 가중 제곱합 \(e^\top W e\) 는 음수가 될 수 없다 (성질 4의 에너지).
즉 통계학의 가우스–마르코프 정리, 머신러닝의 정규방정식, 공학의 강성행렬, 그래프 이론의 라플라시안은 모두 같은 행렬 골격의 다른 이름 이다. 한 번 이 골격을 익혀 두면, 분야가 바뀌어도 새로 익힐 것이 거의 없다.
12 정리
이 절의 핵심을 한 표로 모은다.
| 단계 | 식 | 직관 | 어떤 행렬을 만드는가 |
|---|---|---|---|
| 운동학 | \(e = A u\) | 변위 → 변형 (차분) | 직사각 차분 행렬 \(A\) |
| 구성식 | \(y = C e\) | 변형 → 내부힘 (Hooke) | 양의 대각 \(C\) |
| 평형 | \(f = A^\top y\) | 내부힘 ↔︎ 외부힘 | \(A\) 의 전치 \(A^\top\) |
| 합 | \(K u = f\), \(K = A^\top C A\) | 변위 → 외부힘 | 대칭 양정치 강성행렬 |
그리고 다음 한 줄을 기억하자.
“\(K\) 가 대칭 양정치” \(\;\Longleftrightarrow\;\) “\(K\) 가 어떤 차분 행렬의 \(A^\top C A\)” \(\;\Longleftrightarrow\;\) “\(\frac{1}{2}u^\top K u\) 가 물리적 에너지” — 한 사실의 세 얼굴이다.
13 관련 주제
Ch.8 Applications — 7가지 응용 종합 개요 — 본 §8.1을 포함한 Ch.8 전체 응용의 큰 그림
Ch.6 §6.5 Positive Definite Matrices — 양정치성의 대수적 특성과 이차형식
Ch.4 §4.3 Projections — 정규방정식 \(A^\top A x = A^\top b\) 가 같은 골격임을 확인
Ch.4 §4.4 Least Squares Approximations — 가중 최소제곱과 BLUE
Ch.4 §4.5 Orthogonal Bases and Gram-Schmidt — 직교성을 통한 정규방정식 풀이