Power (function): Difference between revisions

Jump to navigation Jump to search
798 bytes added ,  21:38, 10 September 2022
m
Text replacement - "</source>" to "</syntaxhighlight>"
m (Text replacement - "</source>" to "</syntaxhighlight>")
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
:''This page describes the dyadic arithmetic function. For the monadic natural exponential function (power of e), see [[Exponential]]. For the operator that iterates the function operand, see [[Power (operator)]].''
:''This page describes the dyadic function. For the monadic function that uses <math>e</math> as a base, see [[Exponential]]. For the iteration operator, see [[Power (operator)]].''


{{Built-in|Power|*}} is a [[dyadic]] [[scalar function]] which computes the [[wikipedia:exponentiation|exponentiation]] function of the two [[argument|arguments]]. More precisely, <source lang=apl inline>X*Y</source> computes X raised to the power of Y. Power shares the [[glyph]] <source lang=apl inline>*</source> with the monadic arithmetic function [[Exponential]].
{{Built-in|Power|*}} is a [[dyadic]] [[scalar function]] that computes the [[wikipedia:exponentiation|exponentiation]] function of the two [[argument|arguments]], so that <syntaxhighlight lang=apl inline>X*Y</syntaxhighlight> is <syntaxhighlight lang=apl inline>X</syntaxhighlight> raised to the power <syntaxhighlight lang=apl inline>Y</syntaxhighlight>. Power shares the [[glyph]] <syntaxhighlight lang=apl inline>*</syntaxhighlight> with the monadic arithmetic function [[Exponential]].


== Examples ==
== Examples ==
<source lang=apl>
<syntaxhighlight lang=apl>
       2*¯1 0 1 2 3 4 5
       2*¯1 0 1 2 3 4 5
0.5 1 2 4 8 16 32
0.5 1 2 4 8 16 32
</source>
</syntaxhighlight>
A common technique is to choose [[sign]] based on [[Boolean]]s:
A common technique is to choose [[sign]] based on a [[Boolean]] array:
<source lang=apl>
<syntaxhighlight lang=apl>
       ¯1*1 0 0 1 0
       ¯1*1 0 0 1 0
¯1 1 1 ¯1 1
¯1 1 1 ¯1 1
</source>
</syntaxhighlight>


== Properties ==
== Properties ==


For positive integer Y, <source lang=apl inline>X*Y</source> equals the [[times|product]] of Y copies of X. When Y is 0, <source lang=apl inline>X*Y</source> equals 1, possibly except when X is also 0 (since [[wikipedia:zero to the power of zero|zero to the power of zero]] is undefined in mathematics).
For positive integer <syntaxhighlight lang=apl inline>Y</syntaxhighlight>, <syntaxhighlight lang=apl inline>X*Y</syntaxhighlight> equals the [[times|product]] of <syntaxhighlight lang=apl inline>Y</syntaxhighlight> copies of <syntaxhighlight lang=apl inline>X</syntaxhighlight>. When <syntaxhighlight lang=apl inline>Y</syntaxhighlight> is 0, <syntaxhighlight lang=apl inline>X*Y</syntaxhighlight> equals 1, possibly except when <syntaxhighlight lang=apl inline>X</syntaxhighlight> is also 0 (since [[wikipedia:zero to the power of zero|zero to the power of zero]] is undefined in mathematics).


<source lang=apl>
<syntaxhighlight lang=apl>
       3*5
       3*5
243  
243  
Line 25: Line 25:
       1 2 3*0
       1 2 3*0
1 1 1
1 1 1
</source>
</syntaxhighlight>


[[negate|Negation]] on the power results in the [[reciprocal]] on the return value.
[[negate|Negating]] the exponent (right argument) gives the [[reciprocal]] of the return value.


<source lang=apl>
<syntaxhighlight lang=apl>
       (2*¯4)=÷2*4
       (2*¯4)=÷2*4
1
1
</source>
</syntaxhighlight>


[[Reciprocal]] on the power results in the n-th root on the return value. This can be used to calculate the square root.
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 <syntaxhighlight lang=apl inline>÷2</syntaxhighlight> gives the [[square root]].


<source lang=apl>
<syntaxhighlight lang=apl>
       3*2
       3*2
9
9
       9*÷2
       9*÷2
3
3
</source>
</syntaxhighlight>
 
Power has two inverses, [[Root]] and [[Logarithm]]:
<syntaxhighlight lang=apl>
      2*3
8
      2⍟8
3
      3√8
2
</syntaxhighlight>


== External links ==
== External links ==
Line 47: Line 57:
=== Documentation ===
=== Documentation ===


* [http://help.dyalog.com/latest/#Language/Primitive%20Functions/Power.htm Dyalog]
* [https://help.dyalog.com/latest/#Language/Primitive%20Functions/Power.htm Dyalog]
* [http://microapl.com/apl_help/ch_020_020_200.htm APLX]
* [http://microapl.com/apl_help/ch_020_020_200.htm APLX]
* J [https://www.jsoftware.com/help/dictionary/d200.htm Dictionary], [https://code.jsoftware.com/wiki/Vocabulary/hat#dyadic NuVoc]
* J [https://www.jsoftware.com/help/dictionary/d200.htm Dictionary], [https://code.jsoftware.com/wiki/Vocabulary/hat#dyadic NuVoc]
* [https://mlochbaum.github.io/BQN/doc/arithmetic.html#basic-arithmetic BQN]
{{APL built-ins}}[[Category:Primitive functions]][[Category:Scalar dyadic functions]]
{{APL built-ins}}[[Category:Primitive functions]][[Category:Scalar dyadic functions]]

Navigation menu