Biconvex optimization
Biconvex optimization is a generalization of convex optimization where the objective function and the constraint set can be biconvex. There are methods that can find the global optimum of these problems.
A set is called a biconvex set on if for every fixed, is a convex set in and for every fixed, is a convex set in.
A function is called a biconvex function if fixing, is convex over and fixing, is convex over.
A common practice for solving a biconvex problem is alternatively updating by fixing one of them and solving the corresponding convex optimization problem.
The generalization to functions of more than two arguments
is called a block multi-convex function.
A function
is block multi-convex
iff it is convex with respect to each of the individual arguments
while holding all others fixed.