Power (function)

From APL Wiki
Jump to navigation Jump to search
This page describes the dyadic function. For the monadic function that uses as a base, see Exponential. For the iteration operator, see Power (operator).

Power (*) is a dyadic scalar function that computes the exponentiation function of the two arguments, so that X*Y is X raised to the power Y. Power shares the glyph * with the monadic arithmetic function Exponential.


      2*¯1 0 1 2 3 4 5
0.5 1 2 4 8 16 32

A common technique is to choose sign based on a Boolean array:

      ¯1*1 0 0 1 0
¯1 1 1 ¯1 1


For positive integer Y, X*Y equals the product of Y copies of X. When Y is 0, X*Y equals 1, possibly except when X is also 0 (since zero to the power of zero is undefined in mathematics).

      1 2 3*0
1 1 1

Negating the exponent (right argument) gives the reciprocal of the return value.


If the exponent is the reciprocal of some number n, the result is the n-th root of the base. For example, a right argument of ÷2 gives the square root.


External links


APL built-ins [edit]
Primitive functions
Monadic ConjugateNegateSignumReciprocalMagnitudeExponentialNatural LogarithmFloorCeilingFactorialNotPi TimesRollTypeImaginarySquare Root
Dyadic AddSubtractTimesDivideResiduePowerLogarithmMinimumMaximumBinomialComparison functionsBoolean functions (And, Or, Nand, Nor) ∙ GCDLCMCircularComplexRoot
Structural ShapeReshapeTallyDepthRavelEnlistTableCatenateReverseRotateTransposeRazeMixSplitEncloseNestCut (K)PairLinkPartitioned EnclosePartition
Selection FirstPickTakeDropUniqueIdentitySelectReplicateExpandSet functions (IntersectionUnionWithout) ∙ Bracket indexingIndex
Selector Index generatorGradeIndex OfInterval IndexIndicesDeal
Computational MatchNot MatchMembershipFindNub SieveEncodeDecodeMatrix InverseMatrix DivideFormatExecuteMaterialise
Primitive operators Monadic EachCommuteConstantReplicateExpandReduceWindowed ReduceScanOuter ProductKeyI-beamSpawnFunction axis
Dyadic BindCompositions (Compose, Reverse Compose, Beside, Atop, Over) ∙ Inner ProductPowerAtUnderRankDepthVariantStencil
Quad names
Arrays Index originMigration level
Functions Case convert
Operators SearchReplace