mirror of
https://github.com/TheAlgorithms/Python.git
synced 2024-11-30 16:31:08 +00:00
e871540e37
* Added rank of matrix in linear algebra * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Corrected name of function * Corrected Rank_of_Matrix.py * Completed rank_of_matrix.py * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * delete to rename Rank_of_Matrix.py * created rank_of_matrix * added more doctests in rank_of_matrix.py * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * fixed some issues in rank_of_matrix.py * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * added moreeee doctestsss in rank_of_mtrix.py and fixed some bugss * Update linear_algebra/src/rank_of_matrix.py Co-authored-by: Christian Clauss <cclauss@me.com> * Update linear_algebra/src/rank_of_matrix.py Co-authored-by: Christian Clauss <cclauss@me.com> * Update linear_algebra/src/rank_of_matrix.py Co-authored-by: Christian Clauss <cclauss@me.com> * Update rank_of_matrix.py * Update linear_algebra/src/rank_of_matrix.py Co-authored-by: Caeden Perelli-Harris <caedenperelliharris@gmail.com> --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Christian Clauss <cclauss@me.com> Co-authored-by: Caeden Perelli-Harris <caedenperelliharris@gmail.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
.