Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Showing ValueError: shapes (1,3) and (1,3) not aligned: 3 (dim 1) != 1 (dim 0)

I am trying to use the following matrices and perform a dot product as shown in the code. I checked the size of the matrices and all are (3, 1) but it is throwing me error for the last two dot products.

coordinate1 = [-7.173, -2.314, 2.811]  coordinate2 = [-5.204, -3.598, 3.323]  coordinate3 = [-3.922, -3.881, 4.044]  coordinate4 = [-2.734, -3.794, 3.085]   import numpy as np  from numpy import matrix coordinate1i=matrix(coordinate1) coordinate2i=matrix(coordinate2) coordinate3i=matrix(coordinate3) coordinate4i=matrix(coordinate4)  b0 = coordinate1i - coordinate2i b1 = coordinate3i - coordinate2i b2 = coordinate4i - coordinate3i  n1 = np.cross(b0, b1) n2 = np.cross(b2, b1)  n12cross = np.cross(n1,n2) x1= np.cross(n1,b1)/np.linalg.norm(b1) print np.shape(x1) print np.shape(n2) np.asarray(x1) np.asarray(n2)  y = np.dot(x1,n2) x = np.dot(n1,n2)  return np.degrees(np.arctan2(y, x)) 
like image 959
shome Avatar asked Sep 21 '16 05:09

shome


2 Answers

By converting the matrix to array by using

n12 = np.squeeze(np.asarray(n2))  X12 = np.squeeze(np.asarray(x1)) 

solved the issue.

like image 173
shome Avatar answered Oct 05 '22 06:10

shome


The column of the first matrix and the row of the second matrix should be equal and the order should be like this only

column of first matrix = row of second matrix 

and do not follow the below step

row of first matrix  = column of second matrix 

it will throw an error

like image 24
Shinto Joseph Avatar answered Oct 05 '22 06:10

Shinto Joseph