From APL Wiki
(Redirected from Direction)
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.


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

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

      | 3j4
      3j4 ÷ | 3j4

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



APL built-ins [edit]
Primitive functions
Monadic ConjugateNegateSignumReciprocalMagnitudeExponentialNatural LogarithmFloorCeilingFactorialNotPi TimesImaginaryRollType
Dyadic AddSubtractTimesDivideResiduePower (function)LogarithmMinimumMaximumBinomialComparison functionsBoolean functions (And, Or, Nand, Nor) ∙ GCDLCMCircularComplex
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