mpower, ^



C = A^B computes A to the B power and returns the result in C.

C = mpower(A,B) is an alternate way to execute A^B, but is rarely used. It enables operator overloading for classes.


collapse all

Create a 2-by-2 matrix and square it.

A = [1 2; 3 4];
C = A^2
C = 2×2

     7    10
    15    22

The syntax A^2 is equivalent to A*A.

Create a 2-by-2 matrix and use it as the exponent for a scalar.

B = [0 1; 1 0];
C = 2^B
C = 2×2

    1.2500    0.7500
    0.7500    1.2500

Compute C by first finding the eigenvalues D and eigenvectors V of the matrix B.

[V,D] = eig(B)
V = 2×2

   -0.7071    0.7071
    0.7071    0.7071

D = 2×2

    -1     0
     0     1

Next, use the formula 2^B = V*2^D/V to compute the power.

C = V*2^D/V
C = 2×2

    1.2500    0.7500
    0.7500    1.2500

Input Arguments

collapse all

Operands, specified as scalars or matrices. Inputs A and B must be one of the following combinations:

  • Base A and exponent B are both scalars, in which case A^B is equivalent to A.^B.

  • Base A is a square matrix and exponent B is a scalar. If B is a positive integer, the power is computed by repeated squaring. For other values of B the calculation involves eigenvalues and eigenvectors.

  • Base A is a scalar and exponent B is a square matrix. The calculation uses eigenvalues and eigenvectors.

Operands with an integer data type cannot be complex.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char
Complex Number Support: Yes


  • MATLAB® computes X^(-1) and inv(X) in the same manner, and both are subject to the same limitations. For more information, see inv.

Extended Capabilities

Introduced before R2006a