J: 이차 함수(Secondaries)
J: 이차 함수(Secondaries) (Intro 28)
J 입문 28장에서는 언어에서 제공된 원시형·일차 함수(primitives/primaries)를, 인식하기 쉬운 클래스에 속하는 이름의 이차 함수(secondaries)로 보충하는 편리함을 설명해요.
출처: 문서
본문
언어에서 제공된 원시형·일차 함수를, 이름이 쉽게 인식되는 클래스에 속하는 이차 함수로 보충하는 것이 편리해요. 다음 예들은 대문자로 시작하는 이름을 사용해요:
| 이름 | 정의 | 의미 |
|---|---|---|
Ad=: |
[ 0:}-@>:@$@]{.] |
대각선 스칼라 추가(Append diagonal scalar) |
Ai=: |
>:@i. |
증가된 정수(Augmented integers) |
Area=: |
[: Det ] ,. %@!@#"1 |
면적(Area/Vol). Area tet=:0,=i.3 시도 |
Bc=: |
i. !/ i. |
이항 계수(Binomial coefficients) |
Bca=: |
%.@Bc |
이항 계수(교번, alternating) |
By=: |
' '&;@,.@[ ,. ] |
By(포맷; Ta 참조) |
Cpa=: |
]%.i.@#@]^/Ei@[ |
다항 근사 계수(Coeffs of poly approx) |
CPA=: |
1 : 'x@] %.i.@#@]^/Ei@[' |
다항 근사 계수(부사) |
Det=: |
-/ . * |
행렬식(Determinant) |
Dpc=: |
1: }. ] * i.@# |
다항 계수 미분(Differentiate poly coeffs) |
D1=: |
("0)(D.1) |
도함수(스칼라, 1차; Derivative) |
Ei=: |
i.@(+*+0&=) |
확장 정수(Extended integers) |
Epc=: |
Bc@# X ] |
다항 계수 확장(Expand poly coeffs) |
Ipc=: |
0: , ] % Ai@# |
다항 계수 적분(Integrate poly coeffs) |
Inv=: |
^:_1 |
역(Inverse) |
Id=: |
=@i. |
항등 행렬(Identity matrix) |
Mat=: |
-: /:~ |
단조 상승 검정(Monotone ascending test) |
Mdt=: |
-: \:~ |
단조 하강 검정(Monotone descending test) |
Mrg=: |
`+&$ {. ,@( | :@,:)` |
Over=: |
({.;}.)@":@, |
Over(포맷; Ta 참조) |
Pad=: |
2 : 'x%.]^/Ei@(y"_)' |
차수 다항 근사(Polynomial approx of degree) |
Pp=: |
+//.@(*/) |
다항 계수 곱(Polynomial coeffs product) |
Si=: |
(Ei@+: - |) : (-/ i.) |
대칭·감쇠 정수(Symmetric and subsiding int) |
Span=: |
2 : 'y"_ x\ ]' |
왼쪽 인자 적용의 스팬(Span) |
S1=: |
|:@|@(^!._1/~%.^/~)@i. |
제1종 스털링 수(Stirling numbers) |
S2=: |
|:@ (^/~%.^!._1/~)@i. |
제2종 스털링 수(Stirling numbers) |
Ta=: |
1 : '[By]Over x/' |
표 부사(Table adverb) |
Thr=: |
] * 0.1&^@[ <: |@] |
0이 아닌 임계(Threshold for non-zero) |
Tile=: |
$@]{.[$~$@]+2:|1:+$@] |
타일(Tile. 0 1 Tile i. 2 3 4 시도) |
X=: |
+/ . * |
곱(행렬 곱, Times) |
XA=: |
-/ . * |
곱(교번, Times alternating) |
연습문제 (Exercises)
28.1
이차 함수들의 정의(적어도 이 연습에서 쓰이는 것들)를 입력한 다음 다음 표현들을 입력해 보세요:
(Ai 2 3);(Ai 2 _3);(Ei 2 3);(Ei 2 _3)
(i.;i.@-;Ai;Ai@-;Ei;Ei@-) 4
(Si 4);(7 4 Si 4)
+Ta~@i. 4
(S1;S2) 7
(];X/;%/;%./;(%./%{.)) y=: (Bc ,: Bca) 5
(0 1&Cb;1 _1&Cb) i. 2 3 4
28.2
이차 함수들로 더 많은 실험을 수행해 보세요.