title: How does numpy.tensordot function works step-by-step?
body: <p>I am new to numpy, So I have some problem visualizing the working of the <code>numpy.tensordot()</code> function. According to the documentation of <code>tensordot</code>, the axes are passed in the arguments where axes=0 or 1 represents a normal matrix multiplication whereas axes=2 represents Contraction.</p>
  
  <p>Can somebody please explain on how the multiplication would proceed with the given examples?</p>
  
  <blockquote>
    <p>Example-1: <code>a=[1,1] b=[2,2] for axes=0,1</code> why does it throw an error for axes=2?<br>
    Example-2: <code>a=[[1,1],[1,1]] b=[[2,2],[2,2]] for axes=0,1,2</code></p>
  </blockquote>