vector가 단지 list of numbers일 경우 우리는 화살표로 공간에 나타낼 수 있다.
다만 원점에서 시작하지 않고도 벡터 (0,2)에서 시작된 벡터 (4,2)를 나타낼 수 도 있다.
그림 두개를 통해 둘다 vector (4,2)이지만 끝나는 지점이 동일하지 않다는 것을 알 수 있음
이것이 종종 벡터를 공간(space)의 점(points)로 나타낼 경우 혼동될 수 있는 이유이다.
What is Vector?
v 위의 화살표는 해당 기호가 벡터(vector)임을 나타내는 것이다.
Notation 1
이론적으로 이것이 하나의 점에 상응하는 것이 맞지만 우리는 이것을 vector로 상응한다고 할 것이다.
이 개념은 어느 차원의 수와도 확장대응된다.
Notation 2
matrix 개념은 vector가 matrix와 상호작용할 때 유용하다
** What is a matrix?
an array of numbers that we surround with square brackets
matrix의 차원은 얼만큼의 행과 열이 있는지에 따라 달라진다.
Dimension = rows x columns
Notation 3
아래 개념들은 오직 2,3차원에서만 적용된다.
i^ 는 x vector의 단위로 i^=(1,0,0)이다. 이와 유사하게
j^=(0,1,0)
k^=(0,0,1)
Addition
일반적으로 두개의 벡터를 더하면 우리는 상응하는 요소를 더하는 것이다.
이것은 어느 차원의 수라도 적용되며 단순히 3개의 수에 대해서만 적용되는 것은 아니다.
a+b 의 합을 그림에서 나타낸 것
Scalar Multiplication
scalar는 단순히 number의 다른 말이라고 생각하면 된다.
일반적으로 벡터에 숫자를 곱하는 것은 벡터 각 성분에 그 숫자를 곱하는 것을 의미한다.
예를 들어 벡터에 2를 곱한다는 것을 2차원으로 나타낼 경우 ( = 벡터를 2배만큼 늘린다.)
벡터에 -1을 곱한다는 것은 벡터의 방향을 바꾸는 것과 같다.
Magnitude
위에서 했던 것 처럼, 벡터를 화살표처럼 나타낸다면 자연스러운 질문은 “그 벡터는 얼마나 긴가?”일 것이다.
벡터의 크기(magnitude of a vector)는 다음과 같이 사용한다.
피타고라스의 정리를 사용하여 계산한다.
따라서 벡터의 크기 (a,b)는 a2+b2 이다
Dot Product
aka. 내적, 스칼라 곱
해당 식의 처음 두개는 ||a||와 ||b|| 이며 이것은 a 와 b의 크기(magnitude)를 말한다. 따라서 dot product는 얼마나 벡터의 크기가 큰지를 고려한다.
마지막 요소는 cos(θ)인데 θ의 각도는 a와 b의 각도 사이에 존재한다.
주의할 점은 두 벡터에 대한 dot product의 결과 값은 number이지 vector가 아니라는 점이다.
따라서 벡터 a b c가 무엇과 동일한지 묻는 것은 옳지않다. 이미 a * b에 대해 dot product를 하여 어떠한 수를 결과값으로 낸 경우 우리는 이 number를 다른 벡터(c)와 다시 dot product하지 않는다는 것이다.
특히 θ 이 0일 때, 두 벡터는 정확히 동일한 방향을 가르키게 된다. 이것은 벡터의 크기를 고려하지 않았을때dot product가 가장 클 때이다. 왜냐하면 cos(0) = 1 이기 때문이다. 일반적으로 두개의 벡터가 같은 방향을 가르킬수록, 두 벡터의 dot product 값이 커진다.
θ가 2π 일때 두개의 벡터는 정확하게 서로 수직(perpendicular)이다. 이것은 두 벡터의 dot product가 0임과 상응한다. 왜냐하면 cos(2π) = 0 이기 때문이다.
두 벡터가 서로 반대 방향을 가르킬경우 또한 dot product은 음수이다. 이는 2π<θ<23π 일 때를 의미한다.
θ에 대해 생각하는 또 다른 방법은 하나의 벡터가 다른 벡터에 그림자를 드리우는 것을 상상하는 것이다. 각도가 작으면 그림자가 원점에서 멀리 떨어져 착지하고 dot product가 크다.
Dot Product의 공식
예제
1∗(−5)+3∗2=1
Cross Product
aka. 외적, 벡터곱
a x b 와 같이 cross product를 나타낸다.
dot product와 다르게(number를 반환한다는 점), cross product의 결과는 또다른 vector이다.
a x b = c 에서 c는 두개의 특별한 특징을 갖는다.
특징1. 이는 a와 b 모두에 대해서 수직(perpendicular)이다.
이는 c•a=c•b=0 이라고 표현할 수도 있다.
cross product는 오직 3차원에서만 작용한다. 2차원에서는 항상 다른 벡터쌍에 수직인 벡터가 존재하지 않기 때문이다. 4차원 그 이상에서는 다른 벡터쌍에 대해 무한대의 수직인 벡터가 존재하기 때문이다.
특징2. c의 길이는 a와 b가 가르키는 지점이 얼마나 떨어져있는지로 측정된다.
dot product에서 cos를 사용했던 것과 달리 여기서는 sin을 사용한다.
θ의 각도는 마찬가지로 a와 b 사이이다.
각도가 90˚일 때 가장 cross product의 값이 크다.
a와 b로 이루어진 평행사변형을 생각해보자.
이 평행사변형의 길이는 ||a||이고 높이는 ||b||sin(θ)이다.
이 의미는 이 평행사변형의 넓이가 cross product의 크기라는 것이다.
cross product의 공식
예제) (3, 0, 2) x (-1, 4, 2) = (-8, -8, 12)
Matrices Intro
aka. 행렬
matrix란 square brackets로 둘러싸인 수들의 나열이다.
matrix의 차원은 얼만큼의 행과 열로 이루어져있는지로 결정되며 우리는 이것은 row x columns로 쓴다.
예를들어 오른쪽은 2 x 3 matrix이다.
matrix가 동일한 수의 행과 열로 이루어졌을 경우 우리는 이것은 square matrix(정사각행렬)라고 한다.
matrix안의 수들을 원소(elements) 또는 entries라고 한다.
transpose of matrix (전치행렬)
행과 열을 서로 바꾼 것
n x m 행렬 → m x n 행렬
αi,j는 αj,i가 되며 A에 대한 전치행렬은 AT로 나타낸다.
vectors as matrices
벡터는 수의 나열이기 때문에 우리는 이를 matrix로 표현할 수 있다.
row vector (1 x n)
column vector (n x 1)
Addition
Scalar Muliplication
Matrix multiplication
Visualizing Metrices
Matrices as movement
행렬의 열은 i와 j가 어디로 움직이는 지를 말해준다.
이는 i가 (1,1)로 움직이며 j가 (0,1)로 움직인다는 것이다.
오른쪽 그림은 그 결과값을 의미한다.
해당 좌표는 벡터 i (1,0)과 벡터 j (0,1)을 나타낸 것이다.
matrix A를 생각해보자
grid의 선을 항상 평행하고 일정한 간격으로 유지하며 원점을 고정된 상태로 유지하며 움직인다.
동일한 과정을 다른 행렬을 통해 진행한 결과이다.
움지이는 원리 참조
How matrices move vectors
행렬이 임의의 벡터를 어디로 이동시키는지 어떻게 찾을 수 있을까?
A에서 원소가 아닌 벡터 (1,2)로 어떻게 이동할 수 있을까?
행렬이 아닌 벡터의 이동
그리드에 따라 움직인 행렬에 대한 벡터
이를 계산하기 위해 표현한 것이다. 기존 값에서 각각 A를 곱해주었다.
프로세스는 다음과 같다.
Determinants
aka. 행렬식
Determinant as a scaling factor
work flow
작은 상자의 시작은 그림과 같이 1이다.
만약 matrix가 확장된다면, 이 행렬식은 1보다 커진다.
matrix가 확장되거나 축소되지 않는다면, determinant는 정확히 1이다.
만약 matrix가 축소된다면 행렬식은 1보다 작아진다.
몇몇 행렬식은 space가 너무 축소되어 사실상 모든 그리드를 하나의 선으로 flatten 시키게 된다.
이것은 행렬이 단위벡터를 같은 선에 놓여 서로 배수를 만들 때 마다 발생한다. 이러한 행렬의 행렬식은 0이다.
행렬식이 스케일링 요소(scaling factor)일지라도 이것이 항상 양수인 것은 아니다. ** scaling factor: 어떤 양을 늘리거나 줄이거나 곱하는 수
행렬식의 부호(sign)은 i^ 와 j^ 의 부호의 영향을 받는다.
행렬이 방향이 뒤집히면 이것의 행렬식은 음수이다.
주로 i^는 j^의 오른쪽에 위치하지만 그림과 같이 왼쪽에 존재하는 경우를 유의할 것
How to calculate determinants
2D determinants 계산하기
행렬식을 쓰는데에는 두가지 방식이 있다.
2차원 행렬식에서만 적용되는 2차원 행렬식 공식은 ad - bc 이다.
3D determinants 계산하기
처음으로 a1,1에 위치한 2를 고려하자. 이를 anchor number라고 한다. anchor number와 동일한 행 또는 열에 있는 모든 원소들을 무시한다고 하자.