class_docstr: UnitSystem represents a coherent set of units.
  
  A unit system is basically a dimension system with notions of scales. Many
  of the methods are defined in the same way.
  
  It is much better if all base units have a symbol.
class_docstr_tok: ["UnitSystem","represents","a","coherent","set","of","units",".","A","unit","system","is","basically","a","dimension","system","with","notions","of","scales",".","Many","of","the","methods","are","defined","in","the","same","way",".","It","is","much","better","if","all","base","units","have","a","symbol","."]
code: def __init__(
      self,
      base_units,
      units=(),
      name="",
      descr="",
      dimension_system=None,
      derived_units: tDict[Dimension, Quantity] = {},
  ):
      UnitSystem._unit_systems[name] = self
  
      self.name = name
      self.descr = descr
  
      self._base_units = base_units
      self._dimension_system = dimension_system
      self._units = tuple(set(base_units) | set(units))
      self._base_units = tuple(base_units)
      self._derived_units = derived_units
  
      super().__init__()
  
imports: from typing import Dict, Set
  from sympy.core.add import Add
  from sympy.core.function import Derivative, Function
  from sympy.core.mul import Mul
  from sympy.core.power import Pow
  from sympy.core.singleton import S
  from sympy.physics.units.dimensions import _QuantityMapper
  from sympy.physics.units.quantities import Quantity
  from .dimensions import Dimension
label_desc: Use image node_id 1 to create a new UnitSystem object from inherited base classes: _QuantityMapper with example: obj = UnitSystem(base_units, units, name, descr, dimension_system, derived_units)