## 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 rules for manipulating types has changed in FreeMat 4.0. See typerules for more details.

### 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