]> gitweb.michael.orlitzky.com - mjotex.git/blobdiff - mjo-linear_algebra.tex
mjo-complex.tex: new file with a \compconj (complex conjugate) command.
[mjotex.git] / mjo-linear_algebra.tex
index 91cc42dc26850c9959e829da35bddc60408ff89c..5c3f715744b14db7b4984b063952f02ba5ac530e 100644 (file)
 % Standard operations from linear algebra.
 %
 
+% Needed for \lvert, \rVert, etc. and \operatorname.
+\usepackage{amsmath}
+
+% Wasysym contains the \ocircle that we use in \directsumperp.
+\usepackage{wasysym}
+
+% Part of the adjustbox package; needed to clip the \perp sign.
+\usepackage{trimclip}
+
 \input{mjo-common}
 
+% 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*{\tp}[2]{ {#1}\otimes{#2} }
+
+% The Kronecker product of its two arguments. The usual notation for
+% this is the same as the tensor product notation used for \tp, but
+% that leads to confusion because the two definitions may not agree.
+\newcommand*{\kp}[2]{ {#1}\odot{#2} }
+
+% The adjoint of a linear operator.
+\newcommand*{\adjoint}[1]{ #1^{*} }
+
+% The ``transpose'' of a linear operator; namely, the adjoint, but
+% specialized to real matrices.
+\newcommand*{\transpose}[1]{ #1^{T} }
+
+% The Moore-Penrose (or any other, I guess) pseudo-inverse of its
+% sole argument.
+\newcommand*{\pseudoinverse}[1]{ #1^{+} }
+
+% 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}} }
+\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}} }
+\newcommand*{\Aut}[1]{ \operatorname{Aut}\of{{#1}} }
 
 % The ``Lie algebra of'' operator.
-\newcommand*{\Lie}[1]{ \operatorname{Lie} \of{{#1}} }
+\newcommand*{\Lie}[1]{ \operatorname{Lie}\of{{#1}} }
 
 % The ``write a matrix as a big vector'' operator.
-\newcommand*{\vectorize}[1]{ \operatorname{vec} \of{{#1}} }
+\newcommand*{\vectorize}[1]{ \operatorname{vec}\of{{#1}} }
 
 % The ``write a big vector as a matrix'' operator.
-\newcommand*{\matricize}[1]{ \operatorname{mat} \of{{#1}} }
+\newcommand*{\matricize}[1]{ \operatorname{mat}\of{{#1}} }
+
+% An inline column vector, with parentheses and a transpose operator.
+\newcommand*{\colvec}[1]{ \transpose{\left({#1}\right)} }
+
+% Bounded linear operators on some space. The required argument is the
+% domain of those operators, and the optional argument is the
+% codomain. If the optional argument is omitted, the required argument
+% is used for both.
+\newcommand*{\boundedops}[2][]{
+  \mathcal{B}\of{ {#2}
+    \if\relax\detokenize{#1}\relax
+      {}%
+    \else
+      {,{#1}}%
+    \fi
+  }
+}
+
+
+%
+% Orthogonal direct sum.
+%
+% First declare my ``perp in a circle'' operator, which is meant to be
+% like an \obot or an \operp except has the correct weight circle. It's
+% achieved by overlaying an \ocircle with a \perp, but only after we
+% clip off the top half of the \perp sign and shift it up.
+\DeclareMathOperator{\oplusperp}{\mathbin{
+  \ooalign{
+    $\ocircle$\cr
+    \raisebox{0.625\height}{$\clipbox{0pt 0pt 0pt 0.5\height}{$\perp$}$}\cr
+  }
+}}
 
-% The inverse of the adjoint of an operator (the argument).
-\newcommand*{\adjinv}[1]{ \left( {#1}^{*} \right)^{-1} }
+% Now declare an orthogonal direct sum in terms of \oplusperp.
+\newcommand*{\directsumperp}[2]{ {#1}\oplusperp{#2} }