22 lines
1.6 KiB
Plaintext
22 lines
1.6 KiB
Plaintext
train =. (<'`:')(0:`)(,^:)&6 NB. Producing the function train corresponding to the functional `:6
|
|
inverse=. (<'^:')(0:`)(,^:)&_1 NB. Producing the function inverse corresponding to the functional ^:_1
|
|
compose=. (<'@:')(0:`)(,^:) NB. Producing the function compose corresponding to the functional @:
|
|
an =. <@:((,'0') ; ]) NB. Producing the atomic representation of a noun
|
|
of =. train@:([ ; an) NB. Evaluating a function for an argument
|
|
box =. < @: train"0 NB. Producing a boxed list of the trains of the components
|
|
|
|
]A =. box (1&o.)`(2&o.)`(^&3) NB. Producing a boxed list containing the Sin, Cos and Cubic functions
|
|
┌────┬────┬───┐
|
|
│1&o.│2&o.│^&3│
|
|
└────┴────┴───┘
|
|
]B =. inverse &.> A NB. Producing their inverses
|
|
┌────────┬────────┬───────┐
|
|
│1&o.^:_1│2&o.^:_1│^&3^:_1│
|
|
└────────┴────────┴───────┘
|
|
]BA=. B compose &.> A NB. Producing the compositions of the functions and their inverses
|
|
┌────────────────┬────────────────┬──────────────┐
|
|
│1&o.^:_1@:(1&o.)│2&o.^:_1@:(2&o.)│^&3^:_1@:(^&3)│
|
|
└────────────────┴────────────────┴──────────────┘
|
|
BA of &> 0.5 NB. Evaluating the compositions at 0.5
|
|
0.5 0.5 0.5
|