====== 03 - vectorlib - functions for working with vectors ====== See the general [[courses:be5b33prg:tutorials:homeworks|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 ''[[https://docs.python.org/3/library/doctest.html|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 """ ===== Grading: ===== * 5 points for automatic checks * 2 points for manual evaluation (is the code readable, did you use the docstring to comment your function (in this case it is pre-made for you), did you **explain the logic of your code** in the associated comments.)