]> gitweb.michael.orlitzky.com - mjotex.git/blobdiff - mjo-linear_algebra.tex
mjo-linear_algebra.tex: add the Moore-Penrose \pseudoinverse.
[mjotex.git] / mjo-linear_algebra.tex
index 5fce75a403b83ace1b686c622f05ea24e1248363..aa0b05eaa640e74bc435aa85eab6c455c443a14c 100644 (file)
@@ -5,6 +5,12 @@
 % 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.
 % 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}} }
 
 %
 % Orthogonal direct sum.
 %
-% Wasysym contains the \ocircle that we use in \directsumperp.
-\usepackage{wasysym}
-\usepackage{scalerel}
+% 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{\noexpand{0.65\height}}{${\vstretch{0.5}{\perp}}$}\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} }