Convex optimization is a subfield of mathematical optimization that studies the problem of minimizing convex functions over convex sets (or, equivalently, maximizing concave functions over convex sets). Many classes of convex optimization problems admit polynomial-time algorithms, whereas mathematical optimization is in general NP-hard. Convex optimization has applications in a wide range of disciplines, such as automatic control systems, estimation and signal processing, communications and networks, electronic circuit design, data analysis and modeling, finance, statistics (optimal experimental design), and structural optimization, where the approximation concept has proven to be efficient. With recent advancements in computing and optimization algorithms, convex programming is nearly as straightforward as linear programming. Definition A convex optimization problem is an optimization problem in which the objective function is a convex function and the feasible set is a convex set. A function mapping some subset of into is convex if its domain is convex and for all and all in its domain, the following condition holds: . A set S is convex if for all members and all , we have that . Concretely, a convex optimization problem is the problem of finding some attaining , where the objective function is convex, as is the feasible set . If such a point exists, it is referred to as an optimal point or solution; the set of all optimal points is called the optimal set. If is unbounded below over or the infimum is not attained, then the optimization problem is said to be unbounded. Otherwise, if is the empty set, then the problem is said to be infeasible. Standard form A convex optimization problem is in standard form if it is written as where: is the optimization variable; The objective function is a convex function; The inequality constraint functions , , are convex functions; The equality constraint functions , , are affine transformations, that is, of the form: , where is a vector and is a scalar. This notation describes the problem of finding that minimizes among all satisfying , and , . The function is the objective function of the problem, and the functions and are the constraint functions. The feasible set of the optimization problem consists of all points satisfying the constraints. This set is convex because is convex, the sublevel sets of convex functions are convex, affine sets are convex, and the intersection of convex sets is convex. A solution to a convex optimization problem