Signum

From APL Wiki
Jump to navigation Jump to search
×

Signum (×), Sign, Sign of, or Direction is a monadic scalar function which returns the sign of a real or complex number. That is, it returns 0 when given an argument of 0, and otherwise returns a number with magnitude 1 given by dividing the argument by its own magnitude.

Examples

The three possible results of Signum on a real argument are 0, 1, and ¯1.

      × ¯3 0 5
¯1 0 1

In dialects with complex numbers, Signum is a somewhat more complicated function, and may return any unit complex number.

      × 3j4
0.6J0.8

The result is still equal to the original number divided by its magnitude:

      | 3j4
5
      3j4 ÷ | 3j4
0.6J0.8

The magnitude of the result for a non-zero argument is always 1.

      | × 3j4 ¯2j1 6j¯7
1 1 1

Zero divided by zero

The identity ×z z÷|z holds only when z is not zero in most APLs. In "Zero Divided by Zero"[1], Eugene McDonnell gave this identity as a reason to define 0÷0 to be equal to 0. In J, which took McDonnell's suggestion, the identity always holds. Dyalog APL and NARS2000 allow the choosing division method though the default remains 1.

External links

Documentation

References

APL built-ins [edit]
Primitive functions
Scalar
Monadic ConjugateNegateSignumReciprocalMagnitudeExponentialNatural LogarithmFloorCeilingFactorialNotPi TimesImaginaryRollType
Dyadic AddSubtractTimesDivideResiduePower (function)LogarithmMinimumMaximumBinomialComparison functionsBoolean functions (And, Or, Nand, Nor) ∙ GCDLCMCircularComplex
Non-Scalar
Structural ShapeReshapeTallyDepthRavelEnlistTableCatenateReverseRotateTransposeRazeMixSplitEncloseNestCut (K)PairPartitioned EnclosePartition
Selection FirstPickTakeDropUniqueIdentitySelectReplicateExpandSet functions (IntersectionUnionWithout) ∙ Bracket indexSquad Indexing
Selector Index generatorGradeIndex OfInterval IndexIndicesDeal
Computational MatchNot MatchMembershipFindNub SieveEncodeDecodeMatrix InverseMatrix DivideFormatExecuteMaterialise
Primitive operators Monadic EachCommuteConstantReplicateReduceWindowed ReduceScanOuter ProductKeyI-beamSpawnFunction axis
Dyadic Inner ProductPower (operator)Rank (operator)BindBesideReverse ComposeAtopOverAtVariantStencil
Quad names
Arrays Index originMigration level
Functions
Operators