X-Git-Url: http://gitweb.michael.orlitzky.com/?p=mjotex.git;a=blobdiff_plain;f=mjo-linear_algebra.tex;h=02e1d12aba4d6383ee2b79f44eea272d96457329;hp=e11a9458843f56484a08538111063f3de869c9f8;hb=e49da80d1ec7904d4ba8ca0e4bb1a24b14c1d74e;hpb=38147a40c34416d5dbd87f44d8786e3dd73a132f diff --git a/mjo-linear_algebra.tex b/mjo-linear_algebra.tex index e11a945..02e1d12 100644 --- a/mjo-linear_algebra.tex +++ b/mjo-linear_algebra.tex @@ -5,29 +5,47 @@ % 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 (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} } +% 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 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} } @@ -59,3 +77,21 @@ \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 + } +}} + +% Now declare an orthogonal direct sum in terms of \oplusperp. +\newcommand*{\directsumperp}[2]{ {#1}\oplusperp{#2} }