Main Content

mpower, ^

Description

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

example

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

Examples

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 uses an eigenvalue decomposition (for most matrices) or a Schur decomposition (for defective matrices).

  • Base A is a scalar and exponent B is a square matrix. The calculation uses an eigenvalue decomposition.

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

Tips

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

References

[1] Higham, Nicholas J., and Lijing Lin. “An Improved Schur--Padé Algorithm for Fractional Powers of a Matrix and Their Fréchet Derivatives.” SIAM Journal on Matrix Analysis and Applications 34, no. 3 (January 2013): 1341–1360. https://doi.org/10.1137/130906118.

Extended Capabilities

Version History

Introduced before R2006a

expand all