+-×÷*⍟⌹○
Contents
+-×÷*⍟⌹○
#
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.