michi2 fits combinations of arbitrary numbers of libraries/components to a given observational data. Written in C++ and Python, this chi-square fitting tool can fit a galaxy's spectral energy distribution (SED) with stellar, active galactic nuclear, dust and radio SED templates, and fit a galaxy's spectral line energy distribution (SLED) with one or more gas components using radiative transfer LVG model grid libraries.
michi2 first samples the high-dimensional parameter space (N1*N2*N3*..., where N is the number of independent templates in each library, and 1/2/3 is the ID of components) in an optimized way for a few thousand or tens of thousand times to compute the chi-square to the input observational data, then uses Python scripts to analyze the chi-square distribution and derive the best-fit, median, lower and higher 1-sigma values for each parameter in each library/component. This tool is useful for fitting larger number of templates and arbitrary combinations of libraries/components, including some constraining of one library/component onto another.