This repository contains the code for a Matrix
class in Python and C++, allowing for the creation of, manipulation of, and operation on matrices. All code was created by me, Isaac Joffe, from November 2021 - March 2022.
This repository contains the code for a Matrix
class in Python, allowing for the creation of, manipulation of, and operation on matrices. All code was created by me, Isaac Joffe, from November of 2021 to January of 2022.
The aim of the project is to create a user-defined class to represent a matrix. This class has basic functionality, such as the ability to add, remove, delete, and overwrite matrix rows, columns, and elements, but it also has a growing number of more advanced methods. Currently, the transpose operation, determinant computation, scalar addition and multiplication as well as matrix addition and multiplication are supported, and I plan to add more functionality, such as the ability to compute the inverse of a matrix.
Matrices are essentially a two-dimensional array of numbers. They are widely used in mathematics, with countless applications in science and engineering. The code contained is designed to support mostly applications in the field of linear algebra, such as the ability to compute a matrix's determinant and the product of two matrices. More information about matrices and their uses and history can be found at the following link: https://en.wikipedia.org/wiki/Matrix_(mathematics).
My first introduction to computer programming was in my first year of the Engineering program at the University of Alberta. All engineering students had to take ENCMP 100, a coding class based around the language MATLAB, short for matrix laboratory. As the name suggests, much of what one can do in this language revolves around the built-in matrix data type. This was especially true for what we focused on for our general engineering purposes in that class.
When I specialized in Computer Engineering, I took the classes CMPUT 274 and CMPUT 275, which are based in Python and C++ respectively. Up until this point, my only programming experience was in MATLAB, so I had assumed matrices were a fairly universal data type. When I learned Python and C++ did not have such data types, I decided to implement one myself.
Specifics on the technologies being utilized as well as instructions and example usage can be found in the READMEs inside the folders for each implementation.