mirror of
https://github.com/TheAlgorithms/Python.git
synced 2024-11-27 15:01:08 +00:00
bc8df6de31
* [pre-commit.ci] pre-commit autoupdate updates: - [github.com/astral-sh/ruff-pre-commit: v0.2.2 → v0.3.2](https://github.com/astral-sh/ruff-pre-commit/compare/v0.2.2...v0.3.2) - [github.com/pre-commit/mirrors-mypy: v1.8.0 → v1.9.0](https://github.com/pre-commit/mirrors-mypy/compare/v1.8.0...v1.9.0) * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> |
||
---|---|---|
.. | ||
src | ||
__init__.py | ||
gaussian_elimination.py | ||
jacobi_iteration_method.py | ||
lu_decomposition.py | ||
README.md |
Linear algebra library for Python
This module contains classes and functions for doing linear algebra.
Overview
class Vector
-
- This class represents a vector of arbitrary size and related operations.
Overview of the methods:
- constructor(components) : init the vector
- set(components) : changes the vector components.
- __str__() : toString method
- component(i): gets the i-th component (0-indexed)
- __len__() : gets the size / length of the vector (number of components)
- euclidean_length() : returns the eulidean length of the vector
- operator + : vector addition
- operator - : vector subtraction
- operator * : scalar multiplication and dot product
- copy() : copies this vector and returns it
- change_component(pos,value) : changes the specified component
-
function zero_vector(dimension)
- returns a zero vector of 'dimension'
-
function unit_basis_vector(dimension, pos)
- returns a unit basis vector with a one at index 'pos' (0-indexed)
-
function axpy(scalar, vector1, vector2)
- computes the axpy operation
-
function random_vector(N, a, b)
- returns a random vector of size N, with random integer components between 'a' and 'b' inclusive
class Matrix
-
- This class represents a matrix of arbitrary size and operations on it.
Overview of the methods:
- __str__() : returns a string representation
- operator * : implements the matrix vector multiplication implements the matrix-scalar multiplication.
- change_component(x, y, value) : changes the specified component.
- component(x, y) : returns the specified component.
- width() : returns the width of the matrix
- height() : returns the height of the matrix
- determinant() : returns the determinant of the matrix if it is square
- operator + : implements the matrix-addition.
- operator - : implements the matrix-subtraction
-
function square_zero_matrix(N)
- returns a square zero-matrix of dimension NxN
-
function random_matrix(W, H, a, b)
- returns a random matrix WxH with integer components between 'a' and 'b' inclusive
Documentation
This module uses docstrings to enable the use of Python's in-built help(...)
function.
For instance, try help(Vector)
, help(unit_basis_vector)
, and help(CLASSNAME.METHODNAME)
.
Usage
Import the module lib.py
from the src directory into your project.
Alternatively, you can directly use the Python bytecode file lib.pyc
.
Tests
src/tests.py
contains Python unit tests which can be run with python3 -m unittest -v
.