Skip to main content

A package for all things linear algebra

Project description

nullity

A Python package for all things linear algebra, built in vanilla python3
Built during MAT-1001 / Linear Algebra at Ashoka University.

Installation

The package is available on PyPI:

pip install nullity

To start using, simply import the package in your Python file:

from nullity import Matrix

Usage

Instantiation

m = Matrix(m, n, *args)

The matrix must be instantiated by first passing in the number of rows (m), then the number of columns (n), and finally the m*n values of the matrix separated by commas.

These values are arranged first in rows and then in columns.
For example:

>>> m = Matrix(2, 3, 1, 2, 3, 4, 5, 6)
>>> print(m)

      1.00       2.00       3.00
      4.00       5.00       6.00

Methods

Function Output
nrows Number of rows
ncolumns Number of columns
is_square Whether the matrix is square
rref RREF of the matrix
rank Rank of the matrix
nullity Nullity (dimension of the null space) of the matrix
is_invertible Whether the matrix is invertible
inverse Inverse of the invertible matrix
rank_factorization The two rank factorized matrices r and c
row_basis Basis of the row space
col_basis Basis of the column space
null_basis Basis of the null space
transpose Transpose of the matrix
plu PLU decomposed matrices p, l, and u
det Determinant of a square matrix
qr QR decomposed matrices q and r
charpol Characteristic polynomial of the matrix
eigenvals Eigenvalues of the matrix (from numpy)
eigenvecs Eigenvectors corresponding to the respective eigenvalues
svd Singular value decomposed matrices u, sigma, and v_transpose

Along with these, addition and multiplication of 2 matrices is also supprted using the inbuilt operators + and * respectively.

Issues

Python's decimal arithmetic often results in incorrect answers. In some cases, approximated output might be sufficient, however in others, errors may be raised.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nullity-0.0.5.tar.gz (18.4 kB view hashes)

Uploaded Source

Built Distribution

nullity-0.0.5-py3-none-any.whl (18.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page