Chapter 15 Eigen Matrix 연산

다음의 변수들이 정의되어 있다고 하자.

  • A: \(n \times p\)Eigen::MatrixXd
  • B: \(p \times q\)Eigen::MatrixXd
  • v: \(p\)차원 Eigen::VectorXd
  • w: \(p\)차원 Eigen::VectorXd

15.1 Matrix 덧셈, 뺄셈

// A + A
A + A

// A - A
A - A

15.2 스칼라 곱셈, 나눗셈

// 3 * A (scalar x matrix)
3 * A

// A / 2 (matrix / scalar)
A / 2

// 2 * v (scalar x vector)
2 * v

15.3 Matrix 곱셈

// A %*% B (matrix %*% matrix)
A * B

// A %*% v (matrix %*% vector)
A * v

15.4 내적, 외적

// 내적(dot product)
v.dot(w)

// 외적(cross product)
v.cross(w)

15.5 Elementwise 연산

Matrix의 elementwise 연산은 .array() method로 할 수 있다.

// A + 1 (matrix A의 elementwise 곱셈)
A.array() * 1

// A * A (matrix A의 elementwise 곱셈)
A.array() * A.array()

15.6 연산 관련 함수들

// matrix A의 모든 원소의 합
A.sum()

// trace of A
A.trace()