mirror of
https://github.com/TheAlgorithms/Python.git
synced 2024-11-23 21:11:08 +00:00
756bb268eb
* [pre-commit.ci] pre-commit autoupdate updates: - [github.com/psf/black: 22.6.0 → 22.8.0](https://github.com/psf/black/compare/22.6.0...22.8.0) - [github.com/asottile/pyupgrade: v2.37.0 → v2.38.2](https://github.com/asottile/pyupgrade/compare/v2.37.0...v2.38.2) - https://gitlab.com/pycqa/flake8 → https://github.com/PyCQA/flake8 - [github.com/PyCQA/flake8: 3.9.2 → 5.0.4](https://github.com/PyCQA/flake8/compare/3.9.2...5.0.4) - [github.com/pre-commit/mirrors-mypy: v0.961 → v0.981](https://github.com/pre-commit/mirrors-mypy/compare/v0.961...v0.981) - [github.com/codespell-project/codespell: v2.1.0 → v2.2.1](https://github.com/codespell-project/codespell/compare/v2.1.0...v2.2.1) * Fix a long line * Update sol1.py * Update sol1.py * lambda_ * Update multi_level_feedback_queue.py * Update double_ended_queue.py * Update sequential_minimum_optimization.py * Update .pre-commit-config.yaml Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Christian Clauss <cclauss@me.com> |
||
---|---|---|
.. | ||
src | ||
__init__.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
.