https://towardsdatascience.com/dot-product-in-linear-algebra-for-data-science-using-python-f113fb60c8f