/matrix

Enter the Matrix - A Linear Algebra library

Primary LanguageRust

matrix

Enter the Matrix

This project is about creating a linear algebra library.

English Subject | Documentation

Table of contents

Quick start

matrix is a 42school project targeting to write a simple linear algebra library :

  • Add, Substract and Scale
  • Linear combination
  • Linear interpolation
  • Dot product
  • Norm
  • Cosine
  • Cross product
  • Linear map, Matrix multiplication
  • Trace
  • Transpose
  • Solving systems of linear equations
  • Reduced row-echelon form
  • Determinant
  • Inverse
  • Rank-nullity theorem
  • Rank
  • Projection matrix
  • Complex vector spaces

Usage

Cloning

Clone this repository into a local directory using the following command:

git clone https://github.com/llecoq/matrix

Adding as a Local Dependency

Add the library as a local dependency in your Cargo.toml:

[dependencies]
matrix = { path = "path/to/cloned/repo" }

Documentation

Read the full documentation here.

What's included

matrix
├── assets
│   ├── en.subject.pdf
│   ├── final_grade.png
│   └── matrix_display
│       ├── assets
│       │   ├── logo.png
│       │   └── model.obj
│       ├── display
│       ├── proj
│       └── README.md
├── Cargo.lock
├── Cargo.toml
├── README.md
└── src
    ├── lib.rs
    ├── matrix.rs
    ├── operations
    │   ├── cosine.rs
    │   ├── cross_product.rs
    │   ├── linear_combination.rs
    │   ├── linear_interpolation.rs
    │   ├── mod.rs
    │   └── projection_matrix.rs
    ├── tests
    │   ├── ex00_tests.rs
    │   ├── ex01_tests.rs
    │   ├── ex02_tests.rs
    │   ├── ex03_tests.rs
    │   ├── ex04_tests.rs
    │   ├── ex05_tests.rs
    │   ├── ex06_tests.rs
    │   ├── ex07_tests.rs
    │   ├── ex08_tests.rs
    │   ├── ex09_tests.rs
    │   ├── ex10_tests.rs
    │   ├── ex11_tests.rs
    │   ├── ex12_tests.rs
    │   ├── ex13_tests.rs
    │   ├── ex14_tests.rs
    │   └── test_utils.rs
    ├── traits.rs
    └── vector.rs

Creators

llecoq