Transforms# conjugate# class Conjugate(z, fun)[source]# Transforms a function \(f(x)\) into its Legendre-Fenchel conjugate: \[f^*(z) = \sup_{x} z^Tx - f(x)\] perspective# class Perspective(t, fun)[source]# Transforms a function \(f(x)\) into its perspective: \[\text{persp}_f(t,x) = tf(x/t)\] epigraph# class Epigraph(t, fun)[source]# Transforms a function \(f(x)\) into its epigraph constraint: \[(t, x)\in \text{epi}_f = \{{(t, x) \text{ s.t. } f(x)\leq t\}}\] infconvolution# class InfConvolution(fun1, fun2, indices=None)[source]# Transforms two function \(f_1(x)\) and \(f_2(x)\) into their inf-convolution: \[(f_1\square f_2)(x) = \inf_{x \text{ s.t. } x=y_1+y_2} f_1(y_1)+f_2(y_2)\] If indices are provided, convolution is taken only over this set of indices. partial_minimization# class PartialMinimization(fun, indices)[source]# Performs a partial minimization of function \(f(x)\) over some coordinates given by a set of indices: \[\underline{f}(x) = \inf_{z_i \text{ if } i\in\texttt{indices}} f(z)\] where \(x=(z_j)_{j\notin \texttt{indices}}\).