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

2. Ambivalence

```   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

%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
#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  JfC  LJ  Phr  Dic  Rel  Voc  !:  wd  Help  Dictionary