Main Content

# inv

Inverse of symbolic matrix

## Syntax

``D = inv(A)``

## Description

example

````D = inv(A)` returns the inverse of a symbolic matrix `A`.```

## Examples

collapse all

Compute the inverse of a matrix of symbolic numbers.

```A = sym([2 -1 0; -1 2 -1; 0 -1 2]); D = inv(A)```
```D =  $\left(\begin{array}{ccc}\frac{3}{4}& \frac{1}{2}& \frac{1}{4}\\ \frac{1}{2}& 1& \frac{1}{2}\\ \frac{1}{4}& \frac{1}{2}& \frac{3}{4}\end{array}\right)$```

Compute the inverse of a matrix of symbolic scalar variables.

```syms a b c d A = [a b; c d]; D = inv(A)```
```D =  $\left(\begin{array}{cc}\frac{d}{a d-b c}& -\frac{b}{a d-b c}\\ -\frac{c}{a d-b c}& \frac{a}{a d-b c}\end{array}\right)$```

Compute the inverse of the Hilbert matrix that contains symbolic numbers.

`D = inv(sym(hilb(4)))`
```D =  $\left(\begin{array}{cccc}16& -120& 240& -140\\ -120& 1200& -2700& 1680\\ 240& -2700& 6480& -4200\\ -140& 1680& -4200& 2800\end{array}\right)$```

Find the inverse of a 4-by-4 block matrix

`$\mathbit{C}=\left[\begin{array}{cc}\mathbit{A}& {0}_{2,2}\\ {0}_{2,2}& \mathbit{B}\end{array}\right]$`

where $\mathbit{A}$ and $\mathbit{B}$ are 2-by-2 submatrices. The notation ${0}_{2,2}$ represents a 2-by-2 submatrix of zeros.

Use symbolic matrix variables to represent the submatrices in the block matrix.

```syms A B [2 2] matrix Z = symmatrix(zeros(2))```
`Z = ${\mathrm{0}}_{2,2}$`
`C = [A Z; Z B]`
```C =  $\left(\begin{array}{c}\begin{array}{cc}A& {\mathrm{0}}_{2,2}\end{array}\\ \begin{array}{cc}{\mathrm{0}}_{2,2}& B\end{array}\end{array}\right)$```

Find the inverse of the matrix $\mathbit{C}$.

`D = inv(C)`
```D =  ${\left(\begin{array}{c}\begin{array}{cc}A& {\mathrm{0}}_{2,2}\end{array}\\ \begin{array}{cc}{\mathrm{0}}_{2,2}& B\end{array}\end{array}\right)}^{-1}$```

To show the elements of the inverse matrix, convert the result from a symbolic matrix variable to symbolic scalar variables using `symmatrix2sym`.

`D1 = symmatrix2sym(D)`
```D1 =  ```

Compute the inverse of the matrix polynomial ${\mathit{a}}_{0}\text{\hspace{0.17em}}{\mathbit{I}}_{2}+\mathbit{A}$, where $\mathbit{A}$ is a 2-by-2 matrix.

Create the matrix $\mathbit{A}$ as a symbolic matrix variable and the coefficient ${\mathit{a}}_{0}$ as a symbolic scalar variable. Create the matrix polynomial as a symbolic matrix function `f` with ${\mathit{a}}_{0}$ and $\mathbit{A}$ as its parameters.

```syms A [2 2] matrix syms a0 syms f(a0,A) [2 2] matrix keepargs f(a0,A) = a0*eye(2) + A```
`f(a0, A) = ${a}_{0} {\mathrm{I}}_{2}+A$`

Find the inverse of `f` using `inv`. The result is a symbolic matrix function of type `symfunmatrix `that accepts scalars, vectors, and matrices as its input arguments.

`fInv = inv(f)`
`fInv(a0, A) = ${\left({a}_{0} {\mathrm{I}}_{2}+A\right)}^{-1}$`

Convert the result from the `symfunmatrix` data type to the `symfun` data type using `symfunmatrix2symfun`. The result is a symbolic function that accepts scalars as its input arguments.

`gInv = symfunmatrix2symfun(fInv)`
```gInv(a0, A1_1, A1_2, A2_1, A2_2) =  ```

## Input Arguments

collapse all

Input matrix, specified as a square numeric matrix, square matrix of symbolic scalar variables, square symbolic matrix variable, square symbolic matrix function, or symbolic expression with square size.

Data Types: `single` | `double` | `sym` | `symmatrix` | `symfunmatrix`

## Tips

• Matrix computations involving many symbolic variables can be slow. To increase the computational speed, reduce the number of symbolic variables by substituting the given values for some variables.

## Version History

Introduced before R2006a

expand all