Hermitian Conjugation

Consider a linear space V over complex scalars supporting a self-inverse conjugation

which respects addition (i.e. *(r+s) = (*r) + (*s)) and multiplication (i.e. *(r.s) = (*r).(*s)), preserves all real scalars, negates any scalar whose square is negative; and for which:

We can define antilinearity by: for any other linear space U over the same scalars, (U:f|V) is antilinear iff f respects addition (i.e. f(v+w) = f(v)+f(w) for all v, w in V) and conjugates scalings, i.e. f(k.v) = (*k).f(v) for any scalar k and v in V. The only linear map which is also antilinear is zero. Given any list of mappings in which each entry is either linear or antilinear, its composite will be: linear if the number of antilinears in the list is even; or antilinear if odd.

For any linear map ({scalars}: f |V), we have *&on;f = (: *(f(v)) ←v |V), which must necessarily be antilinear; likewise, were f antilinear, *&on;f would be linear. Thus (: *&on;f ←f :) is an isomorphism between dual(V) and V's antidual {antilinear ({scalars}: |V)}. Since it respects addition and, for any scalar k, *&on;(k.f) is (: *(k.f(v)) ←v :) = (*k).(*&on;f), the isomorphism is antilinear.

For any mapping, f, whose outputs are mappings, transpose(f) is defined to be (: (: f(u,v) ←u :) ←v :) and f is its transpose. If all f's outputs are linear, transpose(f) is linear; and (conversely) if f is linear so are transpose(f)'s ouputs. Likewise if f's outputs are antilinear, so is transpose(f); if f is antilinear, so are transpose(f)'s outputs. Thus the transpose of an antilinear map whose outputs are linear will be a linear map whose outputs are antilinear.

For antilinear (dual(V): f |U) we thus have linear (antidual(U): transpose(f) |V); composing this to the right of (dual(U): *&on;q ←q :antidual(U)), which is antilinear, we get antilinear (dual(U): (: *&on;q ←q :)&on;transpose(f) |V), known as the Hermitian transpose of f, which I shall write as H*(f). When U is V, antilinear (dual(V): f |V) yields antilinear (dual(V): H*(f) |V), just as linear (dual(V): g |V) yields linear (dual(V): transpose(g) |V). Likewise, when U and V are dual to one another, antilinear (U:f|U) yields antilinear (dual(U): H*(f) |dual(U)) just as linear (U:g|U) yields linear (dual(U): transpose(g) :dual(U)). Thus the Hermitian transpose is, for antilinear maps (between linear spaces), what (ordinary) transpose is for linear maps.

For brevity in much of what follows, I'll introduce a transpose or H*, as appropriate mapping,

(and it is a mapping, since any linear map which is also antilinear is zero, hence so are its transpose and H*, thus the two mappings united agree about it).

Now, for any (U:h|V) with U, V linear spaces, we can interpret U as dual(dual(U)) to read h as


= (dual(V): ({scalars}: h(v)·w ←v |V) ←w |dual(U))
= (dual(V): ({scalars}: u·w ←u |U)&on;h ←w |dual(U))
= (dual(V): w&on;h ←w |dual(U))

since u·w and w·u are synonymous, for u in U and w in dual(U), with the latter being synonymous with w(u). Thus transpose(h,w) = w&on;h; and, if h is antilinear, H*(h,w) = *&on;w&on;h. We can use this to help in describing the effects of transpose and H* on composites. But first, a technical finagle ...

Conjugation and double-dual

Technically (: *&on;q ←q :) works fine as a mapping (antidual(U)| |dual(U)) but can only be employed as (: |V) by interpreting V as dual(U) for some U; which must thus be dual(V) so, in fact, we obtain it as

and, indeed, there is no such thing as anti-V for antidual(dual(V)) to be construed as directly. Strictly speaking, this is really (: *&on;q ←q :) composed left of the following isomorphism ...

Similarly, dual&on;dual is not the identity on linear spaces; for a linear space V, dual(V) is {linear ({scalars}: |V)} so dual(dual(V)) is {linear ({scalars}: |dual(V))}. There is a natural embedding of any linear space in its double dual, given by

with w in dual(V) and v in V, so that w(v) is a scalar, whence (: w(v) ←w :) is a mapping ({scalars}: |dual(V)) and linear by virtue of the definitions of addition and scaling as applied to mappings producing outputs in a linear space (in this case {scalars}). For finite-dimensional V, this embedding of V in dual(dual(V)) is always an isomorphism, so few problems arise; however, I may as well pause to show how much we can manage even otherwise.

Regardless of V's dimension, we can extend any linear (dual(V): g |V) to

which, composed left of the above embedding, yields

(dual(V): (: w(v)←w :)&on;transpose(g) ←v |V)
= (: (: g(v,u) ←u |V) ←v |V)

which is just g (so we did simply extend g to all of dual(dual(V))). Likewise, we can extend any antilinear (dual(V): g |V) to

which, composed left of the embedding, yields

(dual(V): *&on;(: w(v) ←w |dual(V))&on;H*(g) ←v |V)
= (: *&on;(: *g(v,u) ←u |V) ←v |V)

which, once again, is just g. [Some day I must explore how this relates to Yoneda's lemma.]

I shall systematically ignore the difference between V and dual(dual(V)) hereafter, albeit this is only strictly valid for finite-dimensional V; though, as just shown, the involvement of even one mapping (dual(V): |V) will usually suffice to justify ignoring the difference.

Action on composites

For any mappings g and (:f|g) with the outputs of transpose(f) and of g in mutually dual linear spaces, we have

= (: (: f(g(u), v) ←u :) ←v :)
= (: (: f(u, v) ←u :)&on;g ←v :)
= (: transpose(f,v)&on;g ←v :)
= (: transpose(g, transpose(f,v)) ←v :)
= transpose(g)&on;transpose(f)

For linear g and antilinear (:f|g), we have

= (: (: *f(g(u), v) ←u :) ←v :)
= (: (: *f(u, v) ←u :)&on;g ←v :)
= transpose(g)&on;H*(f)

For antilinear g and linear (:f|g), we have (exploiting the fact that transpose(f)'s outputs are linear maps, so fall in a linear space)

= (: *&on;q ←q :)&on;transpose(f&on;g)
= (: *&on;q ←q :)&on;transpose(g)&on;transpose(f)
= H*(g)&on;transpose(f)

For antilinear g and antilinear (:f|g), we have

= (: (: f(g(u), v) ←u :) ←v :)
= (: transpose(f,v)&on;g ←v :)
= (: *&on;H*(f,v)&on;g ←v :)
= (: *&on;transpose(g, H*(f,v)) ←v :)
= H*(g)&on;H*(f)

Thus H* and transpose act on composites by applying the appropriate one of H* and transpose to each mapping composed and reversing the order of composition. Using T, we can express this rule as:


Just as we can describe a linear (dual(V): f |V) as transposition symmetric iff f = transpose(f), so equally we can describe an antilinear (dual(V): f |V) as Hermitian symmetric iff f = H*(f). In each case, I shall simply describe f as symmetric iff T(f) = f. Likewise, just as an f with transpose(f) = -f is described as transposition antisymmetric, so equally an f with H*(f) = -f is Hermitian antisymmetric; or, simply, f is antisymmetric iff T(f) = -f.

Now, for any linear or antilinear f, f+T(f) is manifestly symmetric; while f-T(f) is manifestly antisymmetric; and the average of these two is f. Thus we can express f as the sum of two terms, one symmetric, the other antisymmetric;

known as the symmetric part of f, and
known as the antisymmetric part of f.

No corresponding notions exist (naturally) for (V: f |V), whether linear or antilinear, since T(f) is (dual(V): |dual(V)) so doesn't have the option of being equal to ±(V:f|V), except when V = dual(V), nor can we perform addition or subtraction such as f+T(f). However, when we have an isomorphism between V and dual(V), we can use this to convert T(f) into a mapping (V:|V) which we can compare (or add) with f or -f; alternatively, we can compose f with such an isomorphism to obtain a mapping from a space to its dual, and ask whether that is (anti)symmetric.

Indeed, for any mapping (dual(V): g :V), the first approach compares ±g&on;f with T(f)&on;g; when g is an isomorphism these will be equal exactly when g's representation of T(f), namely reverse(g)&on;T(f)&on;g, is equal to ±f. The second approach asks whether g&on;f is (anti)symmetric; which would appear to be more natural, so it's what I'll use; g will of course be either linear or antilinear and, at least typically, symmetric. When g is symmetric, T(g&on;f) = T(f)&on;g so comparing g&on;f with T(f)&on;g is equivalent to asking about g&on;f's symmetry, so the two approaches coincide. For any (dual(V): g :V), I'll describe a mapping (V:f:V) as g-symmetric precisely if g&on;f is symmetric, i.e. a fixed point of T, and similarly for g-antisymmetric.

For any isomorphism (dual(V)| g |V) and any (V:f|V), at least when each is either linear or antilinear, we can form reverse(g)&on;T(g&on;f); adding this to f yields something manifestly g-symmetric; subtracting it from f yields something g-antisymmetric; halving each of these we thus, as before, decompose f into a g-symmetric part and a g-antisymmetric part.

All of this corresponds exactly to discussion of (anti)symmetry of mappings (dual(V): |V), all pulled back through an isomorphism (V| |dual(V)), namely reverse(g), to yield mappings (V:|V). What makes it more interesting than simply discussing the (anti)symmetry of mappings (dual(V): |V) is that we can compose mappings (V:|V). Except when V is dual(V), the outputs of one mapping (dual(V): |V) are not inputs of the next, so composites of such are empty. However, one mapping (V:|V) produces outputs which another accepts as inputs, so composing them produces a mapping (V:|V).

Now, for given (dual(V): g |V), if f and h are g-symmetric, T(g&on;f&on;h) = T(h)&on;T(g&on;f) = T(h)&on;g&on;f; thus, if g is symmetric, so that T(h)&on;g = T(h)&on;T(g) = T(g&on;h) = g&on;h, we find T(g&on;f&on;h) = g&on;h&on;f so that h&on;f will be symmetric if equal to f&on;h, i.e. whenever f and h commute with one another. In general, the symmetry or antisymmetry of composites will depend on: whether the components are g-symmetric or g-antisymmetric; whether g is symmetric or antisymmetric; and whether the components commute with one another or anticommute i.e. f&on;h = -h&on;f.

One may equally use any mapping (V: q |dual(V)), in the role of reverse(g), to define a multiplication on mappings (dual(V): |V), namely composition on either side of q, e.g. (dual(V): f&on;q&on;h |V) with f and h both (dual(V): |V). Combining many mappings (dual(V): |V) in this way simply amounts to composing a list which alternates q with the given mappings; there will be one less q than the given mappings, hence an odd number of mappings in the list. If (including the q entries) the list entries are all either linear or antilinear, the list will be linear or antilinear according as the number of antilinear entries is even or odd; notably, if all entries (i.e. q and the mappings combined) are linear or all are antilinear, the composite will be likewise. Again, questions of symmetry will be more complex; but can now be reduced to considering whether the mappings (dual(V): |V) commute or anticommute under the given q-multiplication, rather than under composition.

Changing bases

If we have a basis (V:b|n) with dual (dual(V):q|n) - specified by b(i)·q(j) being 1 when i and j are equal, 0 otherwise - and an invertible linear or antilinear (V:h|V), we can obtain h&on;b as an alternate basis of V. The components of the members of this basis with respect to b are given by contracting the elements of h&on;b with those of q, which equally gives the components of h with respect to b; a typical value is q(j)·h(b(i)), a.k.a. h(b(i),q(j)). Expect transpose(reverse(h)) to serve as the corresponding change of basis mapping in dual(V).

[to be continued]

Inner products

A metric on a linear space defines an inner product which combines two vectors to produce a scalar. For a real linear space, a metric does this bilinearly, i.e. linearly in each of the two vectors; as such it is a linear map from vectors to linear maps from vectors to scalars. For such a linear (dual(V): g |V) the inner product of two members, u and v, of V is given by g(u,v). The length of a vector, v in V, is the square root of the inner product of v with itself, g(v,v). For such lengths to behave as we expect, crucially always yielding a real (positive) answer unless v is zero, g(v,v) must always be positive (so that it has a real square root) for non-zero v; in this case, g is described as positive definite.

Typically, we'll have the lengths and need to infer g; we can do this by observing that, for given u and v in V, the squared length of u+v is, from g's linearties, g(u+v,u+v) = g(u,u) +g(v,v) +g(u,v) +g(v,u), whence g(u,v)+g(v,u) can be inferred from the squared lengths of u, v and u+v. By exploring how this varies with u and v we can determine the symmetric part of g. Thus an inner product inferred from lengths is necessarily symmetric; equivalently, the notion of length that an inner product defines depends only on the symmetric part of the inner product.

On a complex linear space, V, however, no linear (dual(V): g |V) inner product can give only real lengths; if i is a square root of -1 and g(u,u) is positive (hence has a real square root) then g(i.u,i.u) = i.i.g(u,u) = -g(u,u) is negative. However, an antilinear (dual(V): g |V) can; g(i.u,i.u) = (*i).g(u,i.u) = (*i).i.g(u,u) and (*i).i is given to be positive (given that i is non-zero); indeed, the same holds true for any non-zero scalar in place of i. Thus a positive-definite inner product on a complex linear space, V, is necessarily antilinear (dual(V): |V).

Now, for u, v in V and scalar k, lengths of u+k.v, u and v will give us

from which we can infer (e.g. from k = 1 and k = i) values for g(u,v)+g(v,u) and g(u,v)-g(v,u), whence the value of g(u,v) in general: we're not limited to only the symmetric part of our inner product. None the less, it is usual to work with symmetric inner products; albeit now Hermitian symmetric, rather than transpose symmetric.

Now, albeit positive definite inner products must be antilinear (dual(V): |V), not every (dual(V): |V) is positive definite; nor are we obliged only to consider positive definite inner products (or symmetric ones). Indeed, any theory sophisticated enough to embrace Maxwell's model of electro-magnetism is obliged to work with a (real, so simply linear) metric which yields both positive and negative squared lengths, i.e. values for g(u,u), as well as zero ones for non-zero vectors (namely light-like ones). The metric of space-time isn't positive definite; so we shall not restrict attention only to these. None the less, the inner products used in quantum mechanics on complex vector spaces - modeling the possible states of the quantum system as unit vectors - do need to be positive definite; where physics needs complex vector spaces, it needs antilinear metrics.

Signature, eigenvectors, eigenvalues

(i.e. misc fragments)

Given a symmetric antilinear (dual(V): g |V), we can chose a basis, (dual(V):b|n) for some natural n, for which g is diagonal with units on its diagonal, i.e. g = sum(: u(i).b(i)×(*&on;b(i)) ←i :n) for some ({+1, -1}: u :n); and g is invertible iff (:u|) = n. Furthermore, for any positive-definite Hermitian-symmetric (dual(V): q |V), we can unit-diagonalise g, as before, while diagonalising q = sum(: p(i).b(i)×(*&on;b(i)) :n) for some ({positive real scalars}:p|n). [That's a major theorem of linear algebra; when I get round to writing it up, I may eventually remember to link from here to there ... Conway followed the completion of his proof of that theorem by juggling while balancing a broom-stick, head-upwards with its handle on his chin, to illustrate the miracle.] With g diagonalised (with or without q as partner), at the very least we have g = sum(: ({+1,-1}:u:n).b×(*&on;b) :n); and the numbers of members of ({+1}:u|) and ({-1}:u|) provide the signature of g - though many bases may serve in place of b, u's only variation is by permutations of n, u&on;s ←u with (n|s|n) a monic mapping, so these numbers are invariants.

Now consider any linear (V:h|V) and u in V with h(u) = k.u for some scalar k; unless u is an additive identity, a.k.a. zero (in which case this is trivially true for every k), this makes u an eigenvector of h and k its eigenvalue. We can read k as the linear scaling (V: k.v ←v |V), whence h-k is the linear map (V: h(v)-k.v ←v |V) and maps at least one non-zero vector, u, to zero; i.e. its kernel has positive dimension, so its rank is less than V's dimension, n. This makes its determinant, det(h-k), zero; for given h, (: det(h-k) ←k :{scalars}) is a polynomial, in k, of degree (at most) n; and we're interested in the roots of this polynomial, i.e. those k for which det(h-k) is zero. We can thus expect (up to) n eigenvalues.

If h is g-symmetric for some Hermitian symmetric g and has eigenvectors u, v with eigenvalues k, m respectively, so h(u) = k.u and h(v) = m.v, we have

= g(k.u,v) = g(h(u),v)
= (g&on;h)(u,v)
= T(g&on;h,u,v)
= *g(h(v),u)
= m.*g(v,u)
= m.g(u,v)

whence either g(u,v) is zero or *k = m. In particular, with u = v, k = m, any non-null (i.e. g(u,u) is not zero) eigenvector of a g-symmetric linear map, for Hermitian symmetric g, must have a real eigenvalue, *k = k. Thus if g is positive definite (or negative definite; either way, it has no null vectors), all eigenvalues of g-symmetric linear maps are real.

Written by Eddy.