시간 지나면 좀 헷갈릴 수 있는 개념이라서, 내 방식대로 정리해두어야겠다.
우선 벡터장은 함수다. 장(Field)이라는 이름이 붙었다고 해서 별다른 게 아니라, 함수의 일종이다.
벡터장은 좌표를 받아서 벡터를 반환하는 함수다. 이게 전부다. 벡터를 반환하므로 벡터장이라고 불리는 것이다.
우리가 알고 있는 일반적인 함수는 좌표를 받아서 숫자를 반환한다. 예를 들어 는 를 받아서 을 반환한다.
그래서 벡터장과 구분할 때는 스칼라장이라고 불린다.
그래디언트는 연산자다. 어떤 수학적 대상이라기 보다는, 기호라는 뜻이다. 마치 더하기, 곱하기 같은 기호인 셈이다.
예를 들어 더하기 연산자는 숫자 두 개를 합친다. +(1, 2) = 3인 것처럼.
그래디언트도 역할이 있다. 그 역할이 뭘까?
이 역할이 과학, 공학에서 워낙 요긴해 그래디언트라는 연산자를 따로 정의한 것이다.
그 역할이란 바로 스칼라장(일반적인 함수)으로부터 의미를 도출한 다음 벡터장으로 바꿔준다는 것이다.
즉 어떤 스칼라장 에다가 그래디언트 연산자를 붙여서 로 만들면, 로부터 어떤 의미를 도출해서 만든 벡터장이 된다.
이게 뭐가 요긴하다는 걸까?
자, 스칼라장은 좌표를 받아서 값을 낸다. 그러면 좌표가 이동할 때 이 값도 변할 것이다. 예를 들어 위 는 에서 값이 인데, 로 이동하면 값이 로 변한다. 즉 방향으로 이동했더니 반환하는 값이 커진 것이다.
이 때, 에서 어느 방향으로 이동하면 값의 변화가 제일 클까? 그리고 그 변화량은 얼마일까?
지금은 모르지만 따져보면 어쨌든 어떤 방향과 크기가 도출될 것이다.
라는 스칼라장은 좌표별로 이렇게 '제일 많이 반환값이 변할 만한 방향과 그 크기'를 가진다.
이 정보, 즉 방향과 크기 정보를 벡터에 담을 수 있지 않은가?
그럼 달리 말해 이 스칼라장은 좌표마다 벡터를 가진다는 뜻이다.
그러면 좌표를 집어넣었을 때 벡터를 반환하는 벡터장을 하나 만들고 싶어진다.
그게 바로 다.
즉 그래디언트는 주어진 스칼라장을, 그 스칼라장의 좌표별 반환값의 최대 변화 방향과 그 크기를 반환하는 벡터장으로 바꿔주는 연산자다.
NEXT POST
PREVIOUS POST