\input{mjo-common}
-% Absolute value (modulis) of a scalar.
+% Absolute value (modulus) of a scalar.
\newcommand*{\abs}[1]{\left\lvert{#1}\right\rvert}
% Norm of a vector.
\newcommand*{\norm}[1]{\left\lVert{#1}\right\rVert}
% The inner product between its two arguments.
-\newcommand*{\ip}[2]{\langle{#1},{#2}\rangle}
+\newcommand*{\ip}[2]{\left\langle{#1},{#2}\right\rangle}
% The tensor product of its two arguments.
\newcommand*{\tp}[2]{ {#1}\otimes{#2} }
\newcommand*{\kp}[2]{ {#1}\odot{#2} }
% The adjoint of a linear operator.
-\newcommand*{\adjoint}[1]{ {#1}^{*} }
+\newcommand*{\adjoint}[1]{ #1^{*} }
+
+% The ``transpose'' of a linear operator; namely, the adjoint, but
+% specialized to real matrices.
+\newcommand*{\transpose}[1]{ #1^{T} }
+
+% The trace of an operator.
+\newcommand*{\trace}[1]{ \operatorname{trace}\of{{#1}} }
% 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} }
\fi
}
}
+
+
+%
+% Orthogonal direct sum.
+%
+% Wasysym contains the \ocircle that we use in \directsumperp.
+\usepackage{wasysym}
+\usepackage{scalerel}
+\DeclareMathOperator{\oplusperp}{\mathbin{
+ \ooalign{
+ $\ocircle$\cr
+ \raisebox{\noexpand{0.65\height}}{${\vstretch{0.5}{\perp}}$}\cr
+ }
+}}
+
+\newcommand*{\directsumperp}[2]{ {#1}\oplusperp{#2} }