-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Welcome to the MathLab wiki!
This project implements a few numerical classes, specifically a simple Vector class, as well as a more complex Matrix Class.
The original version of this was part of a college course called "Numerical Methods" using Fortran. Over the years I have written this code many times, and have used it often to learn new features, or as refresher for new standards. I have written it in Java, Python. Each time I write it and throw it away when done. The problem with this is I need to always go back and re-learn what I learned previous times so I have decided to publish this in GitHub, for me as a refresher, and for any other people.
Hopefully whoever finds this can learn something. Whether it's an example of how to write code, or how not to write, I'll leave that up to you.
I have divided the entire process of developing this library into individual branches listed below. Some branches have links with detailed information, others are just a description of what the branch is.
The ones with details are either where I struggled, or where I learned some useful information.
Below is a list of each Branch.
- 00.Template - Create the initial Project.
- 01.Configuration - Setup initial configuration of the project.
- 02.Vector - A simple vector template class.
- 03.Instrumentation - Simple instrumentation class I use when no instrumentation exists or when I want to get more fine grained.
- 04.Vector_Threaded - Original threaded implementation of Vector class, before utilizing more modern methods.
- 05.Vector_Threaded_Lambda - Converted the threaded implementation to utilize a lambda thread.
- 06.Vector_OpenMP - Converted threaded implementation to OpenMP.
- 07.Matix - Original Matrix Version
- 08.TestCases - Converted several test cases into YAML files.
- 09.MatrixRedo - Redo matrix Logic
- 10.Makefile - Implement make file - Initial version is on OSX