Note: cross posted here
The perspective of a function $f : \mathbb{R}^n \to \mathbb{R}$ is the function $g: \mathbb{R}^n \times \mathbb{R} \to \mathbb{R}$ where $g$ is defined as $$g(x,t) = tf(x/t)$$ with $$\mathbf{\text{dom}}\, g = \{(x, t) : x/t \in \mathbf{\text{dom}}\, f, \,t > 0\}.$$
If I'm modeling a convex constraint of the form $g(x,t) \leq 0$ in a convex solver software, how do I ensure the domain constraint $t>0$ is satisfied? I tried $t \geq 0$, but for some problems, my $t^* = 0$.
In general, $>$ constraints do not work well in numerical optimization software: how is the program supposed to distinguish between $0$, which is not allowed, and $10^{-1000}$, which is?
I would replace the constraint $t > 0$ by $t \ge \epsilon$, where $\epsilon$ is some suitable small number. If you end up with solutions with $t = \epsilon$ (no matter how small $\epsilon$ is), that may mean the problem with $t > 0$ does not actually achieve an optimum.