Skip to main content

A simple linear algebra package written in vanilla python3

Project description

linalg

PyPI Documentation Status PyPI - Downloads

Installation

Installation can be done through pip. You must have python version >= 3.6.

pip install linalg

Docs

Docs can be found at the readthedocs page

What is this?

NOT intended to be the best or fastest.

NOT intended to be production-grade (yet).

IS intended to be fully vanilla python3.

IS meant as an educational tool.

Technical details

This package uses black for formatting and semver for versioning.

Usage

This package provides the Matrix class and utility functions.

import linalg
from linalg import *  # import the Matrix class and utility functions top-level
from linalg import Matrix  # import the Matrix class

To create a matrix object, initialize it with a 2D list or use Matrix.zeroes() or Matrix.identity(). You can also use random_matrix().

mat = linalg.Matrix([[3, 4, 5], [2, 5, -1], [0, 2, 1]])  # 3x3 matrix
mat = linalg.as_matrix([[3, 4, 5], [2, 5, -1], [0, 2, 1]])  # 3x3 matrix, alternative notation
mat = linalg.zeroes(4, 2)  # 4x2 zero matrix
mat = linalg.identity(4)  # 4x4 identity matrix
mat = linalg.random_matrix((2, 3), (-10, 10))  # 2x3 matrix with elements within (-10, 10)

This package implements matrix multiplication with the python matrix multiplication operator @ (__matmul__). The matrix multiplication of two linalg.Matrix A, B is C = A @ B.

After that, you can use multiple functions to perform linear algebraic operations as explained in the above linked docs.

Todo

  • Add other linear algebraic operations
  • Implement vectors
  • Add documentation

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

linalg-1.0.1.tar.gz (4.7 kB view details)

Uploaded Source

File details

Details for the file linalg-1.0.1.tar.gz.

File metadata

  • Download URL: linalg-1.0.1.tar.gz
  • Upload date:
  • Size: 4.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.19.1 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.26.0 CPython/3.7.3

File hashes

Hashes for linalg-1.0.1.tar.gz
Algorithm Hash digest
SHA256 2cf213e72bbe4bf5d3a7ebb313e396e737c5b025442ca4aa1d06648c670be5e2
MD5 1cdcb6cf29680c8d059b6e01f40e0e7d
BLAKE2b-256 bfa71a0672ffa685c3c070bf35deb9b8d8f2c01431bc8e34ba89b5d53e57c9e4

See more details on using hashes here.

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