>>  <<  Ркв  Ввд  JfC  LJ  Фрз  Слв  Изм  Рзг  !:  Помощь  Словарь

13. Композиции (осуществляемые союзами)

Символ ° служит в математике для обозначения функции, определенной как композиция двух функций: f ° g y эквивалентно f (g y) . Обычно такая композиция определена только для функций одного скалярного аргумента.

В J композиции можно произвести пятью различными союзами, а так же путем записи изолированных цепочек глаголов: крючков, вилок, и более длинных цепочек из них. Упомянутые пять союзов— это & &. &: @ и @: . Союзы @ и @: связаны между собой подобно & и &: .

Ближе всего к математической композиции ° союз & . Он идентичен ей для случая двух скалярных (ранга ноль) функций, с последующим применением композиции к единственному скалярному аргументу. Однако, этот союз расширен в двух направлениях:

1.   В применении к глаголу и существительному, он производит монадную функцию, как в случаях 10&^. (Логарифм по основанию 10) и ^&3 (Куб).
2. В применении к двум глаголам, он производит (вдобавок к монадному случаю, используемому в математике) диадный случай, определенный как: x f&g y (g x) f (g y) . Например, x %&! y есть частное факториалов x и y .

Союз &. применим только к глаголам, f&.g эквивалентно f&g , за исключением того, что к его конечному результату применяется обратная к g функция. Например:
   3 +&^. 4                      3 +&.^. 4
2.48491                       12
Для скалярных аргументов функции f&:g и f&g эквивалентны, но для аргументов большего ранга g применяется к каждой ячейке, в соответствии со своими рангами. В случае f&g, функция f применяется потом к каждому полученному результату g индивидуально, а в случае f&:g она применяется сразу к полному результату, полученному после обработки всех ячеек. Например:
   (] ; %. ; |:&%. ; |:&:%.) i. 2 2 2
+---+--------+-------+---------+
|0 1|_1.5 0.5|_1.5  1|_1.5 _3.5|
|2 3|   1   0| 0.5  0|   1    3|
|   |        |       |         |
|4 5|_3.5 2.5|_3.5  3| 0.5  2.5|
|6 7|   3  _2| 2.5 _2|   0   _2|
+---+--------+-------+---------+
В монадном случае союзы @ и & совпадают, как показано в таблице ниже для ячеек x и y , соответствующих рангам g :

  f&g y f g y
  f@g y f g y
x f&g y (g x) f (g y)
x f@g y f (x g y)



>>  <<  Ркв  Ввд  JfC  LJ  Фрз  Слв  Изм  Рзг  !:  Помощь  Словарь