code: def ellipsoid_volume(A=None, invA=None):
      
  
      if invA is None and A is None:
          raise ValueError("Must pass either inverse(A) or A.")
  
      if invA is None and A is not None:
          invA = la.inv(A)
  
      # Find the unit sphere volume.
      # http://en.wikipedia.org/wiki/Unit_sphere#General_area_and_volume_formulas
      n  = invA.shape[0]
      Vn = (np.pi ** (n/2)) / gamma(1 + (n/2))
  
      return Vn * la.det(sqrtm(invA))
docs: Returns the volume of an ellipsoid given either its
      matrix or the inverse of its matrix.