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

27. Тождественные Функции и Нейтральные Элементы

Монады 0&+ и 1&* являются тождественными функциями, а 0 и 1 называются тождественными элементами или нейтралами диад + и * , соответственно. Вставка между элементами пустого списка дает нейтрал для вставляемой диады. Например:
   +/ i.0         +/''           +/0{. 2 3 5
0              0              0

   */i.0          */''           */0{. 2 3 5
1              1              1
Эти свойства полезны при разбиении списков; они гарантируют, что некоторые очевидные соотношения выполняются даже когда один из элементов разбиения пустой. Например:
   +/ a=: 2 3 5 7 11
28

   (+/4{.a)+(+/4}.a)
28

   (+/0{.a)+(+/0}.a)
28

   */a
2310

   (*/4{.a)*(*/4}.a)
2310

   (*/0{.a)*(*/0}.a)
2310
Тождественные функции и другие основные свойства функций (такие как ранг) можно получить наречием b. , как показано ниже:
   ^ b. _1     Обратный
^.

   ^ b. 0      Ранги
_ 0 0

   ^ b. 1      Тождественная функция
$&1@(}.@$)

Упражнения

27.1   Попробуйте предсказать и проверьте результаты следующих выражений:
*/''
<./''
>./''
>./0 4 4 $ 0
+/ . */ 0 4 4 $ 0
1 2 3 4 +&.^./ 5 6 7 8
27.2   Исследуйте диаду {@; и назовите термин, используемый для нее в математике.

Ответ: Декартово произведение (Cartesian product)
 
27.3   Проверьте предположение, что монады (%:@~. +/ . * =) и %: эквивалентны. Чем может быть полезна первая, в применении к спискам типа 1 4 1 4 2 , содержащим одинаковые элементы ?

Ответ: Функция %: (которая может быть сложной для вычисления) применяется только к уникальным элементам аргумента, выбранным функцией построить множество ~. .
 
27.4   Прокомментируйте следующие эксперименты перед чтением комментариев справа:

a=: 2 3 5 [ b=: 1 2 4
a (f=: *:@+) b Квадрат суммы
a (g=: +&*: + +:@*) b   Сумма квадратов плюс удвоенное произведение
a (f=g) b Выражение тождественности функций
a (f-:g) b f и g представляют собой тавтологию (результат
taut=: f-:g которойвсегда "истина", тоесть 1).

27.5   Фраза типа f-:g может быть тавтологией только для диадного случая, только для монадного или для обоих. Используйте следующие тавтологии для упражнений в чтении и письме, отмечая область применимости (только диада, и т.д.):

t1=: >: -: > +. = (диада) Примитив >: идентичен больше или равно
t2=: <. -: -@>.&- (оба) Меньшее, есть большее с обратным знаком от аргументов с обр. знаком; Пол есть минус потолок от аргумента с обр. знаком.
t3=: <. -: >.&.- Тоже, что и t2 но использует преобразование
t4=: *:@>: -: *: + +: + 1: (монада) Квадрат a+1 есть квадрат a плюс два a плюс 1
t5=: *:@>: -: #.&1 2 1"0 Тоже, что и t4 используя многочлен
t6=: ^&3@>: -: #.&1 3 3 1"0 Как t5 для куба
bc=: i.@>: ! ] Биномиальные коэффициенты
t7=: (>:@]^[) -: (]#.bc@[)"0 Как t6 с k&t7 для k-й степени
s=: 1&o. Синус
c=: 2&o. Косинус
t8=: s@+-:(s@[*c@])+(c@[*s@])   (диада) Сложение и вычитание
t9=: s@--:(s@[*c@])-(c@[*s@]) Формулы для синуса
det=: -/ . * Определитель
perm=: +/ . * Перманент
sct=: 1 2&o."0@(,"0) Таблицы синуса и косинуса
t10=: s@- -: det@sct Как t9 , но используя определитель таблицы sin и cos
t11=: s@+ -: perm@sct Как t8 , но используя перманент
S=: 5&o. Гиперболический синус
C=: 6&o. Гиперболический косинус
SCT=: 5 6&o."0@(,"0) таблица Sinh и Cosh
t12=: S@+ -: perm@SCT Теорема сложения для sinh
SINH=: ^ .: - Нечетная часть экспоненты
COSH=: ^ .. - Четная часть экспоненты
t13=: SINH -: S Sinh есть нечетная часть экспоненты
t14=: COSH -: C Cosh есть четная часть экспоненты
sine=: ^&.j. .: - Sin есть нечетная часть экспоненты
t15=: sine -: s преобразуя умножением на 0j1

27.6   Прокомментируйте следующие выражения, перед прочтением комментариев справа:

g=: + > >. Проверить, если сумма превышает максимум.
5 g 2 Истинно для положительных аргументов,
5 g _2 _1 0 1 2 но в общем случае не истинно.
f=: *.&(0&<) Проверка, если оба аргумента больше 0 .
theorem=: f <: g Истинность результата f не превышает истинности g . Это можно выразить еще и как “если f (истинно) тогда g (истинно)” или, что “из f следует g”.
5 theorem _2 _1 0 1 2



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