1. 이차형식(quadratic form)

\[\mathbf{x}^T A \mathbf{x} = \begin{bmatrix} x_1 & \cdots & x_n \end{bmatrix} \begin{bmatrix} a_{1, 1} & \cdots & a_{1, n} \\ \vdots & \cdots & \vdots \\ a_{n, 1} & \cdots & a_{n, n} \end{bmatrix} \begin{bmatrix} x_1 \\ \vdots \\ x_n \end{bmatrix} = a_{1, 1} x_1^2 + \cdots + a_{n, n} x_n^2\]

- 어떤 \(n \times n\) 정사각행렬 \(A\)와 어떤 \(n\)-벡터 \(\mathbf{x}\)가 주어질 때, \(\mathbf{x}^T A \mathbf{x}\) 꼴의 식을 이차형식이라 한다.

- 이 값은 scalar값이므로 transpose 하더라도 자기 자신과 같다. 이 성질을 이용하여 다음과 같이 쓸 수 있다.

\[\mathbf{x}^T A \mathbf{x} = (\mathbf{x}^T A \mathbf{x})^T = \mathbf{x}^T A^T \mathbf{x} = \mathbf{x}^T ({ {A + A^T } \over 2}) \mathbf{x}\]

이처럼 이차형식의 가운데에 들어가는 정방행렬은 항상 \(A+A^T\) 꼴로 고칠 수 있다. 그런데 \(A+A^T\) 는 항상 대칭행렬이므로, 이차형식의 가운데에 들어가는 정방행렬은 항상 그에 대응되는 대칭행렬을 구할 수 있다.

2. 정부호 행렬(definite matrix)

- 어떤 \(n \times n\) 정사각 대칭행렬 \(A\)가 있을 때, 0 아닌 모든 n-벡터 \(\mathbf{x}\)에 대하여 \(\mathbf{x}^T A \mathbf{x}\)의 값이 0보다 크다(작다)면 그때 \(A\)를 정부호 행렬이라 한다. (0보다 크면 양의 정부호 행렬, 0보다 작으면 음의 정부호 행렬. 0보다 크거나 같으면 양의 준정부호 행렬, 0보다 작거나 같으면 음의 준정부호 행렬.)

- 양의 정부호 행렬은 다음 성질을 갖는다.

  • 고유값이 모두 양수다.

  • full rank이며, 따라서 역행렬이 존재한다. 이때 역행렬 또한 정부호 행렬이다.

  • 임의의 행렬 \(A\)가 역행렬을 갖는다면 \(A^T A\)는 양의 정부호 대칭행렬이다. (역도 성립.)

- \(\mathbf{x}^T A \mathbf{x}\)의 값이 0보다 클 때도 있고 작을 때도 있을 경우 이때 \(A\)를 부정부호 행렬(indefinite matrix)이라 한다.

3. gram matrix

- 어떤 \(m \times n\) 크기의 행렬 \(A\)가 있을 때, \(A^T A\)의 값은 항상 \(n \times n\) 정방행렬이 되며 이렇게 만들어지는 정방행렬을 gram matrix라 한다.

  • gram matrix는 항상 양의 준정부호 행렬이다.

  • 만약 \( m \ge n\)이고 \(A\)가 full rank라면 \(A^T A\)는 양의 정부호 행렬이다.

4. 이차형식을 최대화하는 벡터 구하기

- 어떤 \(n \times n\) 정사각행렬 \(A\)와 크기가 1인 어떤 \(n\)-벡터 \(\mathbf{x}\)에 대한 이차형식 \(f(A, \mathbf{x}) = \mathbf{x}^T A \mathbf{x}\) 의 값을 최대화하는 벡터를 구하는 문제가 있다 하자.

  • 이러한 문제는 ‘제약조건 하에서 극값 찾기’ 문제에 해당하며, 제약조건 \(g(\mathbf{x})=0\)에 대하여 함수 \(f(\mathbf{x})\)의 극값을 가리키는 벡터가 \(\mathbf{x}_0\)라 할 때 적당한 상수 \(\lambda\)에 대하여 \(\nabla f(\mathbf{x}_0) = \lambda \nabla g(\mathbf{x}_0)\)을 만족함이 알려져 있다.

    따라서 함수 \(f(A, \mathbf{x}) = \mathbf{x}^T A \mathbf{x}\)와 제약조건 \(g(\mathbf{x}) = \mathbf{x}^T \mathbf{x} - 1 = 0 \)에 대하여

    \(\nabla f(A, \mathbf{x}_0) = 2A\mathbf{x}_0 = \lambda \nabla g(\mathbf{x}_0) = 2\lambda \mathbf{x}_0 \) 라고 쓸 수 있으며,

    여기서 \(f(A, \mathbf{x})\)는 \(\mathbf{x}\)가 고유벡터일 때 최댓값을 가짐을 알 수 있다.

    그런데 \(\mathbf{x}^T A \mathbf{x}\) 이 식의 \(A\)는 항상 그에 대응되는 대칭행렬을 찾을 수 있다고 했으므로, 이제부터 \(A\)를 대칭행렬이라고 생각하고 다음을 보자.

    대칭행렬 \(A\)의 고유벡터들은 항상 서로 직교하므로, \(i\)번째 열이 고유벡터 \(\mathbf{u}_i\)인 행렬 \(U\)와 \(i\)번째 대각성분으로 고유값 \(\lambda_i\)(단, \(i=1, \cdots, n\))를 갖는 대각행렬 \(\Lambda\) 에 대하여 \(A = U \Lambda U^T\)로 쓸 수 있다.

    한편, \(\mathbf{y} = U^T \mathbf{u}_i = \begin{bmatrix} y_1 & \cdots & y_n \end{bmatrix} \)로 써보자.

    이때 \(U^T\)는 각 행이 고유벡터이므로, \(\mathbf{y}\)는 성분 딱 하나만 1이고 나머지 성분은 모두 0인 벡터가 된다.

    따라서 \(f(A, \mathbf{u} _i) = \sum _{j=1}^n \lambda_j y_j^2 = \lambda_i\) 으로 쓸 수 있다.

    즉, \(f(A, \mathbf{x})\)의 값은 고유값을 최대로 하는 고유벡터를 입력으로 가질 때 최대가 된다.