MatrixPower

MatrixPower[m,n]

gives the n ^(th) matrix power of the matrix m.

MatrixPower[m,n,v]

gives the n^(th) matrix power of the matrix m applied to the vector v.

Details and Options

  • MatrixPower[m,n] effectively evaluates the product of a matrix with itself n times. »
  • When n is negative, MatrixPower finds powers of the inverse of the matrix m. »
  • When n is not an integer, MatrixPower effectively evaluates the power series for the function, with ordinary powers replaced by matrix powers. »
  • MatrixPower works only on square matrices.

Examples

open allclose all

Basic Examples  (4)

Square a symbolic matrix:

This is :

Square the inverse of a symbolic matrix:

This is TemplateBox[{m}, Inverse].TemplateBox[{m}, Inverse]:

Raise a matrix to the 10th power:

Notice that this is different from raising each entry to the 10th power:

Compute a symbolic matrix power:

Scope  (15)

Basic Uses  (9)

Raise a machine-precision matrix to a positive integer power:

Raise it to a fractional power:

Square a complex matrix:

Raise an exact matrix to an integer power:

Raise it to a fractional power:

Raise an arbitrary-precision matrix to a negative integer power:

Raise it to an irrational power:

Raise a symbolic matrix to an integer power:

Raise a matrix to a symbolic power:

Raising large machine-precision matrices to a power is efficient:

Directly applying the power to a single vector is even more efficient:

Raise a matrix with finite field elements to an integer power:

Raise it to a negative power:

Raise a CenteredInterval matrix to an integer power:

Find a random representative mrep of m:

Verify that mpow contains MatrixPower[mrep,17]:

Special Matrices  (6)

The result of raising a sparse matrix to a positive integer power is returned as a sparse matrix:

Format the result:

Raising a sparse matrix to a other powers will typically produce a normal matrix:

Directly apply the power of of a sparse matrix to a sparse vector:

Raising a structured array to a power will be returned as a structured array if possible:

This is not always possible:

IdentityMatrix raised to any power is itself:

More generally, the power of any diagonal matrix is the power of its diagonal elements:

Raise HilbertMatrix to a negative power:

Compute the ^(th) power of a matrix of univariate polynomials of degree :

Applications  (5)

Find the fundamental solution for the constant coefficient system of difference equations :

Define fundamental solution using MatrixPower:

Show that it satisfies the equation:

It satisfies the initial condition for a fundamental solution:

Find the matrix exponential for a matrix without a full set of eigenvectors:

Compute the exponential as the power series for each term:

Construct a rotation matrix as a limit of repeated infinitesimal transformations:

Inverse power iteration for the smallest eigenvalue of a sparse positive definite matrix:

Check the error in m.v-val v:

Shifted inverse power iteration for the largest eigenvalue:

Check the error in m.v-val v:

An easy way to evaluate a matrix polynomial:

Evaluate a characteristic polynomial:

Properties & Relations  (10)

For a positive integer power , MatrixPower[m,n] is equivalent to ( times):

Write the formula more compactly with Apply (@@):

For a negative integer power , MatrixPower[m,-n] is equivalent to TemplateBox[{m}, Inverse].TemplateBox[{m}, Inverse].....TemplateBox[{m}, Inverse] ( times):

Write the formula more compactly with Apply:

In particular, negative matrix powers are not defined for singular matrices:

For a nonsingular matrix m, MatrixPower[m,0] is the identity matrix:

If m is nonsingular, MatrixPower[m, n].MatrixPower[m,-n] is the identity:

For noninteger powers, MatrixPower effectively uses the power series, with Power replaced by MatrixPower:

Equivalently, MatrixPower is MatrixFunction applied to the appropriate function for the power:

The matrix power of a diagonal matrix is a diagonal matrix with the diagonal entries raised to that power:

For any power and diagonalizable matrix m=v.d.TemplateBox[{v}, Inverse], MatrixPower[m,s] equals v.d^s.TemplateBox[{v}, Inverse]:

Use JordanDecomposition to find a diagonalization:

Confirm the identity:

For a real symmetric matrix s and integer power n, MatrixPower[s,n] is also real and symmetric:

The analogous statement is true for Hermitian matrices:

For am orthogonal matrix o and any power s, MatrixPower[o,s] is also orthogonal:

The analogous statement is true for unitary matrices:

can be computed from the JordanDecomposition as v.j^s.TemplateBox[{v}, Inverse]:

Moreover, is zero except in upper-triangular blocks delineated by s in the superdiagonal:

Wolfram Research (1991), MatrixPower, Wolfram Language function, https://reference.wolfram.com/language/ref/MatrixPower.html (updated 2023).

Text

Wolfram Research (1991), MatrixPower, Wolfram Language function, https://reference.wolfram.com/language/ref/MatrixPower.html (updated 2023).

CMS

Wolfram Language. 1991. "MatrixPower." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2023. https://reference.wolfram.com/language/ref/MatrixPower.html.

APA

Wolfram Language. (1991). MatrixPower. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/MatrixPower.html

BibTeX

@misc{reference.wolfram_2023_matrixpower, author="Wolfram Research", title="{MatrixPower}", year="2023", howpublished="\url{https://reference.wolfram.com/language/ref/MatrixPower.html}", note=[Accessed: 19-March-2024 ]}

BibLaTeX

@online{reference.wolfram_2023_matrixpower, organization={Wolfram Research}, title={MatrixPower}, year={2023}, url={https://reference.wolfram.com/language/ref/MatrixPower.html}, note=[Accessed: 19-March-2024 ]}