Skip to content
/ matrix Public

Code to define a "Matrix" class in Python and C++ allowing for the creation of and operation on matrices.

Notifications You must be signed in to change notification settings

ijoffe/matrix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 

Repository files navigation

Matrix

Table of Contents

General Info

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.

General Information

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.

Description

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.

Background

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.

Other Info

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.

Releases

No releases published

Packages

No packages published