\usepackage{trimclip}
\fi
-\input{mjo-common}
+\input{mjo-common} % for \of, at least
% Absolute value (modulus) of a scalar.
\newcommand*{\abs}[1]{\left\lvert{#1}\right\rvert}
% The trace of an operator.
\newcommand*{\trace}[1]{ \operatorname{trace}\of{{#1}} }
+% The diagonal matrix whose only nonzero entries are on the diagonal
+% and are given by our argument. The argument should therefore be a
+% vector or tuple of entries, by convention going from the top-left to
+% the bottom-right of the matrix.
+\newcommand*{\diag}[1]{\operatorname{diag}\of{{#1}}}
+
+% The "rank" of its argument, which is context-dependent. It can mean
+% any or all of,
+%
+% * the rank of a matrix,
+% * the rank of a power-associative algebra (particularly an EJA),
+% * the rank of an element in a Euclidean Jordan algebra.
+%
+\newcommand*{\rank}[1]{ \operatorname{rank}\of{{#1}} }
+
+
% The ``span of'' operator. The name \span is already taken.
\newcommand*{\spanof}[1]{ \operatorname{span}\of{{#1}} }
% The orthogonal projection of its second argument onto the first.
\newcommand*{\proj}[2] { \operatorname{proj}\of{#1, #2} }
+% The set of all eigenvalues of its argument, which should be either a
+% matrix or a linear operator. The sigma notation was chosen instead
+% of lambda so that lambda can be reserved to denote the ordered tuple
+% (largest to smallest) of eigenvalues.
+\newcommand*{\spectrum}[1]{\sigma\of{{#1}}}
+\ifdefined\newglossaryentry
+ \newglossaryentry{spectrum}{
+ name={\ensuremath{\spectrum{L}}},
+ description={the set of all eigenvalues of $L$},
+ sort=s
+ }
+\fi
+
+% The reduced row-echelon form of its argument, a matrix.
+\newcommand*{\rref}[1]{\operatorname{rref}\of{#1}}
+\ifdefined\newglossaryentry
+ \newglossaryentry{rref}{
+ name={\ensuremath{\rref{A}}},
+ description={the reduced row-echelon form of $A$},
+ sort=r
+ }
+\fi
+
% The ``Automorphism group of'' operator.
\newcommand*{\Aut}[1]{ \operatorname{Aut}\of{{#1}} }
\newcommand*{\directsumperp}[2]{ {#1}\oplusperp{#2} }
+% The space of real symmetric n-by-n matrices. Does not reduce to
+% merely "S" when n=1 since S^{n} does not mean an n-fold cartesian
+% product of S^{1}.
+\newcommand*{\Sn}[1][n]{ \mathcal{S}^{#1} }
+\ifdefined\newglossaryentry
+ \newglossaryentry{Sn}{
+ name={\ensuremath{\Sn}},
+ description={the set of $n$-by-$n$ real symmetric matrices},
+ sort=Sn
+ }
+\fi
+
+% The space of complex Hermitian n-by-n matrices. Does not reduce to
+% merely "H" when n=1 since H^{n} does not mean an n-fold cartesian
+% product of H^{1}. The field may also be given rather than assumed
+% to be complex; for example \Hn[3]\of{\mathbb{O}} might denote the
+% 3-by-3 Hermitian matrices with octonion entries.
+\newcommand*{\Hn}[1][n]{ \mathcal{H}^{#1} }
+\ifdefined\newglossaryentry
+ \newglossaryentry{Hn}{
+ name={\ensuremath{\Hn}},
+ description={the set of $n$-by-$n$ complex Hermitian matrices},
+ sort=Hn
+ }
+\fi
+
+
\fi