Matrix multiplication using numpy array
You are feeding them in the wrong order
Instead of feeding (100,2) * (2,100), you are feeding (2,100) * (100,2)
I am trying to do a linear regression using Matrix multiplication. 
X is the feature matrix, and I have 100 data points. As per the normal equation, the dot product of X and of the transpose of X is required. 
Having added a column of ones as required, the shape of X is 100×2 while for the transpose of X it is 2×100.
However, when I am doing the dot product, the result (which is given in the book) comes accordingly, a 2×2 matrix. Shouldn't it be a 100×100 matrix as per laws of matrix multiplication using dot product?
Conceptually, where am I going wrong?