Форум сайта python.su
0
Хочу написать несложный алгоритм в котором требуется алгебраическое умножение матрицы на матрицу, и матрицы на вектор
пишу соодветствующий код:
Win32, Python 2.6, scipy-0.8, numpy-1.5
from numpy import *
from scipy.linalg import *
A = matrix([[1,0],[1,1]])
b = array([2,1])
print(A*A)
print(A*b)
Офлайн
0
у меня получилось умножить вот так:
B = matrix([[1,0],[1,1]])
c = matrix([1,1])
print(B*c.T)
Офлайн
253
Мне кажется A*B почленное умножение а матричное умножение это разновидность тензорной операции свертки по индексу, соответственно можно использовать numpy.dot или numpy.tensordot
from numpy import *
a=array([,])
b=a.copy()
print a*b
print dot(a,b)
print tensordot(a,b,(0,1))
print tensordot(a,b,(1,1))
результат:
[
]
[
]
[
]
[
]
Офлайн