MTH202 Worksheet 3¶

Problem 1¶

Find a REF of the matrix $$ A = \left[ \begin{array}{rrrr} -2 & 3 & 1 & 4 \\ 0 & 1 & -2 & -1 \\ 0 & 0 & 1 & 0 \\ 2 & 1 & 2 & -2 \\ -2 & 2 & 0 & -3 \end{array} \right] $$

In [1]:
import numpy as np
In [2]:
A = np.array([[-2, 3, 1, 4],
              [0, 1, -2, -1],
              [0, 0, 1, 0],
              [2, 1, 2, -2],
              [-2, 2, 0, -3]])
In [3]:
A[3,:] += A[0,:]
A[4,:] -= A[0,:]
A
Out[3]:
array([[-2,  3,  1,  4],
       [ 0,  1, -2, -1],
       [ 0,  0,  1,  0],
       [ 0,  4,  3,  2],
       [ 0, -1, -1, -7]])
In [4]:
A[3,:] -= 4*A[1,:]
A[4,:] += A[1,:]
A
Out[4]:
array([[-2,  3,  1,  4],
       [ 0,  1, -2, -1],
       [ 0,  0,  1,  0],
       [ 0,  0, 11,  6],
       [ 0,  0, -3, -8]])
In [5]:
A[3,:] -= 11*A[2,:]
A[4,:] += 3*A[2,:]
A
Out[5]:
array([[-2,  3,  1,  4],
       [ 0,  1, -2, -1],
       [ 0,  0,  1,  0],
       [ 0,  0,  0,  6],
       [ 0,  0,  0, -8]])
In [6]:
A[4,:] = A[4,:] + (8/6)*A[3,:]  # This full code fixes the datatype conflict.
A   # <-- REF
Out[6]:
array([[-2,  3,  1,  4],
       [ 0,  1, -2, -1],
       [ 0,  0,  1,  0],
       [ 0,  0,  0,  6],
       [ 0,  0,  0,  0]])

Problem 2¶

Find the RREF matrix of $$ B = \left[ \begin{array}{rrrr} 11 & 2 & 0 & -3 \\ 8 & -6 & 0 & -5 \\ 2 & 0 & 1 & 0 \end{array} \right] $$

In [7]:
B = np.array([[11, 2, 0, -3],
              [8, -6, 0, -5],
              [2, 0, 1, 0.]])   # Use 0. to force the datatype to be "float".
In [8]:
B[0,:] /= 11
B
Out[8]:
array([[ 1.        ,  0.18181818,  0.        , -0.27272727],
       [ 8.        , -6.        ,  0.        , -5.        ],
       [ 2.        ,  0.        ,  1.        ,  0.        ]])
In [9]:
B[1,:] -= 8*B[0,:]
B[2,:] -= 2*B[0,:]
B
Out[9]:
array([[ 1.        ,  0.18181818,  0.        , -0.27272727],
       [ 0.        , -7.45454545,  0.        , -2.81818182],
       [ 0.        , -0.36363636,  1.        ,  0.54545455]])
In [10]:
B[1,:] /= B[1,1]
B
Out[10]:
array([[ 1.        ,  0.18181818,  0.        , -0.27272727],
       [-0.        ,  1.        , -0.        ,  0.37804878],
       [ 0.        , -0.36363636,  1.        ,  0.54545455]])
In [11]:
B[0,:] -= B[0,1]*B[1,:]
B[2,:] -= B[2,1]*B[1,:]
B  # <-- RREF
Out[11]:
array([[ 1.        ,  0.        ,  0.        , -0.34146341],
       [-0.        ,  1.        , -0.        ,  0.37804878],
       [ 0.        ,  0.        ,  1.        ,  0.68292683]])