# CompositeUnit¶

class astropy.units.CompositeUnit(scale, bases, powers, decompose=False, decompose_bases={}, _error_check=True)[source]

Create a composite unit using expressions of previously defined units.

Direct use of this class is not recommended. Instead use the factory function Unit and arithmetic operators to compose units.

Parameters
scalenumber

A scaling factor for the unit.

basessequence of UnitBase

A sequence of units this unit is composed of.

powerssequence of numbers

A sequence of powers (in parallel with bases) for each of the base units.

Attributes Summary

 bases Return the bases of the composite unit. powers Return the powers of the composite unit. scale Return the scale of the composite unit.

Methods Summary

 decompose(self[, bases]) Return a unit object composed of only irreducible units. is_unity(self) Returns True if the unit is unscaled and dimensionless.

Attributes Documentation

bases

Return the bases of the composite unit.

powers

Return the powers of the composite unit.

scale

Return the scale of the composite unit.

Methods Documentation

decompose(self, bases=set())[source]

Return a unit object composed of only irreducible units.

Parameters
basessequence of UnitBase, optional

The bases to decompose into. When not provided, decomposes down to any irreducible units. When provided, the decomposed result will only contain the given units. This will raises a UnitsError if it’s not possible to do so.

Returns
unitCompositeUnit object

New object containing only irreducible unit objects.

is_unity(self)[source]

Returns True if the unit is unscaled and dimensionless.