]> gitweb.michael.orlitzky.com - mjotex.git/blob - mjo-linear_algebra.tex
mjo-linear_algebra: add the \spectrum{} of a linear operator.
[mjotex.git] / mjo-linear_algebra.tex
1 %
2 % Standard operations from linear algebra.
3 %
4 \ifx\havemjolinearalgebra\undefined
5 \def\havemjolinearalgebra{1}
6
7
8 \ifx\lvert\undefined
9 \usepackage{amsmath} % \lvert, \rVert, etc. and \operatorname.
10 \fi
11
12 \ifx\ocircle\undefined
13 \usepackage{wasysym}
14 \fi
15
16 \ifx\clipbox\undefined
17 % Part of the adjustbox package; needed to clip the \perp sign.
18 \usepackage{trimclip}
19 \fi
20
21 \input{mjo-common} % for \of, at least
22
23 % Absolute value (modulus) of a scalar.
24 \newcommand*{\abs}[1]{\left\lvert{#1}\right\rvert}
25
26 % Norm of a vector.
27 \newcommand*{\norm}[1]{\left\lVert{#1}\right\rVert}
28
29 % The inner product between its two arguments.
30 \newcommand*{\ip}[2]{\left\langle{#1},{#2}\right\rangle}
31
32 % The tensor product of its two arguments.
33 \newcommand*{\tp}[2]{ {#1}\otimes{#2} }
34
35 % The Kronecker product of its two arguments. The usual notation for
36 % this is the same as the tensor product notation used for \tp, but
37 % that leads to confusion because the two definitions may not agree.
38 \newcommand*{\kp}[2]{ {#1}\odot{#2} }
39
40 % The adjoint of a linear operator.
41 \newcommand*{\adjoint}[1]{ #1^{*} }
42
43 % The ``transpose'' of a linear operator; namely, the adjoint, but
44 % specialized to real matrices.
45 \newcommand*{\transpose}[1]{ #1^{T} }
46
47 % The Moore-Penrose (or any other, I guess) pseudo-inverse of its
48 % sole argument.
49 \newcommand*{\pseudoinverse}[1]{ #1^{+} }
50
51 % The trace of an operator.
52 \newcommand*{\trace}[1]{ \operatorname{trace}\of{{#1}} }
53
54
55 % The "rank" of its argument, which is context-dependent. It can mean
56 % any or all of,
57 %
58 % * the rank of a matrix,
59 % * the rank of a power-associative algebra (particularly an EJA),
60 % * the rank of an element in a Euclidean Jordan algebra.
61 %
62 \newcommand*{\rank}[1]{ \operatorname{rank}\of{{#1}} }
63
64
65 % The ``span of'' operator. The name \span is already taken.
66 \newcommand*{\spanof}[1]{ \operatorname{span}\of{{#1}} }
67
68 % The ``co-dimension of'' operator.
69 \newcommand*{\codim}{ \operatorname{codim} }
70
71 % The orthogonal projection of its second argument onto the first.
72 \newcommand*{\proj}[2] { \operatorname{proj}\of{#1, #2} }
73
74 % The set of all eigenvalues of its argument, which should be either a
75 % matrix or a linear operator. The sigma notation was chosen instead
76 % of lambda so that lambda can be reserved to denote the ordered tuple
77 % (largest to smallest) of eigenvalues.
78 \newcommand*{\spectrum}[1]{\sigma\of{{#1}}}
79 \ifdefined\newglossaryentry
80 \newglossaryentry{spectrum}{
81 name={\ensuremath{\spectrum{L}}},
82 description={the set of all eigenvalues of $L$},
83 sort=s
84 }
85 \fi
86
87 % The ``Automorphism group of'' operator.
88 \newcommand*{\Aut}[1]{ \operatorname{Aut}\of{{#1}} }
89
90 % The ``Lie algebra of'' operator.
91 \newcommand*{\Lie}[1]{ \operatorname{Lie}\of{{#1}} }
92
93 % The ``write a matrix as a big vector'' operator.
94 \newcommand*{\vectorize}[1]{ \operatorname{vec}\of{{#1}} }
95
96 % The ``write a big vector as a matrix'' operator.
97 \newcommand*{\matricize}[1]{ \operatorname{mat}\of{{#1}} }
98
99 % An inline column vector, with parentheses and a transpose operator.
100 \newcommand*{\colvec}[1]{ \transpose{\left({#1}\right)} }
101
102 % Bounded linear operators on some space. The required argument is the
103 % domain of those operators, and the optional argument is the
104 % codomain. If the optional argument is omitted, the required argument
105 % is used for both.
106 \newcommand*{\boundedops}[2][]{
107 \mathcal{B}\of{ {#2}
108 \if\relax\detokenize{#1}\relax
109 {}%
110 \else
111 {,{#1}}%
112 \fi
113 }
114 }
115
116
117 %
118 % Orthogonal direct sum.
119 %
120 % First declare my ``perp in a circle'' operator, which is meant to be
121 % like an \obot or an \operp except has the correct weight circle. It's
122 % achieved by overlaying an \ocircle with a \perp, but only after we
123 % clip off the top half of the \perp sign and shift it up.
124 \DeclareMathOperator{\oplusperp}{\mathbin{
125 \ooalign{
126 $\ocircle$\cr
127 \raisebox{0.625\height}{$\clipbox{0pt 0pt 0pt 0.5\height}{$\perp$}$}\cr
128 }
129 }}
130
131 % Now declare an orthogonal direct sum in terms of \oplusperp.
132 \newcommand*{\directsumperp}[2]{ {#1}\oplusperp{#2} }
133
134
135 % The space of real symmetric n-by-n matrices. Does not reduce to
136 % merely "S" when n=1 since S^{n} does not mean an n-fold cartesian
137 % product of S^{1}.
138 \newcommand*{\Sn}[1][n]{ \mathcal{S}^{#1} }
139 \ifdefined\newglossaryentry
140 \newglossaryentry{Sn}{
141 name={\ensuremath{\Sn}},
142 description={the set of $n$-by-$n$ real symmetric matrices},
143 sort=Sn
144 }
145 \fi
146
147 % The space of complex Hermitian n-by-n matrices. Does not reduce to
148 % merely "H" when n=1 since H^{n} does not mean an n-fold cartesian
149 % product of H^{1}.
150 \newcommand*{\Hn}[1][n]{ \mathcal{H}^{#1} }
151 \ifdefined\newglossaryentry
152 \newglossaryentry{Hn}{
153 name={\ensuremath{\Hn}},
154 description={the set of $n$-by-$n$ complex Hermitian matrices},
155 sort=Hn
156 }
157 \fi
158
159
160 \fi