줄리아에서 합성함수 사용하는 법

줄리아에서 합성함수 사용하는 법

코드

julia> f(x) = 2x + 1
f (generic function with 1 method)

julia> g(x) = x^2
g (generic function with 1 method)

julia> (g  f)(3)
49

설명

줄리아에서 함수의 합성은 프로그래밍적으로는 파이프 오퍼레이터와 흡사하다. 이러한 합성이 가능함으로써 가장 큰 이점은 수학자의 입장에서 수식을 코드로 표현하기가 쉬워진다는 것이다. 위 예시는 단지 다음의 수식을 코드로 옮긴 것에 불과하다.

$$ f(x) := 2x + 1 \\ g(x) := x^2 \\ (g \circ f) (3) $$

요즘은 많은 언어들이 그러하듯 함수를 일급 객체로 다루는 것은 똑같지만, 순수수학에서 함수 공간을 다루는 것처럼 조금 더 극단적인 철학을 거쳐 문법으로까지 발전한 것으로 볼 수 있다. 참고로 함수합성 연산자는 tex 문법 그대로 \circ를 입력함으로써 사용할 수 있다.

댓글