95 lines
1.8 KiB
Markdown
95 lines
1.8 KiB
Markdown
# LeMA : Matrices simply
|
|
|
|
LeMA (short for "Leto Matrix") is a lightweight C++ header-only library designed to simplify matrix manipulation.
|
|
LeMA will eventually be used for graphical and machine learning usage in my other projects.
|
|
|
|
## Features
|
|
|
|
- **Lightweight**: Just a single header file.
|
|
- **Easy to Use**: Intuitive functions.
|
|
- **Somewhat complete**: Supports addition, subtraction, multiplication, and more.
|
|
- **Ready to Integrate**: Designed to work seamlessly with C++ code.
|
|
|
|
## Getting Started
|
|
|
|
### Installation
|
|
|
|
1. Clone or download the repository.
|
|
```bash
|
|
git clone https://git.letonet.fr/leto/lema.git
|
|
```
|
|
|
|
2. Include the `matrices.h` file in your project.
|
|
```cpp
|
|
#include "matrices.h"
|
|
```
|
|
|
|
That's it! You're ready to use Lema.
|
|
|
|
### Example Usage
|
|
|
|
#### Creating a Matrix
|
|
|
|
```cpp
|
|
#include "matrices.h"
|
|
#include <iostream>
|
|
|
|
int main() {
|
|
Matrix mat(3, 2); // Create a 3 rows, 2 columns matrix
|
|
mat.Print("Weights"); // LeMA can print matrices in terminal for easy debugging
|
|
return 0;
|
|
}
|
|
```
|
|
|
|
#### Matrix Addition
|
|
|
|
```cpp
|
|
#include "matrices.h"
|
|
#include <iostream>
|
|
|
|
int main() {
|
|
Matrix a(2,2);
|
|
Matrix b(2,2);
|
|
|
|
a.Set(2.0F); // Fill both matrices
|
|
b.Set(3.0F);
|
|
|
|
a.Add(&b);
|
|
|
|
a.Print("A + B");
|
|
return 0;
|
|
}
|
|
```
|
|
|
|
#### Matrix Multiplication
|
|
|
|
```cpp
|
|
#include "matrices.h"
|
|
#include <iostream>
|
|
|
|
int main() {
|
|
Matrix a(3, 3);
|
|
Matrix b(3, 1); // Let's multiply by a vector
|
|
|
|
Matrix result = a.Multiply(&b);
|
|
|
|
result.Print("A x B");
|
|
|
|
return 0;
|
|
}
|
|
```
|
|
|
|
## Contributing
|
|
|
|
Contributions are welcome.
|
|
This git server is mostly private but still accepts account creation upon request.
|
|
Contact me anywhere about an account and git permissions.
|
|
|
|
## License
|
|
|
|
This project is licensed under the [https://en.wikipedia.org/wiki/WTFPL](WTFPL) Licence.
|
|
|
|
---
|
|
|
|
Happy coding with **LeMA**.
|