parameters: (positions, masses)
return_statement: return inertia_tensor
docstring: Calculate the inertia tensor for given point masses
      at given positions.
  
      Parameters
      ----------
      positions : (N,3) array_like of :obj:`float`
          Point masses' positions.
      masses : (N,) array_like of :obj:`float`
  
      Returns
      -------
      (3,3) array_like of :obj:`float`
          Moment of inertia tensor.
  
      Notes
      -----
      See wikipedia_.
  
      .. _wikipedia: https://en.wikipedia.org/wiki/Moment_of_inertia#Inertia_tensor
docstring_summary: Calculate the inertia tensor for given point masses
      at given positions.
docstring_tokens: Calculate the inertia tensor for given point masses at given positions .
function: def inertia_tensor(positions, masses):
      """
      Calculate the inertia tensor for given point masses
      at given positions.
  
      Parameters
      ----------
      positions : (N,3) array_like of :obj:`float`
          Point masses' positions.
      masses : (N,) array_like of :obj:`float`
  
      Returns
      -------
      (3,3) array_like of :obj:`float`
          Moment of inertia tensor.
  
      Notes
      -----
      See wikipedia_.
  
      .. _wikipedia: https://en.wikipedia.org/wiki/Moment_of_inertia#Inertia_tensor
  
      """
      inertia_tensor = np.zeros((3, 3))
      for ind, p in enumerate(positions):
          inertia_tensor += masses[ind] * \
              (np.dot(p, p) * np.identity(3)
               - np.outer(p, p))
      return inertia_tensor
function_tokens: def inertia_tensor ( positions , masses ) : inertia_tensor = np . zeros ( ( 3 , 3 ) ) for ind , p in enumerate ( positions ) : inertia_tensor += masses [ ind ] * ( np . dot ( p , p ) * np . identity ( 3 ) - np . outer ( p , p ) ) return inertia_tensor