class_docstr: EXPERIMENTAL This class is used to adapt (inverse) mass matrix and provide
  useful methods to calculate algebraic terms which involves the mass matrix.
  
  The mass matrix will have block structure, which can be specified by
  using the method :meth:`configure` with the corresponding structured
  `mass_matrix_shape` arg.
  
  :param float init_scale: initial scale to construct the initial mass matrix.
class_docstr_tok: ["EXPERIMENTAL","This","class","is","used","to","adapt","(","inverse",")","mass","matrix","and","provide","useful","methods","to","calculate","algebraic","terms","which","involves","the","mass","matrix",".","The","mass","matrix","will","have","block","structure",",","which","can","be","specified","by","using","the","method",":","meth",":","`","configure","`","with","the","corresponding","structured","`","mass_matrix_shape","`","arg",".",":","param","float","init_scale",":","initial","scale","to","construct","the","initial","mass","matrix","."]
code: def inverse_mass_matrix(self):
      return self._inverse_mass_matrix
  
imports: import math
  from collections import namedtuple
  import torch
  import pyro
  from pyro.ops.arrowhead import SymmArrowhead, sqrt, triu_gram, triu_inverse, triu_matvecmul
  from pyro.ops.dual_averaging import DualAveraging
  from pyro.ops.welford import WelfordArrowheadCovariance, WelfordCovariance
label_desc: Use image node_id 3 for calling the BlockMassMatrix obj's underlying member method code with example usage: obj.inverse_mass_matrix() and returns: self