## DOTPOWER Element-wise Power Operator

Section: Mathematical Operators

### Usage

Raises one numerical array to another array (elementwise). There are three operators all with the same general syntax:

      y = a .^ b

The result `y` depends on which of the following three situations applies to the arguments `a` and `b`:

1. `a` is a scalar, `b` is an arbitrary `n`-dimensional numerical array, in which case the output is `a` raised to the power of each element of `b`, and the output is the same size as `b`.
2. `a` is an `n`-dimensional numerical array, and `b` is a scalar, then the output is the same size as `a`, and is defined by each element of `a` raised to the power `b`.
3. `a` and `b` are both `n`-dimensional numerical arrays of \emph{the same size}. In this case, each element of the output is the corresponding element of `a` raised to the power defined by the corresponding element of `b`.

The output follows the standard type promotion rules, although types are not generally preserved under the power operation. In particular, integers are automatically converted to `double` type, and negative numbers raised to fractional powers can return complex values.

### Function Internals

There are three formulae for this operator. For the first form

and the second form

and in the third form

### Examples

We demonstrate the three forms of the dot-power operator using some simple examples. First, the case of a scalar raised to a series of values.

    --> a = 2

    a =

     2

    --> b = 1:4

    b =

     1 2 3 4

    --> c = a.^b

    c =

      2  4  8 16

The second case shows a vector raised to a scalar.

    --> c = b.^a

    c =

      1  4  9 16

The third case shows the most general use of the dot-power operator.

    --> A = [1,2;3,2]

    A =

     1 2
     3 2

    --> B = [2,1.5;0.5,0.6]

    B =

        2.0000    1.5000
        0.5000    0.6000

    --> C = A.^B

    C =

        1.0000    2.8284
        1.7321    1.5157