'Return the projection of ``self`` onto the line containing ``v``.
Examples
>>> from sympy import Matrix, S, sqrt
>>> V = Matrix([sqrt(3)/2, S.Half])
>>> x = Matrix([[1, 0]])
>>> V.project(x)
Matrix([[sqrt(3)/2, 0]])
>>> V.project(-x)
Matrix([[sqrt(3)/2, 0]])'

def project(self, v):

    return (v * (self.dot(v) / v.dot(v)))
