https://github.com/faresbakhit/matrix-py
Hackable Matrix module written in pure Python + CLI
https://github.com/faresbakhit/matrix-py
matrix matrix-library pypi python python-library
Last synced: about 1 month ago
JSON representation
Hackable Matrix module written in pure Python + CLI
- Host: GitHub
- URL: https://github.com/faresbakhit/matrix-py
- Owner: faresbakhit
- License: gpl-2.0
- Created: 2021-04-05T20:02:10.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2021-08-12T08:02:58.000Z (almost 5 years ago)
- Last Synced: 2026-06-03T09:22:05.495Z (about 2 months ago)
- Topics: matrix, matrix-library, pypi, python, python-library
- Language: Python
- Homepage:
- Size: 293 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Hackable Matrix module written in pure Python + CLI
matrix-py Module is a python module to:
- Add Matrices :heavy_check_mark:
- Substract Matrices :heavy_check_mark:
- Multiply Matrices :heavy_check_mark:
- Transpose Matrices :heavy_check_mark:
and many other things will come on 1.0 (if the project is still live)
Works with Python3+
---
# Installation
As far as I'm concerned it should work on any python3 version but it's always good to have the latest version since it will be the one I am sure it works on
## Using PyPI
```console
$ pip install matrix-py
```
## Manule Installation
```console
$ git clone https://github.com/FaresAhmedb/matrix-py.git
$ cd matrix-py && python setup.py install --user
```
Now Try it!
```console
$ matrixpy -h
```
On Windows
```console
> python -m matrixpy -h
```
The ouput should be something like this:
```console
usage: __main__.py [-h] [-v] [-s] [-t] [-ma] [-op] [-mb] [-i]
Matrix Minuplation module to add, substract, multiply matrices.
optional arguments:
-h, --help show this help message and exit
-v, --version show program's version number and exit
-s , --size Size of A Matrix
-t , --transpose Transpose of A Matrix (-t "[[1, 2, 3], [4, 5, 6]]")
-ma , --matrixa Matrix A (.. -ma "[[1, 2, 3], [4, 5, 6]]")
-op , --operator Operator (.. -op "+", "-", "*")
-mb , --matrixb Matrix B (.. -mb "[[1, 2, 3], [4, 5, 6]]")
-i , --int Integer (.. -i 69)
Usage: .. -ma "[[1, 2, 3], [4, 5, 6]]" -op "+" -mb "[[7, 8, 9], [10, 11, 12]]"
```
# Usage
Most of what is written here is: old, changed or old, removed or better methods were made
I am planning on writing a REAL documntation but in the mean time if you want to use the module
all the docstring are well written and will tell you about everything.
Avillable on github pages: https://faresahmedb.github.io/matrix-py/reference/
or in python:
```python
>>> import matrixpy
>>> help(matrixpy)
```
## - The Module
Sample code:
```python
from matrixpy import Matrix
A = Matrix("1 2 3; 4 5 6") # String -> Matrix Object
B = Matrix([[1, 4],
[2, 5],
[3, 6]]) # List -> Matrix Object
# Print the multiply of Matrix A * Matrix B
print(A * B)
# Ouput:
# 14 32
# 32 77
# (2x2)
# Print the addition of the negative Matrix A + Matrix B transposed
print(-A + B.transpose())
# Ouput:
# 0 0 0
# 0 0 0
# (2x3)
# 0.1% solved this
C = (+A.transpose() - -B) - (B * 3) + (A.transpose() * 5)
print(C)
# Output:
# 4 16
# 8 20
# 12 24
# (3x2)
# Convert the Matrix to a list if you want to manipulate the matrices yourself
C = C.tolist()
print(type(C))
# Output:
#
```
## - The Command Line Interface (CLI)
The CLI is limited at the moment by one operation at a time (eg. You can't add 3 matrices) duo to the limitations of argparse
To get the size of a matrix
```console
$ matrixpy -s '[[1, 2, 3], [4, 5, 6]]'
1 2 3
4 5 6
(2x3)
```
Your matrix is [[1, 2, 3], [4, 5, 6]] \
To get the transpose of a matrix
```console
$ matrixpy -t '[[1, 2, 3], [4, 5, 6]]'
1 4
2 5
3 6
(3x2)
```
To add 2 matrices to each other or add a matrix to an integer:
```console
$ matrixpy -ma '[[1, 2, 3], [4, 5, 6]]' -op '+' -mb '[[1, 2, 3], [4, 5, 6]]'
2 4 6
8 10 12
(2x3)
$ matrixpy -ma '[[1, 2, 3], [4, 5, 6]]' -op '+' -i 2
3 4 5
6 7 8
(2x3)
```
to substract or multiply matrices just change the '+' to '-' or '*' \
and for a list of the all avillable options
```
$ matrixpy --help
```
---
## Alpha Noitce
The Module is right now in Alpha so there's a big chance there's
some bugs so please consider reporting them.
All Contributions are welcomed so consider looking at the source
code on src/matrixpy
## License ©
matrix-py module to add, substract, multiply matrices.
Copyright (C) 2021 Fares Ahmed
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.