def dimension(expr: sympy.Expr) -> Dimension: return Quantity._collect_factor_and_dimension(expr)[1]
def derive_quantity(expr, name=None): """Derive a quantity from an expression.""" factor, dimension = Quantity._collect_factor_and_dimension(expr) return Quantity(name or str(expr), dimension, factor)
def si_dimension_scale(expr: sympy.Expr) -> Dimension: return Quantity._collect_factor_and_dimension(expr)[0]