%
% Standard operations from linear algebra.
%

\input{mjo-common}

% The inner product between its two arguments.
\DeclarePairedDelimiterX{\ip}[2]{ \langle }{ \rangle}{ {#1}, {#2} }

% The tensor product of its two arguments.
\newcommand*{\tp}[2]{ {#1} \otimes {#2} }

% The ``span of'' operator. The name \span is already taken.
\newcommand*{\spanof}[1]{ \operatorname{span} \of{{#1}} }

% The ``co-dimension of'' operator.
\newcommand*{\codim}{ \operatorname{codim} }

% The trace of an operator.
\newcommand*{\trace}[1]{ \operatorname{trace} \of{{#1}} }

% The orthogonal projection of its second argument onto the first.
\newcommand*{\proj}[2] { \operatorname{proj}\of{#1, #2} }

% The ``Automorphism group of'' operator.
\newcommand*{\Aut}[1]{ \operatorname{Aut} \of{{#1}} }

% The ``Lie algebra of'' operator.
\newcommand*{\Lie}[1]{ \operatorname{Lie} \of{{#1}} }

% The ``write a matrix as a big vector'' operator.
\newcommand*{\vectorize}[1]{ \operatorname{vec} \of{{#1}} }

% The ``write a big vector as a matrix'' operator.
\newcommand*{\matricize}[1]{ \operatorname{mat} \of{{#1}} }

% The inverse of the adjoint of an operator (the argument).
\newcommand*{\adjinv}[1]{ \left( {#1}^{*} \right)^{-1} }
