See the general homework guidelines!
Create vectorlib.py
file-library that will contain the functions listed below. Your library is going to be imported, it must work as as a library (pure functions).
Optionally, include example usage of the functions within docstrings and test your module using doctest
. The tests will not be evaluated.
Vectors will be lists. You can define some auxiliary function in your library. Also, think about re-using functions within other functions. If you have problems with the math background ask your teachers or a book or Wikipedia or any other math resource.
Five points for the code functionality (automatic check) and two points for the code quality (readability, conciseness).
def scalar_mult(sc,v): """ scalar multiplication (scalar * vector) :param sc: a scalar mulitplier :param v: a list - vector :return: sc * v """ def dot_product(u,v): """ vector dot product :param u: a list :param v: a list :return: None if u and v are not compatible otherwise a number (float or int) """ def cross_product(u,v): """ vector cross product, see :param u: a list of lenght 3 :param v: a list of length 3 :return: None if u and v are not compatible a list of lenght 3 - cross product of u and v """ def are_colinear(u,v): """ testing colinearity of two vectors :param u: a list :param v: a list :return: True if u and v are colinear, False otherwise """ def are_perpendicular(u,v): """ testing perpendicularity of two vectors :param u: a list :param v: a list :return: True if u and v are perpendicular, False otherwise """