# Linear algebra library for Python This module contains some useful classes and functions for dealing with linear algebra in python 2. --- ## Overview - class Vector - This class represents a vector of arbitray size and operations on it. **Overview about the methods:** - constructor(components : list) : init the vector - set(components : list) : changes the vector components. - __str__() : toString method - component(i : int): gets the i-th component (start by 0) - size() : gets the size of the vector (number of components) - euclidLength() : 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. - changeComponent(pos,value) : changes the specified component. - function zeroVector(dimension) - returns a zero vector of 'dimension' - function unitBasisVector(dimension,pos) - returns a unit basis vector with a One at index 'pos' (indexing at 0) - function axpy(scalar,vector1,vector2) - computes the axpy operation - function randomVector(N,a,b) - returns a random vector of size N, with random integer components between 'a' and 'b'. - class Matrix - This class represents a matrix of arbitrary size and operations on it. **Overview about the methods:** - __str__() : returns a string representation - operator * : implements the matrix vector multiplication implements the matrix-scalar multiplication. - changeComponent(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 - operator + : implements the matrix-addition. - operator - _ implements the matrix-subtraction - function squareZeroMatrix(N) - returns a square zero-matrix of dimension NxN - function randomMatrix(W,H,a,b) - returns a random matrix WxH with integer components between 'a' and 'b' --- ## Documentation The module is well documented. You can use the python in-built ```help(...)``` function. For instance: ```help(Vector)``` gives you all information about the Vector-class. Or ```help(unitBasisVector)``` gives you all information you needed about the global function ```unitBasisVector(...)```. If you need informations about a certain method you type ```help(CLASSNAME.METHODNAME)```. --- ## Usage You will find the module in the **src** directory its called ```lib.py```. You need to import this module in your project. Alternative you can also use the file ```lib.pyc``` in python-bytecode. --- ## Tests In the **src** directory you also find the test-suite, its called ```tests.py```. The test-suite uses the built-in python-test-framework **unittest**.