Skip to main content
Mathematics LibreTexts

23.1: Review the Properties of Invertible Matrices

  • Page ID
    68050
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    %matplotlib inline
    import matplotlib.pylab as plt
    import numpy as np
    import sympy as sym
    from urllib.request import urlretrieve
    sym.init_printing(use_unicode=True)
    urlretrieve('https://raw.githubusercontent.com/colbrydi/jupytercheck/master/answercheck.py', 
                'answercheck.py');

    Let \(A\) be an \(n \times n\) matrix. The following statements are equivalent.

    • The column vectors of \(A\) form a basis for \(R^n\)
    • \(|A| \neq 0\)
    • \(A\) is invertible.
    • \(A\) is row equivalent to \(I_n\) (i.e. it’s reduced row echelon form is \(I_n\))
    • The system of equations \(Ax=b\) has a unique solution.
    • \(rank(A) = n\)

    Consider the following example. We claim that the following set of vectors form a basis for \(R^3\):

    \[B = \{(2,1, 3), (-1,6, 0), (3, 4, -10) \} \nonumber \]

    Remember for these two vectors to be a basis they need to obay the following two properties:

    1. They must span \(R^3\).
    2. They must be linearly independent.

    Using the above statements we can show this is true in multiple ways.

    The column vectors of \(A\) form a basis for \(R^n\)

    Do This

    Define a numpy matrix A consisting of the vectors \(B\) as columns:

    #Put your answer to the above question here
    from answercheck import checkanswer
    
    checkanswer.matrix(A,'94827a40ec59c7d767afe6841e1723ce');

    \(|A| \neq 0\)

    Do This

    The first in the above properties tell us that if the vectors in \(B\) are truly a basis of \(R^3\) then \(|A|=0\). Calculate the determinant of \(A\) and store the value in det.

    #Put your answer to the above question here
    #Verify that the determinate is in fact zero
    if np.isclose(det,0):
        print("Since the Determinate is zero the column vectors do NOT form a Basis")
    else:
        print("Since the Determinate is non-zero then the column vectors form a Basis.")

    \(A\) is invertible.

    Do This

    Since the determinant is non-zero we know that there is an inverse to A. Use python to calculate that inverse and store it in a matrix called A_inv

    #put your answer to the above question here
    from answercheck import checkanswer
    
    checkanswer.matrix(A_inv,'001aaddd4824f42ad9d2ccde21cf9d24');

    \(A\) is row equivalent to \(I_n\) (i.e. it’s reduced row echelon form is \(I_n\))

    Do This

    According to the property above the reduced row echelon form of an invertable matrix is the Identiy matrix. Verify using the python sympy library and store the reduced row echelone matrix in a variable called rref if you really need to check it.

    #put your answer to the above question here
    from answercheck import checkanswer
    
    checkanswer.matrix(rref,'cde432847c1c4b6d17cd7bfacc457ed1');

    The system of equations \(Ax=b\) has a unique solution.

    Let us assume some arbitrary vector \(b \in R^n\). According to the above properties it should only have one solution.

    Do This

    Find the solution to \(Ax=b\) for the vector \(b=(−10,200,3)\). Store the solution in a variable called x

    from answercheck import checkanswer
    
    checkanswer.vector(x,'161cfd16545b1b5fb13e35d2800f13df');

    \(rank(A) = n\)

    The final property says that the rank should equal the dimension of \(R^n\). In our example \(n=3\). Find a python function to calculate the rank of \(A\). Store the value in a variable named rank to check your answer.

    #Put your answer to the above quesion here
    #Verify that the determinate is in fact zero
    if np.isclose(rank,3):
        print("Rank is 3")
    else:
        print("Rank is not 3. Did we do something wrong?")
    Question (assignment-specific)

    Without doing any calculations (i.e. only using the above properties), how many solutions are there to \(Ax=0\)? What is(are) the solution(s)?


    This page titled 23.1: Review the Properties of Invertible Matrices is shared under a CC BY-NC 4.0 license and was authored, remixed, and/or curated by Dirk Colbry via source content that was edited to the style and standards of the LibreTexts platform; a detailed edit history is available upon request.

    • Was this article helpful?