GithubHelp home page GithubHelp logo

matinv's Introduction

We are currently doing linear algebra as a course and so I do lot of boring-ass calculations involving matrices. In this repo, I have set out to automate all the boring calculations, so that I can spend less time on my assignments.

Usage

The intended use-case for this project is quick verification of hand-computed results of linear algebra problem sets and theorems. To be able to do this and maintain accuracy, I entirely avoided using floating point types and instead implemented Fraction as a numeric type. Using fractions to compute arithmetic operations ensured that every result maintained 100% accuracy and that no floating-point error could hinder exploration.

For operations which involve row operations, calling showSteps on the result of these functions would print the necessary row operation steps needed to arrive at the final values.

I would strongly advise readers not to use code from this repository in their own applications because I have sacrificed speed of execution for the fun of exploration.

The achilles heel of all my computations is complex numbers. I havent had any need to worry about them yet, so I would postpone their implementations until further notice.

So far I have implemented:

1. Determinants Of Matrices
2. Adjoint(Adjucate?) Of Matrices
3. Inverse Of Matrices (will throw exception for singular matrices)
4. Normal and Reduced Echelon Forms of Matrix, and hence verification of consistency for a linear system of equations
5. LU Factorisation of matrices

There are many things that could go on the list above(e.g transposition of matrices), but I feel like they are not worthy of mention, since their implementations and computations are trivial. If you are interested in all the functionalities, dig into the code and you will find them.

I hope to also implement:

1. Eigenvalues and Eigenvectors
2. Diagonilization of Matrices

Also if I have time, I will make this a website so other people can use it.

matinv's People

Contributors

uzo2005 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.