Linear Algebra in C++ - Part 8 - Compute Matrix Rank by Determinant Method

preview_player
Показать описание
Linear Algebra in C++ - Part 8 - Compute Matrix Rank by Determinant Method

Linear algebra is essential to most scientific computing and fields of engineering, including #machinelearning. Following on from the last video where we looked at computing the rank of a matrix by counting the number of non-zero rows after applying Gaussian elimination to reduce the matrix to row-echelon form, this video looks at how we can handle cases where the Gaussian elimination method fails. In these cases, we can still compute the rank of the matrix by finding the size of the largest non-zero sub-matrix with a non-zero determinant.

**********************************
You can also follow me on the QuantitativeBytes Facebook page at:

**********************************

**********

Other videos in this series:

Part 1 of the series, where I introduce the code for a simple class to handle matrices in C++ can be seen here:

Part 2a of the series, where I cover the theory behind the Gauss-Jordan elimination method can be seen here:

Part 2b of the series, where I go over how I have approached implementing the Gauss-Jordan elimination method in C++ can be seen here:

Part 2c of the series, where I explore how to perform more extensive testing of my implementation of the Gauss-Jordan elimination algorithm can be seen here:

Part 3 of the series covering how to compute the determinant of an NxN square matrix may be seen here:

Part 4 of the series covering implementation of a simple vector class may be seen here:

Part 5 of the series covering some extensions to the vector and matrix classes to handle conditions such as a matrix multiplied by a vector and computing the vector norm:

Part 6 of the series, coving how to use the code we have created so far to solve systems of linear equations:

Part 7 of the series, look at how to handle unsolvable systems of equations and how to compute the rank by counting the number of non-zero rows after applying Gaussian elimination to reduce the matrix to row-echelon form:

**********

As with all of my videos, I show the code that I have developed to solve the particular problems that I need to solve, with the hope that it may provide sufficient background and inspiration to allow you to go on to develop your own code if you wish to. My code may not be the most appropriate solution to the problem you are trying to solve, so I urge you to consider the problem carefully and decide for yourself on the most appropriate solution. I make every effort to ensure that my code works as it should and is free of bugs, but of course I cannot provide any guarantees. If you use my code as shown, I strongly encourage you to make sure that you test it thoroughly to ensure that it works as you need it to. If you find a bug, do please let me know in the comments!
Рекомендации по теме
Комментарии
Автор

As nobody has posted a comment here, I think it is opportune time to express my deepest appreciation for your channel.
I studied mathematics at 3rd level back in the 80s (pre C++) and it has been a wonderful experience to revisit topics like Liner Algebra, Fractal Geometry & Fourier transform with the added bonus of learning C++.
Thank you so much for all that you do. It is greatly appreciated by me.

franklynch