J: 역변과 아래(Under)

J: 역변과 아래(Under) (Intro 26)

J 입문 26장에서는 함수의 역변(obverse, ^:_1)과 아래 접속사(under conjunction) &.이 준비 함수를 적용·해제하며 주 함수를 적용하는 것을 설명해요.

출처: 문서

본문

f^:_1의 결과를 함수 f의 역변(obverse)이라 불러요. f=: g :. h이면 이 역변은 h이고, 그 외에는 f의 역(inverse)이에요. 역은 25개가 넘는 원시형(11절에서 설명된 제곱근의 경우 포함)과, -&3, 10&^., 2&o. 같은 많은 결합된 이항에 대해 제공돼요. 게다가 u@v^:_1(v^:_1)@(u^:_1)로 주어져요. 예를 들어:


   fFc=: (32&+)@(*&1.8)
   ]b=:fFc _40 0 100
_40 32 212

   cFf=: fFc^:_1
   cFf b
_40 0 100

f &. g의 결과는 동사 (g^:_1)@(f & g)이에요. 함수 g는 "주(main)" 함수 f의 적용을 위한 준비(preparation, 앞뒤로 실행 및 해제됨)로 볼 수 있어요. 예를 들어:


   b=: 0 0 1 0 1 0 1 1 0 0 0
   sup=: </\                   Suppress ones after the first
   sup b
0 0 1 0 0 0 0 0 0 0 0

   |. sup |. b                 Suppress ones before the last
0 0 0 0 0 0 0 1 0 0 0

   sup&.|. b
0 0 0 0 0 0 0 1 0 0 0

   3 +&.^. 4                   Multiply by applying the exponential
12                             to the sum of logarithms

   (^.3)+(^.4)
2.48491

   ^ (^.3)+(^.4)
12

   ]c=: 1 2 3;4 5;6 7 8
+-----+---+-----+
|1 2 3|4 5|6 7 8|
+-----+---+-----+

   |.&.> c                     Open, reverse, and then box
+-----+---+-----+
|3 2 1|5 4|8 7 6|
+-----+---+-----+

연습문제 (Exercises)

26.1

다음을 읽고 쓰기의 연습으로 사용해 보세요. a=: 2 3 5 7, b=: 1 2 3 4, c=: <@i."0 i. 3 4 같은 인자를 사용해 보세요:


f=: +&.^.                      Multiplication by addition of natural logs
g=: +&.(10&^.)                 Multiplication using base-10 logs
h=: *&.^                       Addition from multiplication
i=: |.&.>                      Reverse each box
j=: +/&.>                      Sum each box
k=: +/&>                       Sum each box and leave open

더 알아보기 (Learn more)

출처: Intro 26. Obverse and Under