Матрица понимает скалярное умножение, но не вектор. Так что либо конвертируйте назад и вперед между Matrix и Vector, подайте запрос на функцию и дождитесь возможного улучшения, либо напишите свою собственную подпрограмму __mul__
и __rmul__
(часть красоты Python):
>>> v.func(*Matrix(v.args)*2)
Vector(0, 4, 2)
>>> Vector.__rmul__ = Vector.__mul__ = lambda s,o: s.func(*[i*o for i in s.args])
>>> 2*v
Vector(0, 4, 2)
>>> v*2
Vector(0, 4, 2)