Atoms are mathematical functions that can be applied to Expression instances. Applying an atom to an expression yields another expression. Atoms and compositions thereof are precisely the mechanisms that allow you to build up mathematical expression trees in CVXPY.

Every atom is tagged with information about its domain, sign, curvature, log-log curvature, and monotonicity; this information lets atom instances reason about whether or not they are DCP or DGP. See the Atomic Functions page for a compact, accessible summary of each atom’s attributes.