docs: def sm_dict2lha(d):
      """Convert a a dictionary of SM parameters into
      a dictionary that pylha can convert into a DSixTools SM output file."""
      blocks = OrderedDict([
          ('GAUGE', {'values': [[1, d['g'].real], [2, d['gp'].real], [3, d['gs'].real]]}),
          ('SCALAR', {'values': [[1, d['Lambda'].real], [2, d['m2'].real]]}),
          ('GU', {'values': matrix2lha(d['Gu'].real)}),
          ('IMGU', {'values': matrix2lha(d['Gu'].imag)}),
          ('GD', {'values': matrix2lha(d['Gd'].real)}),
          ('IMGD', {'values': matrix2lha(d['Gd'].imag)}),
          ('GE', {'values': matrix2lha(d['Ge'].real)}),
          ('IMGE', {'values': matrix2lha(d['Ge'].imag)}),
          ('THETA', {'values': [[1, d['Theta'].real], [2, d['Thetap'].real], [3, d['Thetas'].real]]}),
          ])
      return {'BLOCK': blocks}