Skip to main content
Help us improve PyPI by participating in user testing. All experience levels needed!

A python package for matrices and vectors operations.

Project description

# matrix_vector
A python package for matrices and vectors operations.
The package implements two classes - Vector and Matrix.

class Vector:
# Vector#__init__(self, *args)
Initialize a Vector object.

Example:
>> Vector(1, 2, 3)
=> <matrix_vector.vector.Vector object>

Arguments:
N numbers

# Vector#size(self)
Returns the size of the vector(number of coordinates).
Example:

>> Vector(1, 2, 3).size
=> 3

Arguments:
No arguments

# Vector#__add__(self, other)
Adds two vectors or adds a number to the elements of vector. Returns a new object.

Example:
>> Vector(1, 2, 3) + Vector(4, 5, 6)
=> Vector(5, 7, 9)

Example:
>> Vector(1, 2, 3) + 3
=> Vector(4, 5, 6)

Arguments:
vector : (Vector)
or
number : (Numeric)

# Vector#__sub__(self, other)
Substracts two vectors or substracts a number from the elements of the vector. Returns a new object.

Example:
>> Vector(1, 2, 3) - Vector(4, 5, 6)
=> Vector(-3, -3, -3)

Example:
>> Vector(1, 2, 3) - 3
=> Vector(-2, -1, 0)

Arguments:
vector : (Vector)
or
number : (Numeric)

# Vector#__iadd__(self, other)
Adds two vectors or adds a number to the elements of the vector. Changes the object.

Example:
>> Vector(1, 2, 3) += Vector(4, 5, 6)
=> Vector(5, 7, 9)

Example:
>> Vector(1, 2, 3) += 3
=> Vector(4, 5, 6)

Arguments:
vector : (Vector)
or
number : (Numeric)

# Vector#__isub__(self, other)
Substracts two vectors or substracts a number from the elements of the vector. Changes the object.

Example:
>> Vector(1, 2, 3) -= Vector(4, 5, 6)
=> Vector(-3, -3, -3)

Example:
>> Vector(1, 2, 3) -= 3
=> Vector(-2, -1, 0)

Arguments:
vector : (Vector)
or
number : (Numeric)

# Vector#__getitem__(self, key)
Access elements of the vector with [] operator

Example:
>> Vector(1, 2, 3)[2]
=> 3

Arguments:
number : (int)

# Vector#__mul__(self, other)
Depending on the argument either multiplies a number with the elements of the vector or finds the scalar product of two vectors.
Example:
>> Vector(1, 2, 3) * 2
=> Vector(2, 4, 6)

Example(scalar product):
>> Vector(1, 2, 3) * Vector(2, 2, 2)
=> 12

Arguments:
number : (Numeric)
or
vector : (Vector)

# Vector#__imul__(self, other)
Multiplies a number with the elements of the vector changing the object.

Example:
>> Vector(1, 2, 3) * 2
=> Vector(2, 4, 6)

Arguments:
number : (Numeric)

# Vector#__xor__(self, other)
Returns the cross product of two 3-dimension vectors. Returns new object.

Example:
>> Vector(1, 2, 3) ^ Vector(4, 5, 6)
=> Vector(-3, 6, -3)

Arguments:
vector : (Vector)

# Vector#__ixor__(self, other)
Returns the scalar product of two 3-dimension vectors. Changes the object.

Example:
>> Vector(1, 2, 3) ^ Vector(4, 5, 6)
=> Vector(-3, 6, -3)

Arguments:
vector : (Vector)

# Vector#__truediv__(self, other)
Divides the elements of the vector by a nubmer. Returns new object.

Example:
>> Vector(3, 9, 6) / 3
=> Vector(1, 3, 2)

Arguments:
number : (Numeric)

# Vector#__itruediv__(self, other)
Divides the elements of the vector by a nubmer. Changes the object.

Example:
>> Vector(3, 9, 6) / 3
=> Vector(1, 3, 2)

Arguments:
number : (Numeric)

# Vector#length(self)
Returns the length of the vector.

Example:
>> Vector(1, 2, 3).length
=> 3.7416

Arguments:
No arguments

# Vector#normalized(self)
Returns the normalized vector of the vector.

Example:
>> Vector(1, 2, 3).normalized()
=> Vector(0.2673, 0.5345, 0.8018)

Arguments:
No arguments

# Vector#normalize(self)
Normalizes the vector. Changes the object.

Example:
>> Vector(1, 2, 3).normalize()
=> Vector(0.2673, 0.5345, 0.8018)

Arguments:
No arguments

# Vector#round(self, number):
Rounds the coordinates of the vector. Changes the object.

Example:
>> Vector(1.345, 2.438, 3.535).round(2)
=> Vector(1.34, 2.44, 3.53)

Arguments:
number : (int)



class Matrix:
# Matrix#__init__(self, *rows)
Initialize Matrix object.

Example:
>> Matrix([1, 2, 3], [4, 5, 6], [7, 8, 9])
=> <matrix_vector.matrix.Matrix object>

Example:
>> Matrix(Vector(1, 2, 3), Vector(4, 5, 6), Vector(7, 8, 9))
=> <matrix_vector.matrix.Matrix object>

Arguments:
N sequences or N vectors of the same size

# Matrix#rows(self)
Returns the number of rows of the matrix.

Example:
>> Matrix([1, 2, 3], [4, 5, 6], [7, 8, 9]).rows()
=> 3

Arguments:
No arguments

# Matrix#colums(self)
Returns the number of colums of the matrix.

Example:
>> Matrix([1, 2, 3], [4, 5, 6], [7, 8, 9]).colums()
=> 3

Arguments:
No arguments

# Matrix#get_colum(self, number)
Returns the n-th colum of the matrix as an object of class Vector.

Example:
>> Matrix([1, 2, 3], [4, 5, 6], [7, 8, 9]).get_colum(1)
=> Vector(2, 5, 8)

Arguments:
number : (int)

# Matrix#get_row(self, number)
Returns the n-th row of the matrix as an object of class Vector.

Example:
>> Matrix([1, 2, 3], [4, 5, 6], [7, 8, 9]).get_row(1)
=> Vector(4, 5, 6)

Arguments:
number : (int)

# Matrix#is_same_dimension(self, matrix)
Boolean method checkig if two matrices have the same dimensions.

Example:
>> Matrix([1, 2], [4, 5]).is_same_dimension(Matrix([3, 2], [6, 7]))
=> True

Arguments:
matrix : (Matrix)

# Matrix#__add__(self, other)
Depending on the argument either adds a number to the elements of the matrix or adds two matrices. Returns a new object.

Example(number):
>> Matrix([1, 2, 3], [4, 5, 6], [7, 8, 9]) + 2
=> Matrix([3, 4, 5], [6, 7, 8], [9, 10, 11])

Example(matrix):
>> Matrix([1, 2, 3], [4, 5, 6], [7, 8, 9]) + Matrix([1, 2, 3], [4, 5, 6], [7, 8, 9])
=> Matrix([2, 4, 6], [8, 10, 12], [14, 16, 18])

Arguments:
number : (Numeric)
or
matrix : (Matrix)

# Matrix#__iadd__(self, other)
Depending on the argument either adds a number to the elements of the matrix or adds two matrices. Changes the object.

Example(number):
>> Matrix([1, 2, 3], [4, 5, 6], [7, 8, 9]) + 2
=> Matrix([3, 4, 5], [6, 7, 8], [9, 10, 11])

Example(matrix):
>> Matrix([1, 2, 3], [4, 5, 6], [7, 8, 9]) + Matrix([1, 2, 3], [4, 5, 6], [7, 8, 9])
=> Matrix([2, 4, 6], [8, 10, 12], [14, 16, 18])

Arguments:
number : (Numeric)
or
matrix : (Matrix)

# Matrix#__sub__(self, other)
Depending on the argument either substracts a number from the elements of the matrix or substracts two matrices. Returns a new object.

Example(number):
>> Matrix([1, 2, 3], [4, 5, 6], [7, 8, 9]) - 2
=> Matrix([-1, 0, 1], [2, 3, 4], [5, 6, 7])

Example(matrix):
>> Matrix([1, 2, 3], [4, 5, 6], [7, 8, 9]) - Matrix([1, 1, 3], [2, 5, 7], [2, 3, 4])
=> Matrix([0, 1, 0], [2, 0, -1], [5, 5, 5])

Arguments:
number : (Numeric)
or
matrix : (Matrix)

# Matrix#__isub__(self, other)
Depending on the argument either substracts a number from the elements of the matrix or substracts two matrices. Changes the object.

Example(number):
>> Matrix([1, 2, 3], [4, 5, 6], [7, 8, 9]) - 2
=> Matrix([-1, 0, 1], [2, 3, 4], [5, 6, 7])

Example(matrix):
>> Matrix([1, 2, 3], [4, 5, 6], [7, 8, 9]) - Matrix([1, 1, 3], [2, 5, 7], [2, 3, 4])
=> Matrix([0, 1, 0], [2, 0, -1], [5, 5, 5])

Arguments:
number : (Numeric)
or
matrix : (Matrix)

# Matrix#__getitem__(self, index)
Access the elements of the matrix with the [] operator.

Example:
>> Matrix([1, 2, 3], [4, 5, 6], [7, 8, 9])[1]
=> Vector(4, 5, 6)

Example:
>> Matrix([1, 2, 3], [4, 5, 6], [7, 8, 9])[1][2]
=> 6

Arguments:
number : (int)

# Matrix#transposed(self)
Tranposes a matrix. Returns a new object.

Example:
>> Matrix([1, 2, 3], [4, 5, 6], [7, 8, 9]).transposed()
=> Matrix([1, 4, 7], [2, 5, 8], [3, 6, 9])

Arguments:
No arguments

# Matrix#transpose(self)
Tranposes a matrix. Changes the object.

Example:
>> Matrix([1, 2, 3], [4, 5, 6], [7, 8, 9]).transpose()
=> Matrix([1, 4, 7], [2, 5, 8], [3, 6, 9])
Arguments:
No arguments

# Matrix#__mul__(self, other)
Depending on the argument eigher multiplies the matrix elements with a number or mlultiplies two matrices.

Example:
>> Matrix([1, 2, 3], [4, 5, 6], [7, 8, 9]) * 2
=> Matrix([2, 4, 6], [8, 10, 12], [14, 16, 18])

Example:
>> Matrix([1, 2, 3], [4, 5, 6], [7, 8, 9]) * Matrix([1, 2, 3], [4, 5, 6], [7, 8, 9])
=> Matrix([30, 36, 42], [66, 81, 96], [102, 126, 150])
Arguments:
number : (Numeric)
matrix : (Matrix)

# Matrix#minor(self, i, j)
Returns a matrix without the row and the colum given as arguments.

Example:
>> Matrix([1, 2, 3], [4, 5, 6], [7, 8, 9]).minor(0, 1)
=> Matrix([4, 6], [7, 9])

Arguments:
number1 : (int)
number2 : (int)

# Matrix#determinant(self)
Finds the determinant of a square matrix.

Example:
>> Matrix([1, 2, 3], [4, 5, 6], [7, 8, 9]).determinant()
=> 0

Example:
>> Matrix([1, 3, 5], [-4, 7, 1], [5, -2, 1]).determinant()
=> -99

Arguments:
no arguments

# Matrix#inversed(self)
Finds the inverse of a square matrix.

Example:
>> Matrix([3, 4], [5, 2]).inversed()
=> Matrix([-0.1428, 0.2857], [0.3571 ,-0.2142])

Arguments:
no arguments

# Matrix#round(self, number)
Rounds the elements of the matrix. Changes the object.

Example:
>> Matrix([-0.093, 0.131, 0.323], [-0.092, 0.242, 0.211], [0.272, -0.173, -0.192]).round(2)
=> Matrix([-0.09, 0.13, 0.32], [-0.09, 0.24, 0.21], [0.27, -0.17, -0.19])

Arguments:
number : (int)

Project details


Release history Release notifications

This version
History Node

0.1.2

History Node

0.0.2

History Node

0.0.1

History Node

0.0.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
matrix_vector-0.1.2.zip (8.6 kB) Copy SHA256 hash SHA256 Source None Jul 10, 2015

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page