Solving Systems of Linear Equations (GNU Octave (version 11.2.0))

#### 1.2.4 Solving Systems of Linear Equations ¶

Systems of linear equations are ubiquitous in numerical analysis. To solve the set of linear equations `Ax = b`, use the left division operator, ‘`\`’:

    x = A \ b

This is conceptually equivalent to `inv (A) * b`, but avoids computing the inverse of a matrix directly.

If the coefficient matrix is singular, Octave will print a warning message and compute a minimum norm solution.

A simple example comes from chemistry and the need to obtain balanced chemical equations. Consider the burning of hydrogen and oxygen to produce water.

    H2 + O2 --> H2O

The equation above is not accurate. The Law of Conservation of Mass requires that the number of molecules of each type balance on the left- and right-hand sides of the equation. Writing the variable overall reaction with individual equations for hydrogen and oxygen one finds:

    x1*H2 + x2*O2 --> H2O
    H: 2*x1 + 0*x2 --> 2
    O: 0*x1 + 2*x2 --> 1

The solution in Octave is found in just three steps.

    octave:1> A = [ 2, 0; 0, 2 ];
    octave:2> b = [ 2; 1 ];
    octave:3> x = A \ b