# MatrixLog

MatrixLog[m]

gives the matrix logarithm of a matrix m.

# Details and Options

• MatrixLog is effectively the functional inverse of MatrixExp, so that MatrixExp[MatrixLog[m]] is m for a nonsingular matrix.
• MatrixLog works only on square nonsingular matrices.
• A Method option can be given, with possible explicit settings:
•  "Jordan" Jordan decomposition "Schur" Schur decomposition for inexact numerical matrices
• The default setting of uses the Schur decomposition for inexact numerical matrices and Jordan decomposition for exact and symbolic matrices.
• The "Schur" method can also be specified by Method->{"Schur",Tolerance->tol}, where eigenvalues with a relative magnitude less than tol are effectively considered as 0 so that the matrix is considered as singular. Use Tolerance->0 to allow any nonzero eigenvalue, no matter how small.
• MatrixLog works on SparseArray objects.

# Examples

open allclose all

## Basic Examples(1)

Logarithm of a 2×2 matrix:

## Scope(4)

Use exact arithmetic to compute the matrix logarithm:

Use machine arithmetic:

Use 24-digit-precision arithmetic:

Compute a matrix logarithm of a complex matrix:

A matrix logarithm of a symbolic matrix:

A matrix logarithm of a sparse 10×10 matrix applied to a vector:

## Options(1)

### Method(1)

Eigenvalues with relatively very small magnitude are treated as zero:

Use Tolerance->0 to include nonzero eigenvalues of any magnitude:

## Applications(1)

Given the vectors , and a number , compute the matrix for which :

Form the matrices and to compute the matrix such that :

Check that applying the matrix iteratively starting with generates the rest of the vectors :

## Properties & Relations(2)

If m is a nonsingular numeric matrix, then MatrixExp[MatrixLog[m]] is effectively equal to m:

But it is not always true for symbolic matrices:

The identity does not hold in general:

If a matrix is positive definite, then the identity holds:

## Possible Issues(3)

MatrixLog does not work with singular matrices:

The method "Jordan" can work with exact and inexact matrices:

The method "Schur" works only with inexact matrices:

## Neat Examples(1)

Wolfram Research (2012), MatrixLog, Wolfram Language function, https://reference.wolfram.com/language/ref/MatrixLog.html.

#### Text

Wolfram Research (2012), MatrixLog, Wolfram Language function, https://reference.wolfram.com/language/ref/MatrixLog.html.

#### CMS

Wolfram Language. 2012. "MatrixLog." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/MatrixLog.html.

#### APA

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

#### BibTeX

@misc{reference.wolfram_2024_matrixlog, author="Wolfram Research", title="{MatrixLog}", year="2012", howpublished="\url{https://reference.wolfram.com/language/ref/MatrixLog.html}", note=[Accessed: 22-May-2024 ]}

#### BibLaTeX

@online{reference.wolfram_2024_matrixlog, organization={Wolfram Research}, title={MatrixLog}, year={2012}, url={https://reference.wolfram.com/language/ref/MatrixLog.html}, note=[Accessed: 22-May-2024 ]}