11A. Inverse

J provides a comprehensive calculus of inverses:

a0=: I=: ^:_1

Inverse (adverb)

m1 =: ^ I

Natural log (^.); Inverse exponential

m2 =: ^.I

Exponential

m3 =: 10&^. 

Base 10 log

m4 =: m3 I

Inverse base 10 log (10&^)

m5 =: ] -: m4@m3

Tautology (test that m4 is left inverse)

m6 =: ] -: m3@m4

Tautology (test that m4 is right inverse)

m7 =: ssc=: +/\ 

Sum scan (subtotals)

m8 =: ssc I

Inverse sum scan; first differences

m9 =: (]-:m8@m7)*.(]-:m7@m8) 

Tautology

m10=: assc=: -/\

Alternating sum scan

m11=: assc I

m12=: ] -: 

m13=: * /\ I

e.g. * /\ m13 3 1 4 15 9 26 5 3

m14=: % /\ I

e.g. % /\ m14 3 1 4 15 9 26 5 3

m15=: ~:/\ I

e.g. ~:/\ m15 1 1 0 1 1 0 1 1

m16=: = /\ I

e.g. = /\ m16 1 1 0 1 1 0 1 1

m17=: + /\. I

e.g. + /\. m17 3 1 4 15 9 26 5 3

m18=: - /\. I

e.g. - /\. m18 3 1 4 15 9 26 5 3

m19=: * /\. I

e.g. * /\. m19 3 1 4 15 9 26 5 3

m20=: % /\. I

e.g. % /\. m20 3 1 4 15 9 26 5 3

m21=: ~:/\. I

e.g. ~:/\. m21 1 1 0 1 1 0 1 1

m22=: = /\. I

e.g. =/\. m22 1 1 0 1 1 0 1 1

d23=: # I

Expand; 'ab' -: 1 0 1 # 1 0 1 d23 'ab'

m24=: p: I

p (n) the number of primes less than n

m25=: x: I

Floating point approx. of a rational. e.g. m25 3r7

m26=: 1&+ I

Inverse increment; decrement

m27=: +&1 I

Inverse increment; decrement

m28=: >: I

Inverse increment; decrement

m29=: _1&+ I

Inverse decrement; increment

m30=: +&_1 I

Inverse decrement; increment

m31=: -&1 I 

Inverse decrement; increment

m32=: <: I

Inverse decrement; increment

m33=: 2&* I

Inverse double; halve

m34=: *&2 I 

Inverse double; halve

m35=: +: I

Inverse double; halve

m36=: 0.5&* I

Inverse halve; double

m37=: *&0.5 I

Inverse halve; double

m38=: %&2 I

Inverse halve; double

m39=: -: I

Inverse halve; double

m40=: ^&2 I

Inverse square

m41=: ^&3 I

Inverse cube

m42=: ^&0.5 I

Inverse square root

m43=: ^&1r3 I

Inverse cube root

m44=: 2&^ I 

Inverse 2 with power; base 2 log

m45=: 10&^ I

Inverse 10 with power; base 10 log

m46=: 2&! I

Inverse triangular number. e.g. +/i.<.2&! I m

m47=: +~ I

Inverse double

m48=: *~ I

Inverse square

m49=: ^~ I

e.g. x^x=: ^~ I 12

m50=: (3&+)@(%&2)I -: (%&2 I)@(3&+ I)

Inverse of composition is composition of inverses

These inverses may be illustrated as follows:

   x=: 2 3 5 7 
   ,.(] ; m1 ; m2 ; m1@m2) x
+---------------------------------+
&brvbar;2 3 5 7                          &brvbar;
+---------------------------------&brvbar;
&brvbar;0.6931472 1.09861 1.60944 1.94591&brvbar;
+---------------------------------&brvbar;
&brvbar;7.38906 20.0855 148.413 1096.63  &brvbar;
+---------------------------------&brvbar;
&brvbar;2 3 5 7                          &brvbar;
+---------------------------------+

   (] ; m7 ; m8 ; m9) x
+---------------------------+
&brvbar;2 3 5 7&brvbar;2 5 10 17&brvbar;2 1 2 2&brvbar;1&brvbar;
+---------------------------+
   (];m10;m11;m11@m10) x
+-----------------------------------+
&brvbar;2 3 5 7&brvbar;2 _1 4 _3&brvbar;2 _1 2 _2&brvbar;2 3 5 7&brvbar;
+-----------------------------------+