# det

Determinant of symbolic matrix

## 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.

## References

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

## Version History

Introduced before R2006a

expand all