Main Content

Symbolic matrix left division

solves
the symbolic system of linear equations in matrix form, `X`

= `A`

\`B`

```
A*X
= B
```

for `X`

.

If the solution does not exist or if it is not unique, the `\`

operator
issues a warning.

`A`

can be a rectangular matrix, but the
equations must be consistent. The symbolic operator `\`

does
not compute least-squares solutions.

Solve a system of linear equations specified by a square matrix of coefficients and a vector of right sides of equations.

Create a matrix containing the coefficient of equation terms, and a vector containing the right sides of equations.

A = sym(pascal(4)) b = sym([4; 3; 2; 1])

A = [ 1, 1, 1, 1] [ 1, 2, 3, 4] [ 1, 3, 6, 10] [ 1, 4, 10, 20] b = 4 3 2 1

Use the operator `\`

to solve this system.

X = A\b

X = 5 -1 0 0

Create a matrix containing the coefficients of equation terms, and a vector containing the right sides of equations.

A = sym(magic(4)) b = sym([0; 1; 1; 0])

A = [ 16, 2, 3, 13] [ 5, 11, 10, 8] [ 9, 7, 6, 12] [ 4, 14, 15, 1] b = 0 1 1 0

Find the rank of the system. This system contains four equations,
but its rank is `3`

. Therefore, the system is rank-deficient.
This means that one variable of the system is not independent and
can be expressed in terms of other variables.

rank(horzcat(A,b))

ans = 3

Try to solve this system using the symbolic `\`

operator.
Because the system is rank-deficient, the returned solution is not
unique.

A\b

Warning: Solution is not unique because the system is rank-deficient. ans = 1/34 19/34 -9/17 0

Create a matrix containing the coefficient of equation terms, and a vector containing the right sides of equations.

A = sym(magic(4)) b = sym([0; 1; 2; 3])

A = [ 16, 2, 3, 13] [ 5, 11, 10, 8] [ 9, 7, 6, 12] [ 4, 14, 15, 1] b = 0 1 2 3

Try to solve this system using the symbolic `\`

operator.
The operator issues a warning and returns a vector with all elements
set to `Inf`

because the system of equations is inconsistent,
and therefore, no solution exists. The number of elements in the resulting
vector equals the number of equations (rows in the coefficient matrix).

A\b

Warning: Solution does not exist because the system is inconsistent. ans = Inf Inf Inf Inf

Find the reduced row echelon form of this system. The last row
shows that one of the equations reduced to `0 = 1`

,
which means that the system of equations is inconsistent.

rref(horzcat(A,b))

ans = [ 1, 0, 0, 1, 0] [ 0, 1, 0, 3, 0] [ 0, 0, 1, -3, 0] [ 0, 0, 0, 0, 1]

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.

When dividing by zero,

`mldivide`

considers the numerator’s sign and returns`Inf`

or`-Inf`

accordingly.syms x [sym(0)\sym(1), sym(0)\sym(-1), sym(0)\x]

ans = [ Inf, -Inf, Inf*x]

`ctranspose`

| `ldivide`

| `minus`

| `mpower`

| `mrdivide`

| `mtimes`

| `plus`

| `power`

| `rdivide`

| `times`

| `transpose`