Hull

A hull of a set of vectors is some finite set generated by all possible linear combinations of under certain constraints (i.e., a finite subset of the span):

  • An affine hull is the set of all linear combinations of , such that the coefficients sum to one:

    The affine hull is the smallest affine set containing .
  • A conic hull is the set of all linear combinations of , such that the coefficients are non-negative:
  • A convex hull is the set of all linear combinations of , such that the coefficients are constrained by both sum-to-one and non-negativity:

It always holds that and . Furthermore, if (i.e., is a subspace), then it holds that :

\begin{document}
\begin{tikzpicture}[scale=0.8]
 
% Define the three points
\coordinate (A) at (2,2);
\coordinate (B) at (4,2);
\coordinate (C) at (3,4);
 
% Draw coordinate axes
\draw[->] (-1,0) -- (8,0) node[right] {$x$};
\draw[->] (0,-1) -- (0,8) node[above] {$y$};
 
% Affine Hull: Since the affine hull of non-collinear points in R^2 is the entire plane,
% we indicate this by shading the entire drawing area lightly.
\fill[red, opacity=0.1] (-1,-1) rectangle (8,8);
\node[red!80!black] at (3.5,7) {co($\mathcal{P}$)};
 
% Draw and label the three points
\filldraw (A) circle (2pt) node[below left] {$A(2,2)$};
\filldraw (B) circle (2pt) node[below right] {$B(4,2)$};
\filldraw (C) circle (2pt) node[above right] {$C(3,4)$};
 
% Conic Hull: Compute the extreme angles (in degrees) relative to the origin.
% For B = (4,2): angle = arctan(2/4) ≈ 26.565°.
% For C = (3,4): angle = arctan(4/3) ≈ 53.13°.
\def\angleB{26.565}
\def\angleC{53.13}
 
% Draw the extreme rays from the origin for the conic hull.
 
 
% Fill the conic hull wedge: this fills the region from angleB to angleC from the origin out to radius 10.
\begin{scope}
  \clip (-1,-1) rectangle (8,8); % clip to the visible region
  \draw[thick, green!70!black] (0,0) -- ({12*cos(\angleB)},{12*sin(\angleB)});
  \draw[thick, green!70!black] (0,0) -- ({12*cos(\angleC)},{12*sin(\angleC)});
  \fill[green, opacity=0.2] 
    (0,0) -- ({12*cos(\angleB)},{12*sin(\angleB)}) 
    arc [start angle={\angleB}, end angle={\angleC}, radius=12] -- cycle;
  \node[green!70!black] at (7,6) {conic($\mathcal{P}$)};
\end{scope}
 
% Convex Hull: Draw the triangle (blue)
\draw[thick, blue] (A) -- (B) -- (C) -- cycle;
\fill[blue, opacity=0.25] (A) -- (B) -- (C) -- cycle;
\node at (3,2.5) {co($\mathcal{P}$)};
 
\end{tikzpicture}
\end{document}