% The operator families Z(K), LL(K), etc. can technically be defined on
% sets other than cones, but nobody cares.
%
+\ifx\havemjocone\undefined
+\def\havemjocone{1}
-\usepackage{amssymb} % \succcurlyeq and friends
-\input{mjo-common}
+\ifx\succcurlyeq\undefined
+ \usepackage{amssymb} % \succcurlyeq, \preccurlyeq
+\fi
+
+\input{mjo-common} % for \of, \Rn, etc.
+\input{mjo-linear_algebra} % \Sn and \Hn
% The dual of a subset of an inner-product space; always a closed
% convex cone.
% Common cones.
%
-% The nonnegative orthant in the given number of dimensions.
+% The nonnegative and strictly positive orthants in the given number
+% of dimensions.
\newcommand*{\Rnplus}[1][n]{ \Rn[#1]_{+} }
+\newcommand*{\Rnplusplus}[1][n]{ \Rn[#1]_{++} }
% The Lorentz ``ice-cream'' cone in the given number of dimensions.
\newcommand*{\Lnplus}[1][n]{ \mathcal{L}^{{#1}}_{+} }
% The PSD cone in a space of symmetric matrices.
-\newcommand*{\Snplus}[1][n]{ \mathcal{S}^{{#1}}_{+} }
+\newcommand*{\Snplus}[1][n]{ \Sn[#1]_{+} }
% The PSD cone in a space of Hermitian matrices.
-\newcommand*{\Hnplus}[1][n]{ \mathcal{H}^{{#1}}_{+} }
+\newcommand*{\Hnplus}[1][n]{ \Hn[#1]_{+} }
%
% The space of Lyapunov-like operators on its argument.
\newcommand*{\LL}[1]{ \mathbf{LL}\of{ {#1} } }
+% The Lyapunov rank of the given cone.
+\newcommand*{\lyapunovrank}[1]{ \beta\of{ {#1} } }
-%
% Cone inequality operators.
-%
-
-% Standard cone inequalities.
-\newcommand*{\gek}{\succcurlyeq}
-\newcommand*{\gtk}{\succ}
-\newcommand*{\lek}{\preccurlyeq}
-\newcommand*{\ltk}{\prec}
-
+\newcommand*{\gecone}{\succcurlyeq}
+\newcommand*{\gtcone}{\succ}
+\newcommand*{\lecone}{\preccurlyeq}
+\newcommand*{\ltcone}{\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} }
+\fi