%
% Cone stuff.
%
% The operator families Z(K), LL(K), etc. can technically be defined on
% sets other than cones, but nobody cares.
%

% The set of all S-operators on its argument.
\newcommand*{\Sof}[1]{ \mathbf{S} \of{ {#1} } }

% The cone of all Z-operators on its argument.
\newcommand*{\Zof}[1]{ \mathbf{Z} \of{ {#1} } }

% The space of Lyapunov-like operators on its argument.
\newcommand*{\LL}[1]{ \mathbf{LL}\of{ {#1} } }

% Display a ``Discrete Complementarity Set'' (DCS). The first argument
% is the name of the cone, the second argument is a generating set for
% that cone, and the third argument is a generating set for its dual.
\newcommand*{\DCS}[3]{ C\of{{#1}} \cap \qty{ {#2} \times {#3} } }

% Cone inequality operators.
\newcommand*{\gek}{ \succcurlyeq }
\newcommand*{\gtk}{ \succ }
\newcommand*{\lek}{ \preccurlyeq }
\newcommand*{\ltk}{ \prec }

% Starred versions of the cone inequality operators.
\newcommand*{\ineqkstar}[1]{ \mathrel{ \overset{ _{\ast} }{ #1 } } }
\newcommand*{\gekstar}{ \ineqkstar{\gek} }
\newcommand*{\gtkstar}{ \ineqkstar{\gtk} }
\newcommand*{\lekstar}{ \ineqkstar{\lek} }
\newcommand*{\ltkstar}{ \ineqkstar{\ltk} }

% And negated versions of some of those...
\newcommand*{\ngeqkstar}{ \ineqkstar{\nsucceq} }
\newcommand*{\ngtrkstar}{ \ineqkstar{\nsucc} }
