+-×÷*⍟⌹○#

Arithmetic +-×÷#

Dyadic +-×÷ are what you expect from mathematics:

3+8
4×12
144×11
3-7

11

48

1584

¯4


0÷0 is 1 by default, but you can make all n÷0 into 0 by setting ⎕DIV←1:

0÷0

1

⎕DIV←1
0÷0
⎕DIV←0       ⍝ default setting

0


Reciprocal ÷A#

Question:

How can we make 0÷0 throw an error?

Multiply with the reciprocal:

0×÷0        ⍝ DOMAIN ERROR: Divide by zero

DOMAIN ERROR: Divide by zero
0×÷0        ⍝ DOMAIN ERROR: Divide by zero
∧


Monadic ÷ is the reciprocal, i.e. ÷x is 1÷x.

Direction ×A#

Monadic × is direction, i.e. a complex number which has magnitude 1 but same angle as the argument. For real numbers this means signum (sign).

÷5          ⍝ reciprocal: 1÷5
×12 ¯33 0   ⍝ signum
×32j¯24     ⍝ direction

0.2

1 ¯1 0

0.8J¯0.6


Power *#

Dyadic * is power, and the default left argument (i.e. for the monadic form) is e. So, monadic * is e-to-the-power-of.

2*10        ⍝ ⍺ to the power of ⍵
*1          ⍝ e to the power of ⍵

1024

2.718281828


Log ⍟#

The inverse of * is ⍟; logarithm. The monadic form is the natural logarithm and the dyadic is left-arg logarithm, so 10⍟n is log(n):

10⍟10000000   ⍝ log(10000000)

7


Matrix divide ⌹#

⌹ is matrix division. Give it a coefficients’ matrix on the right and it will invert the matrix. If you also put a vector on the left and it will solve your system of equations. If over-determined, it will give you the least squares fit.

For example, in order to solve the following set of simultaneous equations,

$$\begin{array}{lcl} 3x + 2y & = & 13 \\ x - y & = & 1 \end{array}$$

we can use ⌹ like so:

13 1 ⌹ 2 2⍴3 2 1 ¯1

3 2


Circular ○#

Monadic ○ multiplies by π:

○2          ⍝ 2 times π

6.283185307


Dyadic ○ is circular. It uses an integer left argument to select which trigonometric function to apply. The most common ones are 1, 2 and 3, which are sin, cos and tan. The negative versions ¯1, ¯2 and ¯3 are arcsin, arccos and arctan.

1○○1        ⍝ sin π
2○○1        ⍝ cos π
¯2○2○○1     ⍝ arccos cos π

1.224646799E¯16

¯1

3.141592654


The entire list of ○’s left arguments is here.