>>  <<  Ndx  Usr  Pri  Phr  Dic  Rel  Voc  !:  wd  Help  Dictionary

2. Ambivalence

Cover the comments on the right and provide your own.
   7-5                        The function in the sentence 7-5 applies to two 
2                             arguments to perform subtraction, but in the
   -5                         sentence -5 it applies to a single argument to
_5                            perform negation.

                              Adopting from chemistry the term valence, we
                              say that the symbol - is ambivalent, its effective
   7%5                        binding power being determined by context.
1.4

   %5                         The ambivalence of - is familiar in arithmetic;
0.2                           it is here extended to other functions.

   3^2
9

   ^2                         Exponential (that is, 2.71828^2)
7.38906

            
   a=: i. 5                   The function integer or integer list
   a
0 1 2 3 4                     List or vector

   a i. 3 1                   The function index or index of
3 1
  
   b=: 'Canada'               Enclosing quotes denote literal characters
   b i. 'da'
4 1
  
   $ a                        Shape function
5

   3 4 $ a                    Reshape function
0 1 2 3                       Table or matrix
4 0 1 2
3 4 0 1
  
   3 4 $ b
Cana
daCa
nada

   %a                         Functions apply to lists
_ 1 0.5 0.333333 0.25         The symbol _ alone denotes infinity

Exercises

2.1   Enter the following sentences (and perhaps related sentences using different arguments), observe the results, and state what the two cases (monadic and dyadic) of each function do:
   a=: 3 1 4 1 5 9
   b=: 'Canada'
   #a
   1 0 1 0 1 3 # a
   1 0 1 0 1 3 # b
   /: a
   /: b
   a /: a
   a /: b
   b /: a
   b /: b
   c=: 'can''t'
   c
   #c
   c /: c
2.2   Make a summary table of the functions used thus far. Then compare it with the following table (in which a bullet separates the monadic case from the dyadic, as in Negate • Subtract):
                                    .               :        
+ • Add • Or
- Negate • Subtract
* • Times • And
% Reciprocal • Divide
^ Exponential • Power • Log
< • Less Than • Lessor Of
> • Greater Than • Greater Of
= • Equals Is (Copula)
i Integers • Index Of    
$ Shape • Reshape
/ Grade • Sort
# Number Of Items • Replicate

2.3   Try to fill some of the gaps in the table of Exercise 2.2 by experimenting on the computer with appropriate expressions. For example, enter ^.10 and ^. 2.71828 to determine the missing (monadic) case of ^. and enter %: 4 and %: -4 and +%: -4 to determine the case of % followed by a colon.

However, do not waste time on matters (such as, perhaps, complex numbers or the boxed results produced by the monad <) that are still beyond your grasp; it may be better to return to them after working through later sections. Note that the effects of certain functions become evident only when applied to arguments other than positive integers: try <.1 2 3 4 and <.3.4 5.2 3.6 to determine the effect of the monad <. .
 
2.4   If b=: 3.4 5.2 3.6 , then <.b yields the argument b rounded down to the nearest integer. Write and test a sentence that rounds the argument b to the nearest integer.

Answer: <.(b+0.5) or <.b+0.5 or <.b+1r2
 
2.5   Enter 2 4 3 $ i. 5 to see an example of a rank 3 array or report (for two years of four quarters of three months each).
 
2.6   Enter ?9 repeatedly and state what the function ? does. Then enter t=: ?3 5 $ 9 to make a table for use in further experiments.

Answer: ? is a (pseudo-) random number generator; ?n produces an element from the population i.n




>>  <<  Ndx  Usr  Pri  Phr  Dic  Rel  Voc  !:  wd  Help  Dictionary