# det

Determinant of symbolic matrix

## Syntax

``B = det(A)``
``B = det(A,'Algorithm','minor-expansion')``
``B = det(M)``

## Description

example

````B = det(A)` returns the determinant of the square matrix of symbolic numbers, scalar variables, or functions `A`.```

example

````B = det(A,'Algorithm','minor-expansion')` uses the minor expansion algorithm to evaluate the determinant of `A`.```

example

````B = det(M)` returns the determinant of the square symbolic matrix variable or matrix function `M`.```

## Examples

collapse all

Compute the determinant of a matrix that contains symbolic scalar variables.

```syms a b c d A = [a b; c d]; B = det(A)```
`B = $a d-b c$`

Compute the determinant of a matrix that contains symbolic numbers.

```A = sym([2/3 1/3; 1 1]); B = det(A)```
```B =  $\frac{1}{3}$```

Create a symbolic matrix that contains polynomial entries.

```syms a x A = [1, a*x^2+x, x; 0, a*x, 2; 3*x+2, a*x^2-1, 0]```
```A =  $\left(\begin{array}{ccc}1& a {x}^{2}+x& x\\ 0& a x& 2\\ 3 x+2& a {x}^{2}-1& 0\end{array}\right)$```

Compute the determinant of the matrix using minor expansion.

`B = det(A,'Algorithm','minor-expansion')`
`B = $3 a {x}^{3}+6 {x}^{2}+4 x+2$`

Compute the determinant of a 4-by-4 block matrix

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

where $A$, $B$, and $C$ 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 C [2 2] matrix Z = symmatrix(zeros(2))```
`Z = ${\mathrm{0}}_{2,2}$`
`M = [A Z; C B]`
```M =  $\left(\begin{array}{c}\begin{array}{cc}A& {\mathrm{0}}_{2,2}\end{array}\\ \begin{array}{cc}C& B\end{array}\end{array}\right)$```

Find the determinant of the matrix $M$.

`det(M)`
```ans =  $\mathrm{det}\left(\begin{array}{c}\begin{array}{cc}A& {\mathrm{0}}_{2,2}\end{array}\\ \begin{array}{cc}C& B\end{array}\end{array}\right)$```

Convert the result from symbolic matrix variables to symbolic scalar variables using `symmatrix2sym`.

`D1 = simplify(symmatrix2sym(det(M)))`
`D1 = $\left({A}_{1,1} {A}_{2,2}-{A}_{1,2} {A}_{2,1}\right) \left({B}_{1,1} {B}_{2,2}-{B}_{1,2} {B}_{2,1}\right)$`

Check if the determinant of matrix $M$ is equal to the determinant of $A$ times the determinant of $B$.

`D2 = symmatrix2sym(det(A)*det(B))`
`D2 = $\left({A}_{1,1} {A}_{2,2}-{A}_{1,2} {A}_{2,1}\right) \left({B}_{1,1} {B}_{2,2}-{B}_{1,2} {B}_{2,1}\right)$`
`isequal(D1,D2)`
```ans = logical 1 ```

Compute the determinant 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 determinant of `f` using `det`. The result is a symbolic matrix function of type `symfunmatrix `that accepts scalars, vectors, and matrices as its input arguments.

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

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) = ${A}_{1,1} {a}_{0}+{A}_{2,2} {a}_{0}+{{a}_{0}}^{2}+{A}_{1,1} {A}_{2,2}-{A}_{1,2} {A}_{2,1}$`

## Input Arguments

collapse all

Input matrix, specified as a square matrix of symbolic numbers, square matrix of symbolic scalar variables, or square matrix of symbolic functions.

Data Types: `single` | `double` | `sym` | `symfun`

Input matrix, specified as a square symbolic matrix variable or square symbolic matrix function.

Data Types: `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.

• The minor expansion method is generally useful to evaluate the determinant of a matrix that contains many symbolic scalar variables. This method is often suited to matrices that contain polynomial entries with multivariate coefficients.

 Khovanova, T. and Z. Scully. "Efficient Calculation of Determinants of Symbolic Matrices with Many Variables." arXiv preprint arXiv:1304.4691 (2013).