Main Content

# 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 scalar variables `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 `M`. (since R2021a)```

## Examples

collapse all

Compute the determinant of a symbolic matrix.

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

Compute the determinant of a matrix that contain 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$`

Since R2021a

This example shows how to compute the determinant of a block matrix. For example, find the determinant of a 4-by-4 block matrix

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

where $A$, $B$, and $C$ are 2-by-2 submatrices.

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 variable 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 ```

## Input Arguments

collapse all

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

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

Input, specified as a square symbolic matrix variable (since R2021a).

Data Types: `symmatrix`

## Tips

• Matrix computations involving many symbolic scalar variables can be slow. To increase the computational speed, reduce the number of symbolic scalar 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).

## Support

#### Mathematical Modeling with Symbolic Math Toolbox

Get examples and videos