|
Chapter 20: Scalar Numerical FunctionsIn this chapter we look at built-in scalar functions for computing numbers from numbers. This chapter is a straight catalog of functions, with links to the sections as follows:
20.1 Plus and ConjugateDyadic + is arithmetic addition.
Monadic + is "Conjugate". For a real number y, the conjugate is y. For a complex number xjy (that is, x + 0jy), the conjugate is x - 0jy.
20.2 Minus and NegateDyadic - is arithmetic subtraction.
Monadic - is "Negate".
20.3 Increment and DecrementMonadic >: is called "Increment". It adds 1 to its argument.
Monadic <: is called "Decrement". It subtracts 1 from its argument.
20.4 Times and SignumDyadic * is multiplication.
Monadic * is called "Signum". For a real number y, the value of (* y) is _1 or 0 or 1 as y is negative, zero or positive.
More generally, y may be real or complex, and the signum is equivalent to y % | y. Hence the signum of a complex number has magnitude 1 and the same angle as the argument.
20.5 Division and ReciprocalDyadic % is division.
1 % 0 is "infinity" but 0 % 0 is 0
Monadic % is the "reciprocal" function.
20.6 Double and HalveMonadic +: is the "double" verb.
Monadic -: is the "halve" verb:
20.7 Floor and CeilingMonadic <. (left-angle-bracket dot) is called "Floor". For real y the floor of y is y rounded downwards to an integer, that is, the largest integer not exceeding y.
For complex y, the floor lies within a unit circle center y, that is, the magnitude of (y - <. y) is less than 1.
This condition (magnitude less than 1) means that the floor of say 3.8j3.8 is not 3j3 but 4j3 because 3j3 does not satisfy the condition.
Monadic >. is called "Ceiling". For real y the ceiling of y is y rounded upwards to an integer, that is, the smallest integer greater than or equal to y. For example:
Ceiling applies to complex y
20.8 Power and ExponentialDyadic ^ is the "power" verb: (x^y) is x raised-to-the-power y
Monadic ^ is exponentiation (or antilogarithm): ^y means (e^y) where e is Euler's constant, 2.71828...
Euler's equation, supposedly engraved on his tombstone is: e i π +1 = 0 (^ 0j1p1) + 1 0j1.22465e_16The example of ^ 3r2 above shows that rationals are in the domain of ^ , but the result is real, not rational. A rational argument is in effect first converted to real. 20.9 SquareMonadic *: is "Square".
20.10 Square RootMonadic %: is "Square Root".
20.11 RootIf x is integral, then x %: y is the "x'th root" of y:
More generally, (x %: y) is an abbreviation for (y ^ % x)
20.12 Logarithm and Natural LogarithmDyadic ^. is the base-x logarithm function, that is, (x ^. y) is the logarithm of y to base x :
Monadic ^. is the "natural logarithm" function.
The example of ^. 2r3 above shows that rationals are in the domain of ^. but the result is real, not rational. A rational argument is in effect first converted to real. 20.13 Factorial and OutOfThe factorial function is monadic !.
The number of combinations of x objects selected out of y objects is given by the expression x ! y
20.14 Magnitude and ResidueMonadic | is called "Magnitude". For a real number y the magnitude of y is the absolute value:
More generally, y may be real or complex, and the magnitude is equivalent to (%: y * + y).
The dyadic verb | is called "Residue". the remainder when y is divided by x is given by (x | y).
If x | y is zero, then x is a divisor of y:
The "Residue" function applies to complex numbers:
20.15 GCD and LCMThe greatest common divisor (GCD) of x and y is given by (x +. y). Reals and rationals are in the domain of +..
Complex numbers are also in the domain of +..
The Least Common Multiple of x and y is given by (x *. y).
20.16 Pi TimesThere is a built-in verb o. (lower-case o dot). Monadic o. is called "Pi Times"; it multiplies its argument by 3.14159...
The example of o. 1r6 above shows that rationals are in the domain of sin but the result is real, not rational. A rational argument is in effect first converted to real. A result with arbitrary precision can be be produced by giving an argument of an extended integer to the verb <. @ o. for which there is special code in the J interpreter ] z =: (<. & o.) 10^40x 31415926535897932384626433832795028841971 datatype z extended 20.17 Trigonometric and Other FunctionsIf y is an angle in radians, then the sine of y is given by the expression 1 o. y. The sine of (π over 6) is 0.5
The general scheme for dyadic o. is that (k o. y) means: apply to y a function selected by k. Here y is an angle in radians. Giving conventional names to the available functions, we have: sin =: 1 & o. NB. sine cos =: 2 & o. NB. cosine tan =: 3 & o. NB. tangent sinh =: 5 & o. NB. hyperbolic sine cosh =: 6 & o. NB. hyperbolic cosine tanh =: 7 & o. NB. hyperbolic tangent asin =: _1 & o. NB. inverse sine acos =: _2 & o. NB. inverse cosine atan =: _3 & o. NB. inverse tangent asinh =: _5 & o. NB. inverse hyperbolic sine acosh =: _6 & o. NB. inverse hyperbolic cosine atanh =: _7 & o. NB. inverse hyperbolic tangent
The example of sin 1r4 above shows that rationals are in the domain of sin but the result is real, not rational. A rational argument is in effect first converted to real. 20.18 Pythagorean FunctionsThere are also the "pythagorean"functions:0 o. y means %: 1 - y^2 4 o. y means %: 1 + y^2 8 o. y means %: - 1 + y^2 _4 o. y means %: _1 + y^2 _8 o. y means - %: - 1 + y^2
and a further group of functions on complex numbers: 9 o. xjy means x (real part) 10 o. xjy means %: (x^2) + (y^2) (magnitude) 11 o. xjy means y (imag part) 12 o. xjy means atan (y % x) (angle)
and finally _9 o. xjy means xjy (identity) _10 o. xjy means x j -y (conjugate) _11 o. xjy means 0j1 * xjy (j. xjy) _12 o. a means (cos a)+(j. sin a) (inverse angle)For example:
This is the end of chapter 20 |
The examples in this chapter
were executed using J version 701.
This chapter last updated 05 Oct 2012
Copyright © Roger Stokes 2012.
This material may be freely reproduced,
provided that this copyright notice is also reproduced.