Metadata-Version: 2.4
Name: matrixcea
Version: 0.1.0
Summary: Matrix operations and methods
Home-page: https://github.com/krx7h/matxforge
Author: Krishna Bhat U
Author-email: krxshna8@gmail.com
Keywords: matrixops
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Description-Content-Type: text/markdown
License-File: LICENCE.txt
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: license-file
Dynamic: summary

# matrixcea

**matrixcea** is a simple Python library for performing matrix operations.  
It supports basic linear algebra operations, including addition, subtraction, multiplication, determinant, transpose, reshaping, and even negative powers (using matrix inverse).  

---

## **Features**

- Create matrices from lists of lists or single row.
- Matrix addition, subtraction, scalar multiplication, and matrix multiplication.
- Transpose, flatten, and reshape matrices.
- Determinant calculation for square matrices.
- Check for square, identity, symmetric, or zero matrices.
- Raise a matrix to a positive or negative integer power.
- Compute matrix inverse (for square, non-singular matrices).
- Element-wise division by a scalar.
- Operator overloading for Pythonic syntax:
  ```python
  A + B
  A - B
  A @ B      # matrix multiplication
  A * 3      # scalar multiplication
  3 * A      # scalar multiplication
  A ** -1    # matrix inverse
  A ** 3     # matrix power


## **Usage example**:
  ```python

from matxxforgex import matrix
  ```
# Create matrices
  ```python
A = matrix([[1, 2], [3, 4]])
B = matrix([[5, 6], [7, 8]])
  ```
# Arithmetic operations
  ```python
C = A + B
D = A - B
E = A @ B
F = A * 2
G = 2 * A
H = A / 2
  ```
# Properties
  ```python
print(A.is_square())    # True
print(A.is_identity())  # False
print(A.is_symmetric()) # False
print(A.is_zero())      # False
  ```
# Advanced
 ```python
det = A.determinant()
A_inv = A.inverse()
A_pow = A ** 3
A_neg = A ** -1
A_T = A.transpose()
flat = A.flatten()
reshaped = A.reshape(1, 4)
 ```
