@@ -33,7 +33,7 @@ def matrix_vector_multiply(matrix, vec):
3333 crange = list (sm .range (matSize ))
3434 for i in crange :
3535 for j in crange :
36- vecOut .vector [i ] += vec .vector [j ] * matrix [i ][j ]
36+ vecOut .vector [j ] += vec .vector [i ] * matrix [i ][j ]
3737 return vecOut
3838
3939def matrix_div (mat , scalar ):
@@ -491,11 +491,17 @@ def i_translate(self, vecA):
491491 raise TypeError ('Expected Vector, got {}.' .format (type (vecA )))
492492
493493 if self .size == 2 :
494- transMatList = translate2 ( vecA . vector )
494+ raise NotImplementedError ( 'Matrix translate of size {} not available.' . format ( self . size ) )
495495 elif self .size == 3 :
496- transMatList = translate3 (vecA .vector )
496+ if vecA .size == 3 :
497+ transMatList = translate3 (vecA .vector )
498+ elif vecA .size == 2 :
499+ transMatList = translate2 (vecA .vector )
497500 elif self .size == 4 :
498- transMatList = translate4 (vecA .vector )
501+ if vecA .size == 3 :
502+ transMatList = translate3 (vecA .vector )
503+ elif vecA .size == 4 :
504+ transMatList = translate4 (vecA .vector )
499505 else :
500506 raise NotImplementedError ('Matrix translate of size {} not implemented.' .format (self .size ))
501507 self *= Matrix (self .size , data = transMatList )
@@ -507,9 +513,12 @@ def translate(self, vecA):
507513 raise TypeError ('Expected Vector, got {}.' .format (type (vecA )))
508514
509515 if self .size == 2 :
510- transMatList = translate2 ( vecA . vector )
516+ raise NotImplementedError ( 'Matrix translate of size {} not available.' . format ( self . size ) )
511517 elif self .size == 3 :
512- transMatList = translate3 (vecA .vector )
518+ if vecA .size == 3 :
519+ transMatList = translate3 (vecA .vector )
520+ elif vecA .size == 2 :
521+ transMatList = translate2 (vecA .vector )
513522 elif self .size == 4 :
514523 transMatList = translate4 (vecA .vector )
515524 else :
0 commit comments