Найти - Пользователи
Полная версия: scipy matrix-vector
Начало » Python для новичков » scipy matrix-vector
1
Nerazumovskiy
Хочу написать несложный алгоритм в котором требуется алгебраическое умножение матрицы на матрицу, и матрицы на вектор
пишу соодветствующий код:

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)
выдает ошибку :
______________________________________________
[
]
Traceback (most recent call last):
File “D:\programming\works\TheortofTheSystems\NewPythonProject\src\newpythonproject.py”, line 22, in <module>
print(B*c)
File “C:\Python26\Lib\site-packages\numpy\matrixlib\defmatrix.py”, line 330, in __mul__
return N.dot(self, asmatrix(other))
ValueError: objects are not aligned
______________________________________________

может кто подскажет как правильно реализовать матрично-векторные операции?
Nerazumovskiy
у меня получилось умножить вот так:
B = matrix([[1,0],[1,1]])
c = matrix([1,1])
print(B*c.T)
doza_and
Мне кажется 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))

результат:
[
]
[
]
[
]
[
]
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB