Home / Math and Physics Files / Math / Wedge World / tensor wedge doc / installed sections and old versions of things
Section 2_11 edit Jan 20
DOCX · 66.1 KB
Open DOCX file
Edited section of a book-style manuscript, dated Jan 20, 2016 and marked as installed that evening. It introduces the dual space V* with matrix and Dirac bra-ket notation, functional versus function notation, and dual basis functionals. It then covers how these objects transform under active transformations, with rank-2 and rank-k functionals to follow. Only the first part of the text was seen.
AI-written summary; may contain errors. This description is approximate.
Extracted text (machine-read; may contain errors)
This is Section 2.11 being edited Jan 20, 2016
This was installed at 8:30 PM on 1.20.16, do not edit
2.11. The dual spaces V* , V*V* and V*k 1
(a) The Dual Space V* in Matrix and Dirac Notation 1
(b) Functional notation 2
(c) Basis vectors for the dual space V* 3
(d) Transformations of tensor functions 4
(e) Rank-2 functionals and tensor functions 6
(f) Rank-k functionals and tensor functions 8
2.11. Dual Spaces and Tensor Functions
We denote dual-space vectors and tensors by Greek or script font letters.
The dual space V* is by definition the space of linear functionals over V. If α ϵ V*, we can then write
α : V → K α(v) = k ϵ K (2.11.1)
where K is any field. Since α is a linear functional, α(v) is a linear function.
In normal calculus, if f: V → R, one refers to f as a function, and f(v) as that function evaluated at some point in V, though loosely speaking f(v) is also called a function. To emphasize the distinction, we shall refer to f as a "functional" and f(v) as a "function".
Comments: Much of the rest of this section will be repeated in later Chapters. We have found that the notations involved can be a major stumbling block for the reader, and feel it is important to exercise the notation in many ways to make the reader (and author) feel comfortable with it. As with most endeavors, it is a matter of practice. We also try to explain why certain notations are used. The reader has surely noticed by now that the author belongs to the nuts and bolts school of physics and engineering and is somewhat distant from the more ethereal mathematics realm.
(a) The Dual Space V* in Matrix and Dirac Notation
For every column vector v in V, there exists a row vector vT such that (vT)i = vi. For example, for n=2,
v = = |v> vT = (a, b) = <v| (2.11.a.1)
Here we have snuck in the Dirac bra-ket notation where the ket |v> is a column vector and the bra <v| is the corresponding row vector. The notation vT means that the row vector is the Transpose of the column vector.
We now have multiple ways to write the dot (inner, scalar) products of Section 2.9 :
v v' = vTv' = (a, b) = aa'+bb' = <v | v' > . (2.11.a.2)
Because our vectors have real components, the above can also be written
v' v = v'Tv = (a', b') = aa'+bb' = <v' | v > . (2.11.a.3)
We regard v or |v> as being a vector in the vector space V, while vT or <v| (the row vector) is a vector in the dual space V*. This is really a simple concept. Sometimes the dual-space vector vT = <v| is referred to as the covector of v = | v > .
Suppose αT = <α | is a vector in the dual space V* . One can regard this dual-space vector <α | as being a functional which acts on vectors in the space V. Then,
α = <α | = functional
α(v) = <α | v> = α v = function = a scalar number (2.11.a.4)
α : V → K .
Just as the space of column vectors V is a linear space (a vector space), so also the dual space of row vectors V* is a linear space, so we know that the functional <α | is a linear functional. That in turn implies that the function α(v) is a linear function, which we now show directly:
α(sv) = α (sv) = s ( α v ) = s α(v)
α(v+v') = α (v+v') = α v + α v' = α(v) + α(v') . (2.11.a.5)
(b) Functional notation
We have now a slight notational conundrum. We like to write a scalar-valued function F(v) in non-bold font, whereas a vector-valued function would be F(v). Thus we have written α(v) above with a non-bold α, since α(v) is a scalar-valued function. On the other hand, α(v) is really a function of the vector α , so it seems misleading to refer to it as α(v), and we ought to call it α(v) so then α(v) = <α | v> has everything bolded on both sides. But then the functional would have to be called α = <α | . But this contradicts our notation earlier that α is a vector, αT is the transpose, and we should write αT = <α |. If we use α = <α | then we avoid that contradiction. This is what authors end up doing, writing a functional as a scalar entity which for us means an unbolded entity. A possible solution would be to say,
fα = <α | = functional
fα(v) = <α | v> = α v = function (2.11.b.1)
where f is non-bold, and the subscript label α is bold, but then we have introduced a new symbol f which seems superfluous. So the conclusion is this: α = <α| = functional, α(v) = <α | v> = function, and one must understand that α(v) is a function of the vector quantity α. Obviously there is a unique functional α(v) for each vector α in V (and thus for each αT in V*). The spaces V and V* have the same dimension n and are isomorphic to each other in the sense just noted.
(c) Basis vectors for the dual space V*
Now recall that our basis vectors ei have dual basis vectors ei where ei ej = δij which is the idea of orthogonality in the covariant world (which might be non-Cartesian). In our notations above,
ei ej = (ei)T ej = <ei | ej> = δij
= ei ej = (ei)T ej = <ei | ej> = δij = δi,j . (2.11.c.1)
Since ei and ei are in general different column vectors in V, (ei)T and (ei)T are different row vectors in the dual space V*.
Just as the column vectors |ei> and |ei> form two distinct bases for V, the row vectors <ei | and <ei | form two distinct bases for V*. Certainly dim(V) = dim(V*). We normally use |ei> as our go-to basis in V, and, due to the orthogonality relation noted above, we like to use <ei | as our go-to basis in V*.
So above we discussed α = <α| as a vector functional, and α(v) = <α|v> as the corresponding scalar function. Whereas <α| is some general vector in V*, we consider in its place a basis vector <ei| in V* . With what notation shall we represent this functional? In analogy with α and α(v) we could use ei and ei(v) where the ei is unbolded to indicate a scalar function. Or we could use fe = <ei| and fe(v) = <ei| v> . The first notation is not uncommon (see wiki dual space), while the latter notation is ugly. Other common notations are e*i(v) or v*i(v). We shall use the following notation, which is also fairly common,
λi = <ei| basis functional // λi = (ei)T
λi(v) = <ei|v> basis function // λi(v) = (ei)Tv (2.11.c.2)
The λ is unbolded, consistent with α(v) . λ is a Greek letter consistent with our plan to use Greek or script letters for dual space objects. The index on λi is up, matching the index on ei in <ei| .
If we write
v = Σjvjej or |v> = Σjvj|ej> (2.11.c.3)
then it seems clear that
<ei|v> = <ei| [ Σjvj|ej>] = Σjvj <ei|ej> = Σjvjδij = vi (2.11.c.4)
so <ei|v> is just the covariant component vi of the vector v. Therefore from (c.2) above,
λi(v) = <ei|v> = vi (2.11.c.5)
λi(ej) = <ei|ej> = δij . (2.11.c.6)
λi is sometimes called "the ith coordinate function" since it projects out the ith component of its vector argument, λi(v) = vi.
Just as the ei = |ei> are basis vectors of vector space V, the λi = <ei| are basis functionals of the dual space V*. The basis functionals are of course linear functionals. In terms of these basis functionals, we can now express our more general vector functional α as (sums are 1 to n = dimV),
α = Σiαiλi functional
α(v) = Σiαiλi(v) = Σiαivi = α v function (2.11.c.7)
or in bra-ket notation,
<α| = Σiαi<ei| functional
α(v) = Σiαi<ei|v> = < Σiαiei| v> = < α | v > = α v function (2.11.c.8)
(d) Transformations of tensor functions
We pause to comment on the way the objects discussed above "transform" under the kinds of transformations discussed in Chapter 2. For example, there we said that v'i = Rijvj described the transformation of a contravariant vector v where R is the linearization of some underlying transformation x' = F(x). The subject of transformations is always potentially confusing and we now describe three kinds of transformations we shall call A,B and C.
transformation A tensors like v and Tij change, basis vectors like ei do not change
transformation B tensors do not change, basis vectors do change
transformation C tensors and basis vectors change together (2.11.d.1)
Our interest is only in transformation A which is often called an "active" transformation. For example, an apparatus described by some set of tensors is rotated, while the observing system (including basis vectors) is not rotated. In a very simple case, one would start with a vector v and actively rotate it into a rotated vector v' = Rv where the coordinate system does not move:
Active Transformation A Passive Transformation B (2.11.d.2)
For transformation A, the basis vectors do not move, so objects like ei = |ei>. |ei>, <ei| and <ei| are vectors in the sense that they are objects having n components, but under transformation A they are "non transforming vectors" which act more like scalars. For example,
Vi = <ei| V> // before transformation A
V'i = <ei| V'> // after transformation A : V moved, ei did not move (2.11.d.3)
In the tensor expansion notation, transformation A works this way for a rank-1 and rank-2 tensor,
V = ΣaVa ea |V> = ΣaVa |ea>
V' = ΣaV'a ea |V'> = ΣaV'a |ea> V'a = RabVb (2.11.d.4)
T = ΣabTab eaeb |T> = ΣabTab |ea> |eb>
T' = ΣabT'ab eaeb |T'> = ΣabT'ab |ea> |eb> T'ab = RacRbdTcd . (2.11.d.5)
Basically, V and V' are just two different vectors, as the above Figure shows, and T and T' are two different rank-2 tensors.
One can of course transform ei to get e'i = Rei, but that is not done in transformation A. A potential confusion is the following: <ei| v> = ei v is the dot product of two vectors, and in (2.2.6) we were instructed that such a dot product should transform as a scalar. But since ei is a non-transforming vector for an active (type A) transformation, that is no longer true. Since <ei| v> = vi we see that in fact ei v, although being the dot product of two vectors, in fact transforms as the contravariant component of a vector. On the other hand, if v and w are general vectors in V, we have w'v' = wv and the dot product really does transform as a scalar. In particular, if w = α, the vector associated with functional α, then we have
α(v) = α v
α'(v') = α' v' = α v = α(v) (2.11.d.6)
so the function α(v) transforms as a scalar field with v playing the role of x in ***. On the other hand, the vector |v> and the dual vector (functional) α = <α| transform as vectors and so α is a vector functional.
To be more explicit, if a vector transforms as |v'> = |Rv> = R|v>, the corresponding dual vector transforms according to <v'| = <Rv| = <v|RT. This is so just due to the matrix nature of column and row vectors:
v' = (Rv) = (R)v (v')T = (Rv)T = vT RT
|v'> |Rv> R|v> <v'| <Rv| <v|RT . (2.11.d.7)
The scalar nature of the dot product of two general vectors is then realized in this manner:
w'v' = <w' | v'> = <Rw|Rv> = <w|RTR|v> = <w|1|v> = <w|v> = wv . (2.11.d.8)
One is used to the fact that RTR = 1 for a rotation in Cartesian space (real orthogonal), but in our covariant world where matrix multiplication is either "down tilt" or "up tilt", RTR = 1 is true for the differential matrix R of any transformation x' = F(x), whether R is a rotation or a more general matrix including stretch. This claim of course requires a covariant definition of RT which we take to be the following,
(MT)ab = Mba (RT)ab = Rba
(MT)ab = Mba (RT)ab = Rba
(MT)ab = Mba (RT)ab = Rba
(MT)ab = Mba (RT)ab = Rba , (2.11.d.9)
where M is any rank-2 tensor and R is the differential R matrix. The middle two lines show that the transpose of a "tilted" matrix is obtained not by swapping the indices, but by reflecting them in the vertical line between them, as is done in the inversion rule of ***. Thus, RT = R-1 and RRT = RTR= 1 with tilted matrix multiplication. Specifically,
(RTR)ac = (RT)abRbc = RbaRbc = δac = (1)ac (2.11.d.10)
where RbaRbc = δac is the orthogonality rule (2.1.9) #1.
Going back to our conclusion that α(v) transforms as a scalar field,
α'(v') = α(v) (2.11.d.11)
we now define α(v) to be a "rank-1 tensor function". Spivak would call it a "1-tensor". We have this seeming contradiction that α(v) is a rank-1 tensor function, yet that function transforms as a rank-0 scalar. The rank-1 description really applies to the functional α = <α| which is in fact a vector and transforms as a vector. When this is closed with the ket |v> one obtains the scalar object α(v) = <α| v>.
(e) Rank-2 functionals and tensor functions
As noted in ***, and reverting to the compact Picture A notation of ***, a rank-2 tensor may be represented as
T = ΣabTab ea eb (2.11.e.1)
V = Σa Va ea
where on the second line for comparison we show a general rank-1 tensor (vector). In Dirac notation, we write
| ea, eb> ≡ |ea> |eb> ↔ ea eb (2.11.e.2)
which represents any of the n2 basis vectors of the tensor product space V2 = VV. We could write this as | ea, eb>2 ≡ |ea>1 |eb>1 to distinguish the fact that some kets are in V1 and others in V2, but the contents of the ket usually make it obvious to which vector space a ket belongs. In Dirac notation, the tensor T is written
|T> = ΣabTab |ea> |eb> = ΣabTab | ea, eb> (2.11.e.3)
and this is a general element of the space V2. The corresponding rank-2 linear functional in the dual space V*2 is given by
<T| = ΣabTab <ea | <eb| = ΣabTab < ea, eb| . (2.11.e.4)
This is done in analogy with the vector case
|V> = Σa Va |ea>
<V| = Σa Va<ea | (2.11.e.5)
where we are careful to have the index "tilt" have the form of a contraction, even though we are not really contracting indices on a tensor. The rank-2 functional <T| is linear in both V* spaces of V*V*, so it is called a bilinear functional. If we let (subscript 1 and 2 are labels of two vectors, not components of v )
| v1, v2> ≡ |v1> |v2> (2.11.e.6)
represent an arbitrary (but pure) element of V2 = VV, then we may construct
T = <T| rank-2 tensor functional
T(v1,v2) = <T | v1, v2> rank-2 tensor function (a Spivak "2-tensor") . (2.11.e.7)
It follows that
T(v1,v2) = <T | v1, v2> = ΣabTab < ea, eb| v1, v2>
= ΣabTab <ea| v1> <eb| v2>
= ΣabTab (v1)a (v2)b (2.11.e.8)
where we have used the fact that the scalar product for elements of V*2 and elements of V2 is the product of two V* versus V scalar products, as seen for example in (2.9.13). In the last line above we see that the tensor function T(v1,v2) is the contraction of a rank-2 tensor with two rank-1 tensors, and so is a scalar. Thus,
T'(v'1,v'2) = T(v1,v2) (2.11.e.9)
and a rank-2 tensor function transforms as a scalar field of two arguments. The "rank-2" description applies to the tensor functional <T| , and when this is closed with an element of V2 the result is a scalar.
Note from (e.8) and (2.6.8) [ which says (ei(e))a = (ei)a = δia ] ,
T(ei,ej) = ΣabTab (ei)a (ej)b = ΣabTab δia δjb = Tij (2.11.e.10)
so the tensor function evaluated at the basis vectors gives a corresponding element of the tensor.
Using λi = < ei| defined above in (c.2), we can rewrite things above as
<T| = ΣabTab <ea | <eb|
rank-2 tensor functional
T = ΣabTab λa λb (2.11.e.11)
which is in analogy to
<α | = Σa αa <ea|
rank-1 tensor functional
α = Σa αa λa . (2.11.e.12)
We continue to use script or Greek fonts to represent functionals, such as α and T.
Taking the special case of a rank-2 functional which is just λa λb we construct the following rank-2 tensor function,
(λa λb)(v1,v2) = < ea, eb| v1, v2> = <ea| v1> <eb| v2> = (v1)a (v2)b
= λa(v1) λb(v2) . (2.11.e.13)
This function is manifestly linear in both arguments, since λa(v1) is linear, so it is a bilinear function. For example,
(λa λb)(v1+v1',v2) = (v1+v1')a (v2)b = (v1)a (v2)b + (v'1)a (v2)b
= (λa λb)(v1,v2) + (λa λb)(v'1,v2) . (2.11.e.14)
Whereas <T| shown above is a general rank-2 tensor functional. we can consider the special case of a pure rank-2 functional formed from two vector functionals α = <α| and β = <β| . In that case we find,
(α β) = <α| <β| = <α, β | rank-2 functional
(α β)(v1,v2) = <α, β | v1, v2>
= <α | v1> <β | v2> = α(v1)β(v2) rank-2 tensor function
(α β)(ei,ej) = α(ei)β(vj) = αiβj = (α β)ij rank-2 tensor (2.11.e.15)
where the very last item is αiβj expressed in the tensor product notation of (2.8.9).
(f) Rank-k functionals and tensor functions
It is a simple matter to generalize from k = 2 to k = k, so the vector space is Vk and the dual space is V*k,
Vk ≡ VxVx....xV k factors // Cartesian product of k spaces
Vk ≡ VV....V k factors // tensor product of k vector spaces
V*k ≡ V*V*....V* k factors // tensor product of k dual spaces (2.11.f.1)
We then have as a most general element of Vk (a rank-k tensor),
T = Σii....i Tii....i (ei ei ..... ei ) . T = ΣITI eI (2.11.f.2)
with
(ei ei ..... ei) = |ei> |ei >..... |ei> = | ei, ei ....., ei >k (2.11.f.3)
= | ei, ei ....., ei > . eI ≡ ei ei ..... ei
On the right in red we show our equations expressed in the multi-index notation introduced later in this document. This gives the reader some advanced exposure to the concept. The letter Z which appears below is used to represent the set of integers 1,2...k.
Then the rank-k tensor T in Vk is represented in Dirac notation as
|T> = Σii....i Tii....i | ei, ei ....., ei > . |T> = ΣITI |eI> (2.11.f.4)
The rank-k tensor functional <T| of V*k is then
<T | = Σii....i Tii....i < ei, ei ....., ei | <T| = ΣITI <eI|
or (2.11.f.5)
T = Σii....i Tii....i λi λi ..... λi . T = ΣITI λI
A general pure element of Vk is specified by
|v1, v2, ...vk> = |v1> |v2> .... |vk> . |vZ> = |v1> |v2> .... |vk> (2.11.f.6)
The corresponding rank-k tensor function is given by
T(v1, v2, ...vk) = <T | v1, v2, ...vk>
= Σii....i Tii....i < ei, ei, ..., ei | v1, v2, ...vk>
= Σii....i Tii....i < ei|v1>< ei|v2> .... < ei|vk> (2.11.f.7)
= Σii....i Tii....i (v1)i (v2)i....(vk)i T(vZ) = ΣITI (vZ)I
This shows that the rank-k tensor function is a linear combination of the products of the argument components weighted by the components of the corresponding rank-k tensor. Since this is the contraction of a rank-k tensor with k rank-1 tensors, the result transforms as a scalar, so then
T'(v'1, v'2, ...v'k) = T(v1, v2, ...vk) . T'(v'Z) = T(vZ) (2.11.f.8)
That is to say, the rank-k tensor function transforms as a scalar field, where the term "rank-k" is associated with the functional T = <T| which is an element of the dual space V*k . Finally we see that
T(ej,ej, .... ej) = <T | ej,ej, .... ej >
= Σii....i Tii....i (ej)i (ej)i....(ej)i
= Tjj....j . T(eJ) = TJ (2.11.f.9)
From (f.7) one sees that the tensor function T(v1, v2, ...vk) is manifestly k-multilinear, which is the generalization of linear for k = 1 and bilinear for k = 2.
Once can construct a rank-k tensor functional purely from the dual basis vectors,
(λiλi ... λi) = <ei| <ei| ... <ei| rank-k tensor functional λI = <eI| (2.11.f.10)
(λiλi ... λi)(v1,v2....vk) = λi(v1)λi(v2)....λi(vk)
= (v1)i(v2)i ... (vk)i rank-k tensor function λI(vZ) = (vZ)I (2.11.f.11)
(λiλi ... λi)(ej,ej, .... ej) = λi(ej)λi(ej)....λi(ej)
= (ej)i(ej)i ... (ej)i
= δjiδji ... δji evaluated at basis vectors . λI(eJ) = δIJ (2.11.f.12)
As an alternative to the most general rank-k tensor functional T and the all-basis-vector rank-k tensor functional (λiλi ... λi), one can consider a "pure" rank-k tensor functional constructed from k dual vectors which we shall call <αi| . In this case we find,
<α1, α2....αk| = <α1| <α2| .... <αk|
pure rank-k tensor functional
= α1 α2... αk = (α1α2...αk) (2.11.f.13)
(α1α2...αk)(v1, v2, ...vk) = α1(v1)α2(v2) ....αk(vk)
= (α1v1)(α2v2) ....(αkvk) pure rank-k tensor function (2.11.f.14)
(α1α2...αk)(ej,ej, .... ej) = α1(ej)α2(ej) ....αk(ej)
= (α1 ej) (α2 ej) ... (αk ej) evaluated at er
= (α1)j(α2)j...(αk)j = (α1α2...αk)jj... j outer product notation (2.11.f.15)
Hopefully after this long slog, the following paragraph makes some sense to the reader:
A rank-k tensor function is the bra-ket closure (inner product) of a rank-k dual tensor functional <T| of V*k with a pure rank-k non-dual tensor |v1,v2...vk> of Vk such that T(v1,v2,...vk) = <T|v1,v2...vk>. The tensor function is k-multilinear in its arguments, and transforms as a scalar field with k vector arguments. When the rank-k tensor function is evaluated at the basis vectors er, it replicates the non-dual rank-k tensor with which is it associated, which is to say, T(ej,ej, .... ej) = Tjj....j . Spivak on page 75 refers to a rank-k tensor function as a "k-tensor". (2.11.f.16)
As we shall see later, the motivation for using tensor functions is their crashingly simple description of the tensor product of an arbitrary rank-k tensor with an arbitrary rank-k' tensor to produce a rank-(k+k') tensor :
k<T|v1,v2...vk>k k'<S|vk+1,vk+2...vk+k'>k'
= [ k<T k'<S| ] [|v1,v2...vk>k |vk+1,vk+2...vk+k'>k']
= k+k'<TS | v1,v2...vk+k'>k+k' (2.11.f.17)
or
T(v1,v2,...vk) S(vk+1,vk+2,...vk+k') = (TS)(v1,v2 .... vk+k') . (2.11.f.18)
This simple "representation" of an arbitrary tensor product of two tensors translates into a similarly simple "representation" of an arbitrary wedge product of two tensors, where the only difference is that all the tensor functions are totally antisymmetric, whereas for the tensor product they are arbitrary functions.
As noted by Benn and Tucker page 2, the relationship between the vector space Vk and the dual vector space V*k is a reciprocal one. One could, as they say, perversely regard V*k as the starting vector space and then Vk would be the dual space of V*k. This amounts to swapping bra ↔ ket in the Dirac notation outlined above. Instead of having a functional α(v) = <α|v>, one would have a functional v(α) = <v|α>. We find that things are hard enough to understand without doing this "perverse" swapping of things right off the bat as they do. They refer to a rank-k tensor as a tensor of degree k, while other authors refer to rank as the order of a tensor. We find the term rank just fine, and promise not to confuse it with the different notion of the rank of a matrix which is the number of linearly independent rows or columns, or with various other meanings of the word "rank" in mathematics.