Main Content

inv

Inverse of symbolic matrix

Description

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

example

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 = 

(34121412112141234)

Compute the inverse of a matrix of symbolic scalar variables.

syms a b c d
A = [a b; c d];
D = inv(A)
D = 

(dad-bc-bad-bc-cad-bcaad-bc)

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

D = inv(sym(hilb(4)))
D = 

(16-120240-140-1201200-27001680240-27006480-4200-1401680-42002800)

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

C=[A02,202,2B]

where A and B are 2-by-2 submatrices. The notation 02,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 = 02,2
C = [A Z; Z B]
C = 

(A02,202,2B)

Find the inverse of the matrix C.

D = inv(C)
D = 

(A02,202,2B)-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 = 

(A2,2σ2-A1,2σ200-A2,1σ2A1,1σ20000B2,2σ1-B1,2σ100-B2,1σ1B1,1σ1)where  σ1=B1,1B2,2-B1,2B2,1  σ2=A1,1A2,2-A1,2A2,1

Compute the inverse of the matrix polynomial a0I2+A, where A is a 2-by-2 matrix.

Create the matrix A as a symbolic matrix variable and the coefficient a0 as a symbolic scalar variable. Create the matrix polynomial as a symbolic matrix function f with a0 and 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) = a0I2+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) = a0I2+A-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) = 

(A2,2+a0σ1-A1,2σ1-A2,1σ1A1,1+a0σ1)where  σ1=A1,1a0+A2,2a0+a02+A1,1A2,2-A1,2A2,1

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

See Also

| |