%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% Scientific Word Wrap/Unwrap Version 2.5 %
% Scientific Word Wrap/Unwrap Version 3.0 %
% %
% If you are separating the files in this message by hand, you will %
% need to identify the file type and place it in the appropriate %
% directory. The possible types are: Document, DocAssoc, Other, %
% Macro, Style, Graphic, PastedPict, and PlotPict. Extract files %
% tagged as Document, DocAssoc, or Other into your TeX source file %
% directory. Macro files go into your TeX macros directory. Style %
% files are used by Scientific Word and do not need to be extracted. %
% Graphic, PastedPict, and PlotPict files should be placed in a %
% graphics directory. %
% %
% Graphic files need to be converted from the text format (this is %
% done for e-mail compatability) to the original 8-bit binary format. %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% Files included: %
% %
% "/document/rev.tex", Document, 65025, 1/14/2005, 20:49:54, "" %
% "/macros/LaTeX/base/article.cls", Macro, 21194, 5/11/2004, 1:41:26, ""%
% "/macros/LaTeX/SWmacros/tcilatex.tex", Macro, 39090, 7/8/2004, 14:12:14, ""%
% "/document/graphics/expmap.gif", ImportPict, 5118, 1/11/2005, 0:28:46, ""%
% "/macros/LaTeX/base/leqno.clo", Macro, 1843, 5/11/2004, 1:41:24, "" %
% "/macros/LaTeX/base/fleqn.clo", Macro, 3785, 5/11/2004, 0:41:24, "" %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%% Start /document/rev.tex %%%%%%%%%%%%%%%%%%%%%%%
\documentclass{article}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%TCIDATA{OutputFilter=LATEX.DLL}
%TCIDATA{Version=5.00.0.2606}
%TCIDATA{}
%TCIDATA{BibliographyScheme=Manual}
%TCIDATA{Created=Thursday, August 10, 2000 20:01:42}
%TCIDATA{LastRevised=Friday, January 14, 2005 15:49:54}
%TCIDATA{}
%TCIDATA{}
%TCIDATA{CSTFile=LaTeX article (bright).cst}
\newtheorem{theorem}{Theorem}
\newtheorem{acknowledgement}[theorem]{Acknowledgement}
\newtheorem{algorithm}[theorem]{Algorithm}
\newtheorem{axiom}[theorem]{Axiom}
\newtheorem{case}[theorem]{Case}
\newtheorem{claim}[theorem]{Claim}
\newtheorem{conclusion}[theorem]{Conclusion}
\newtheorem{condition}[theorem]{Condition}
\newtheorem{conjecture}[theorem]{Conjecture}
\newtheorem{corollary}[theorem]{Corollary}
\newtheorem{criterion}[theorem]{Criterion}
\newtheorem{definition}[theorem]{Definition}
\newtheorem{example}[theorem]{Example}
\newtheorem{exercise}[theorem]{Exercise}
\newtheorem{lemma}[theorem]{Lemma}
\newtheorem{notation}[theorem]{Notation}
\newtheorem{problem}[theorem]{Problem}
\newtheorem{proposition}[theorem]{Proposition}
\newtheorem{remark}[theorem]{Remark}
\newtheorem{solution}[theorem]{Solution}
\newtheorem{summary}[theorem]{Summary}
\newenvironment{proof}[1][Proof]{\textbf{#1.} }{\ \rule{0.5em}{0.5em}}
\input{tcilatex}
\begin{document}
\section{Tangent Space Vectors and Tensors}
\subsection{Representations}
At each point $P$ of a manifold $M$, there is a \emph{tangent space} $T_{P}$
of vectors. Choosing a set of \emph{basis vectors} $e_{\alpha }\in T_{P}$
provides a \emph{representation} of each vector $u\in T_{P}$ in terms of
\emph{components} $u^{\alpha }$.%
\[
\begin{array}{c}
u=u^{\alpha }e_{\alpha } \\
=u^{0}e_{0}+u^{1}e_{1}+u^{2}e_{2}+... \\
=\left[ u\right] \left[ e\right]%
\end{array}%
\]%
where the last expression treats the basis vectors as a column matrix $\left[
e\right] $ and the vector components as a row matrix $\left[ u\right] $.
There is also a \emph{cotangent space} $\hat{T}_{P}$ of \emph{one-forms} at
each point. The basis one-forms which are dual to the basis vectors $%
e_{\alpha }$ are just the component-taking operators:%
\[
\omega ^{\alpha }\left( u\right) =\omega ^{\alpha }\cdot u=u\cdot \omega
^{\alpha }=u^{\alpha }
\]%
or, in terms of a row matrix $\left[ \omega \right] $ of basis forms,
\[
u\cdot \left[ \omega \right] =\left[ u\right] .
\]%
When one of these operators acts on a basis vector, it produces one or zero
according to:%
\[
\omega ^{\alpha }\left( e_{\beta }\right) =\delta _{\beta }^{\alpha }
\]%
or, in matrix notation,%
\[
\left[ e\right] \cdot \left[ \omega \right] =\left[ 1\right]
\]%
An arbitrary one-form $\varphi $ can be represented by its components $%
\varphi _{\beta }$ in the form:%
\[
\varphi =\varphi _{\beta }\omega ^{\beta }=\left[ \omega \right] \left[
\varphi \right]
\]%
where the components are now arranged as a column matrix.
Here are various ways to represent a form acting on a vector to give a
number:%
\[
\begin{array}{c}
\varphi \left( u\right) =u\left( \varphi \right) =\varphi \cdot u=u\cdot
\varphi =u^{\alpha }\varphi _{\alpha } \\
=u^{0}\varphi _{0}+u^{1}\varphi _{1}+u^{2}\varphi _{2}+u^{3}\varphi _{3}+...
\\
=\left[ \varphi \right] \left[ u\right]%
\end{array}%
\]
\subsection{Holonomic Basis}
Given a coordinate patch --- a set of independent functions $x^{\alpha }$
which can be used to label points in some part of $M$ --- a special set of
basis one-forms can be defined: $\omega ^{\alpha }=dx^{\alpha }$%
\[
dx^{\alpha }\left( u\right) =u\left( x^{\alpha }\right)
\]%
Recall that each tangent vector $u$ is really a directional derivative.
\[
u=\left. \frac{d}{d\lambda }\right\vert _{C}
\]%
where $C$ is a curve whose tangent vector at $P$ is $u$. Rewrite the
definition of the $dx^{\alpha }$ in various ways:%
\[
dx^{\alpha }\cdot u=u\cdot dx^{\alpha }=dx^{\alpha }\left( u\right) =\frac{%
dx^{\alpha }\left( C\left( \lambda \right) \right) }{d\lambda }
\]
The basis vectors dual to the one-forms $dx^\alpha $ are just our old
friends the partial derivatives:%
\[
\partial _\alpha =\frac \partial {\partial x^\alpha }
\]
This type of basis is called a \emph{holonomic basis}. For a vector $u$,
here are various expressions in such a basis:%
\[
\begin{array}{c}
u=u^\alpha \partial _\alpha ,\qquad u^\alpha =dx^\alpha \cdot u \\
u^\alpha =u\left( x^\alpha \right) =\frac{dx^\alpha }{d\lambda }=\dot
x^\alpha%
\end{array}
\]
\[
u=\dot x^\alpha \partial _\alpha =\frac{dx^\alpha }{d\lambda }\frac \partial
{\partial x^\alpha }
\]
For a one-form $\varphi $ here are various expressions in a holonomic basis:%
\[
\varphi =\varphi _\beta dx^\beta ,\qquad \varphi _\beta =\varphi \cdot
\partial _\beta
\]
\[
df\cdot \partial _\beta =\frac{\partial f}{\partial x^\beta },\qquad df=%
\frac{\partial f}{\partial x^\beta }dx^\beta
\]
Some more expressions in a holonomic basis:%
\[
u\cdot \varphi =\left( u^{\alpha }\partial _{\alpha }\right) \cdot \left(
\varphi _{\beta }dx^{\beta }\right) =u^{\alpha }\varphi _{\alpha }
\]%
\[
u\cdot df=u^{\alpha }\left( df\right) _{\alpha }=\frac{dx^{\alpha }}{%
d\lambda }\frac{\partial f}{\partial x^{\alpha }}
\]%
\[
u\cdot df=u\left( f\right) =\frac{df}{d\lambda }
\]
\subsection{n-beins, Vierbeins, Tetrads, etc.}
Holonomic bases are not always appropriate. For example, local observers
always want to use orthonormal basis vectors but it is not usually possible
for a holonomic basis system to be orthonormal everywhere. However, if one
has a curve $C$ which is defined in terms of coordinates and wants its
tangent vector, then the holonomic basis is needed. Thus, non-holonomic
basis systems are usually related to holonomic ones like this:%
\[
e_{a}=b_{a}{}^{\beta }\partial _{\beta },\qquad \omega ^{a}=dx^{\beta
}b_{\beta }{}^{a}
\]%
with the inverse relations:%
\[
\partial _{\alpha }=b_{\alpha }{}^{b}e_{b},\qquad dx^{\alpha }=\omega
^{b}b_{b}{}^{\alpha }
\]%
Here, I am using Latin indexes for the non-holonomic basis and Greek indexes
for the holonomic basis. Sometimes the two kinds of indexes are
distinguished in other ways:%
\[
e_{\left( \alpha \right) }=b_{\left( \alpha \right) }{}^{\beta }\partial
_{\beta },\qquad \omega ^{\left( \alpha \right) }=dx^{\beta }b_{\beta
}{}^{\left( \alpha \right) }
\]%
Underlines, primes, carets, and other doodads are used to mark one set of
indexes as distinct from the other. Notice that the index positions are
absolutely critical. \emph{If you are using Scientific Notebook or
Scientific Workplace, you need to prevent superscripts and subscripts from
lining up one over the other by inserting a zero space between them.}
In terms of matrices, the relation between holonomic and non-holonomic
representations would look like this:
\begin{eqnarray*}
\left[ e\right] &=&\left[ b\right] \left[ \partial \right] ,\qquad \left[
\omega \right] =\left[ dx\right] \left[ b\right] ^{-1} \\
\left[ \partial \right] &=&\left[ b\right] ^{-1}\left[ e\right] ,\qquad %
\left[ dx\right] =\left[ \omega \right] \left[ b\right]
\end{eqnarray*}
Here are the non-holonomic components of the velocity of a particle which is
located at coordinates $x^i\left( t\right) $ at time $t$:%
\[
v=v^a\partial _a=v^ab_a{}^{\left( a\right) }e_{\left( a\right) }=v^{\left(
a\right) }e_{\left( a\right) }
\]
\[
v^{\left( a\right) }=v^ab_a{}^{\left( a\right) }
\]
\[
v^a=\frac{dx^a}{dt}=\dot x^a
\]
\[
v^{\left( a\right) }=\dot x^ab_a{}^{\left( a\right) }
\]
In a four-dimensional spacetime, a non-holonomic basis system is often
called a \emph{tetrad} or a \emph{vierbein }or a \emph{moving frame}. The
two types of indexes are not always integrated into a single formalism
connected by tetrad coefficients $b_a{}^{\left( a\right) }$. Sometimes we
just perform a change of basis when it is convenient but use only one type
of basis at a time.
\subsection{Higher rank tensors}
Vectors and one-forms are special cases of tensors. Higher rank tensors are
multilinear functions of vectors and one-forms. They can be built up from
tensor products defined like this:%
\[
u\otimes v\left( \alpha ,\beta \right) =u\left( \alpha \right) v\left( \beta
\right) ,\qquad \alpha \otimes \beta \left( u,v\right) =\alpha \left(
u\right) \beta \left( v\right)
\]
\[
u\otimes \alpha \otimes \varphi \left( \theta ,u,v\right) =u\left( \theta
\right) \alpha \left( u\right) \varphi \left( v\right)
\]
The space of tensors that act on pairs of vectors can be built from the
tensor products
\[
e_{\alpha \beta }=e_{\alpha }\otimes e_{\beta }
\]%
and is designated $T_{P}\otimes T_{P}$. Other tensors are built up
similarly. An example of such a tensor would be%
\[
T=T^{\alpha \beta }e_{\alpha }\otimes e_{\beta }
\]
\section{Connections}
\subsection{Derivatives}
A connection is a way of differentiating vector and tensor fields. The
essence of any type of \textquotedblleft derivative\textquotedblright\ is
that it obeys Leibniz's product rule:%
\[
D\left( AB\right) =D\left( A\right) B+AD\left( B\right)
\]%
as well as simple linearity%
\[
D(B+C)=D\left( B\right) +D\left( C\right)
\]%
Evidently derivatives can be defined on any algebra which permits
multiplications and additions. In more exotic cases, such as the algebra of
square matrices for example, the linear Leibnizian operators are referred to
as \textquotedblleft derivations\textquotedblright . Consider the operator $%
\partial _{D}$ defined on square matrices by%
\[
\partial _{D}\left( A\right) =\left[ A,D\right] =AD-DA
\]%
and show that it is a derivation.
\subsection{Directional Derivatives}
The simplest kind of derivative takes a tensor field into another tensor
field of the same rank. Suppose that $K_{\text{op}}$ is this type of
derivative and work out how it must act on a vector field that has been
expressed in terms of a particular moving frame $\left\{ e_{\alpha }\right\}
$:%
\[
\begin{array}{c}
K_{\text{op}}\left( w\right) =K_{\text{op}}\left( w^{\alpha }e_{\alpha
}\right) \\
=K_{\text{op}}\left( w^{\alpha }\right) e_{\alpha }+w^{\alpha }K_{\text{op}%
}\left( e_{\alpha }\right)%
\end{array}%
\]%
The problem is reduced to two parts (1) knowing how the operator acts on
functions such as the components $w^{\alpha }$ (2) knowing the vector that
the operator assigns to each basis vector.
The first part tells us a lot about the nature of this operator because
there is only one derivative operator on functions, the directional
derivative, and each such operator corresponds to a vector field. Thus, our
operator should be labeled by the vector field which it turns into when it
acts on functions. If $K_{\text{op}}\left( f\right) =vf$ then write $K_{%
\text{op}}$ as $D_{v}$. Now we have%
\[
D_{v}w=v\left( w^{\alpha }\right) e_{\alpha }+w^{\alpha }D_{v}e_{\alpha }
\]
That leaves part (2). We need to specify a vector-valued function $\Gamma
_{\alpha }\left( v\right) $ of a vector which maps $v$ into $D_{v}e_{\alpha
} $ for each value of $\alpha $. Then, (changing the last dummy index with
malice aforethought)
\[
D_{v}w=v\left( w^{\alpha }\right) e_{\alpha }+w^{\beta }\Gamma _{\beta
}\left( v\right)
\]%
Expanding the vector-valued function in terms of its components,%
\[
\Gamma _{\beta }\left( v\right) =e_{\alpha }\Gamma ^{\alpha }{}_{\beta
}\left( v\right)
\]%
\[
D_{v}w=v\left( w^{\alpha }\right) e_{\alpha }+w^{\beta }e_{\alpha }\Gamma
^{\alpha }{}_{\beta }\left( v\right)
\]%
Collecting the results, we have%
\[
D_{v}w=\left[ v\left( w^{\alpha }\right) +w^{\beta }\Gamma ^{\alpha
}{}_{\beta }\left( v\right) \right] e_{\alpha }
\]%
where the \emph{connection functions} $\Gamma ^{\alpha }{}_{\beta
}:T_{P}\rightarrow \Re $ represent the action of the derivatives on basis
vector fields%
\[
D_{v}e_{\beta }=e_{\alpha }\Gamma ^{\alpha }{}_{\beta }\left( v\right)
\]%
or equivalently,%
\[
\Gamma ^{\alpha }{}_{\beta }\left( v\right) =\left( D_{v}e_{\beta }\right)
\cdot \omega ^{\alpha }.
\]%
If you wish to push the matrix notation a bit farther, you can write this
definition as%
\[
\left[ \Gamma ^{T}\left( v\right) \right] =\left( D_{v}\left[ e\right]
\right) \cdot \left[ \omega \right]
\]%
and express the row of components of $D_{v}w$ as%
\[
\left[ D_{v}w\right] =\left\{ v\left[ w\right] +\left[ w\right] \Gamma
^{T}\left( v\right) \right\} .
\]
\subsection{Affine Connection}
The directional derivative operator $D_{v}$ has a very nice property when it
acts on functions: For any functions $h$ and $f$%
\[
D_{hv}\,f=hvf=hD_{v}\,f
\]%
and, for any vectors $u$ and $v$,%
\[
D_{u+v}\,f=\left( u+v\right) f=uf+vf=D_{u}\,f+D_{v}\,f
\]%
Evidently we have the \emph{option} of extending this nice property to the
action of $D_{v}$ on vector fields so that, in general, for any function $h$
and vector field $v$,
\[
D_{hv}=hD_{v}
\]%
and, for any vectors $u$ and $v$,
\[
D_{u+v}=D_{u}+D_{v}
\]%
When this choice is made, the result is called an \emph{affine directional
derivative}. For an affine directional derivative, the connection functions
obey%
\[
\begin{array}{c}
\Gamma ^{\alpha }{}_{\beta }\left( hv\right) =\omega ^{\alpha }\cdot
D_{hv}e_{\beta }=h\omega ^{\alpha }\cdot D_{v}e_{\beta } \\
=h\Gamma ^{\alpha }{}_{\beta }\left( v\right)%
\end{array}%
\]%
as well as%
\[
\Gamma ^{\alpha }{}_{\beta }\left( u+v\right) =\Gamma ^{\alpha }{}_{\beta
}\left( u\right) +\Gamma ^{\alpha }{}_{\beta }\left( v\right) .
\]
For affine directional derivatives, the connection functions are locally
linear functions on the vector space $T_{P}$ --- they are one-forms called
the \emph{connection forms}.%
\[
\Gamma ^{\alpha }{}_{\beta }\left( v\right) =\omega ^{\alpha }{}_{\beta
}\cdot v
\]%
In terms of components,
\[
\Gamma ^{\alpha }{}_{\beta }\left( v\right) =\Gamma ^{\alpha }{}_{\beta
\delta }v^{\delta }
\]%
or%
\[
\omega ^{\alpha }{}_{\beta }=\Gamma ^{\alpha }{}_{\beta \delta }\omega
^{\delta }
\]%
and some various ways of expressing the directional derivative of an
arbitrary vector field $w$ are:%
\[
\begin{array}{c}
D_{v}w=\left[ v\left( w^{\alpha }\right) +w^{\beta }\left( \omega ^{\alpha
}{}_{\beta }\cdot v\right) \right] e_{\alpha } \\
=\left[ v\left( w^{\alpha }\right) +w^{\beta }\Gamma ^{\alpha }{}_{\beta
\delta }v^{\delta }\right] e_{\alpha } \\
=\left[ v^{\delta }e_{\delta }\left( w^{\alpha }\right) +w^{\beta }\Gamma
^{\alpha }{}_{\beta \delta }v^{\delta }\right] e_{\alpha } \\
=v^{\delta }\left[ e_{\delta }\left( w^{\alpha }\right) +w^{\beta }\Gamma
^{\alpha }{}_{\beta \delta }\right] e_{\alpha }%
\end{array}%
\]
By specifying the connection coefficients $\Gamma ^\alpha {}_{\beta \delta }$
in each of the overlapping coordinate charts of a manifold so that the
resulting directional derivatives agree in the overlap regions, one defines
an \emph{affine connection} on the manifold.
\subsection{Extending the definition using Leibniz's rule}
Given an affine connection defined on vector fields, one can extend it by
insisting that it obey the product rule for every conceivable type of
product: For a form-field $\varphi $ and a vector-field $w,$ insist that%
\[
D_{v}\left( \varphi \cdot w\right) =\left( D_{v}\varphi \right) \cdot
w+\varphi \cdot D_{v}w
\]%
and find that%
\[
\left( D_{v}\omega ^{\alpha }\right) \cdot e_{\beta }=-\omega ^{\alpha
}{}_{\beta }\cdot v
\]%
and%
\[
D_{v}\varphi =v^{\delta }\left[ e_{\delta }\left( \varphi _{\beta }\right)
-\varphi _{\alpha }\Gamma ^{\alpha }{}_{\beta \delta }\right] \omega ^{\beta
}
\]%
In terms of matrices, the column of components of $D_{v}\varphi $ would be
\[
\left[ D_{v}\varphi \right] =\left\{ v\left[ \varphi \right] -\Gamma
^{T}\left( v\right) \left[ \varphi \right] \right\}
\]
For any tensor product, $u\otimes w$, just do%
\[
D_{v}\left( u\otimes w\right) =\left( D_{v}u\right) \otimes w+u\otimes
D_{v}w.
\]%
Since any tensor in $T_{P}\otimes T_{P}$ can be expanded in terms of such
tensor products, we can now find the directional derivative of any such
tensor. Try it on the tensor $S=S^{\alpha \beta }e_{\alpha }\otimes e_{\beta
}$:%
\[
\begin{array}{c}
D_{v}S=D_{v}\left( S^{\alpha \beta }e_{\alpha }\otimes e_{\beta }\right) \\
=\left( D_{v}S^{\alpha \beta }\right) e_{\alpha }\otimes e_{\beta }+S^{\rho
\beta }D_{v}\left( e_{\rho }\right) \otimes e_{\beta }+S^{\alpha \rho
}e_{\alpha }\otimes D_{v}e_{\rho }%
\end{array}%
\]%
where I have changed two dummy indexes to $\rho $ to make my life easier
later. Continue:%
\[
\begin{array}{c}
D_{v}S=v^{\delta }e_{\delta }\left( S^{\alpha \beta }\right) e_{\alpha
}\otimes e_{\beta }+v^{\delta }S^{\rho \beta }\Gamma ^{\alpha }{}_{\rho
\delta }e_{\alpha }\otimes e_{\beta } \\
+v^{\delta }S^{\alpha \rho }\Gamma ^{\beta }{}_{\rho \delta }e_{\alpha
}\otimes e_{\beta }%
\end{array}%
\]%
\[
D_{v}S=v^{\delta }\left[ e_{\delta }\left( S^{\alpha \beta }\right) +S^{\rho
\beta }\Gamma ^{\alpha }{}_{\rho \delta }+S^{\alpha \rho }\Gamma ^{\beta
}{}_{\rho \delta }\right] e_{\alpha }\otimes e_{\beta }
\]
Try something more involved, $Q=Q^{\alpha \beta }{}_{\gamma }e_{\alpha
}\otimes e_{\beta }\otimes \omega ^{\gamma }$. The result is%
\[
\begin{array}{c}
D_{v}Q=v^{\delta }\left[ e_{\delta }\left( Q^{\alpha \beta }{}_{\gamma
}\right) +Q^{\rho \beta }{}_{\gamma }\Gamma ^{\alpha }{}_{\rho \delta
}+Q^{\alpha \rho }{}_{\gamma }\Gamma ^{\beta }{}_{\rho \delta }\right. \\
\left. -Q^{\alpha \beta }{}_{\rho }\Gamma ^{\rho }{}_{\gamma \delta }\right]
e_{\alpha }\otimes e_{\beta }\otimes \omega ^{\gamma }%
\end{array}%
\]%
The pattern should be fairly clear by now: Each tensor index is contracted
with one of the first two indexes on a connection coefficient with plus
signs for the terms in which a superscript tensor index in contracted and
minus signs for the terms in which a subscript tensor index is contracted.
\subsection{Covariant Derivatives}
When an affine directional derivative $D_{v}$ acts on a vector-field $w$, it
produces \emph{another vector field} $D_{v}w$. Thus,
\[
\left. D_{v}w\right\vert _{P}\in T_{P}
\]%
In terms of components, the vector $D_{v}w$ has components%
\[
\left( D_{v}w\right) ^{\alpha }=v^{\delta }\left( e_{\delta }w^{\alpha
}+w^{\beta }\Gamma ^{\alpha }{}_{\beta \delta }\right) .
\]%
But, looking at this expression makes it obvious that its dependence on the
vector-field $v$ is completely local (the vector field is never
differentiated) and linear. Thus, we can define a second-rank tensor field $%
Dw$ according to%
\[
Dw\left( \varphi ;v\right) =\varphi \cdot D_{v}w.
\]%
The components of this tensor field are traditionally denoted by $w^{\alpha
}{}_{;\delta }$ where%
\[
Dw=w^{\alpha }{}_{;\delta }e_{\alpha }\otimes \omega ^{\delta }
\]%
\[
D_{v}w=v^{\delta }w^{\alpha }{}_{;\delta }e_{\alpha }
\]%
and evidently%
\[
w^{\alpha }{}_{;\delta }=e_{\delta }w^{\alpha }+w^{\beta }\Gamma ^{\alpha
}{}_{\beta \delta }
\]%
This tensor-field is called the \emph{covariant derivative} of the
vector-field $w$.
For any tensor-field, one has a covariant derivative tensor that is \emph{%
one rank higher}. The tensor field with components $Q^{\alpha \beta
}{}_{\gamma }$ considered earlier has a covariant derivative with components%
\[
Q^{\alpha \beta }{}_{\gamma }{}_{;\delta }=e_{\delta }\left( Q^{\alpha \beta
}{}_{\gamma }\right) +Q^{\rho \beta }{}_{\gamma }\Gamma ^{\alpha }{}_{\rho
\delta }+Q^{\alpha \rho }{}_{\gamma }\Gamma ^{\beta }{}_{\rho \delta
}-Q^{\alpha \beta }{}_{\rho }\Gamma ^{\rho }{}_{\gamma \delta }
\]
The index-free notation for the covariant derivative $DQ$ has the
disadvantage of hiding the slot for the differentiating vector field. The
directional derivative notation displays the differentiating vector field
but at the expense of not showing off the full tensor nature of the result.
The standard index notation in the previous equation shows the dependence on
the differentiating vector field by showing the corresponding index --- call
it the differentiating index. For example, in
\[
D_{v}w=Dw\left( \quad ,v\right) =v^{\delta }w^{\alpha }{}_{;\delta
}e_{\alpha }\left( \quad \right)
\]%
the differentiating index is $\delta $. However the standard index notation
obscures the operator nature of the covariant derivative.
A modification of the index notation is sometimes used to fix this
deficiency. Instead of denoting the components of $Dw$ by $w^{\alpha
}{}_{;\delta }$ just denote them by $D_{\delta }w^{\alpha }$. In this
spirit,
\[
D_{\delta }Q^{\alpha \beta }{}_{\gamma }{}=e_{\delta }\left( Q^{\alpha \beta
}{}_{\gamma }\right) +Q^{\rho \beta }{}_{\gamma }\Gamma ^{\alpha }{}_{\rho
\delta }+Q^{\alpha \rho }{}_{\gamma }\Gamma ^{\beta }{}_{\rho \delta
}-Q^{\alpha \beta }{}_{\rho }\Gamma ^{\rho }{}_{\gamma \delta }.
\]%
I will \emph{not} be using this notation. If you encounter it, be \emph{very
careful} to distinguish between the directional derivative $D_{v}$ and the
operator notation $D_{\delta }$ for the components of the covariant
derivative.
\subsection{The Perils of second derivatives}
In the notation being used here, the derivative $D_{v}w$ of a vector field $%
w $ in the direction of a vector field $v$ is interpreted as a second rank
tensor field with $v$ inserted as one of its arguments:%
\[
D_{v}w=Dw\left( \_;v\right) .
\]%
Thus, the second derivative $D_{u}D_{v}w$ is evaluated as the derivative of
this second rank tensor field.
\[
D_{u}D_{v}w=DDw\left( \_;v,u\right)
\]%
An anthropomorphic way of saying this is that the operator $D_{u}$
\textquotedblleft sees\textquotedblright\ the differentiating vector field $%
v $ as a tensor argument. The expression for $D_{u}D_{v}w$ must then be
locally linear in that argument so that, for any function $f$ on the
manifold,
\[
D_{u}D_{fv}w=fD_{u}D_{v}w.
\]
Often, however, we do not want to think of a differentiating vector field as
a tensor argument. Here, we handle this situation by using a different
symbol for the derivative. The derivative $\nabla _{v}w$ is defined as
identical to $D_{v}w$ except that $v$ is not regarded as a tensor argument.
Thus, the expression $\nabla _{u}\nabla _{v}w$ is simply the derivative of
the vector field $\nabla _{v}w$. One evaluates it just like the derivative
of any other vector field. \ For a function $f$, that means
\begin{eqnarray*}
\nabla _{u}\nabla _{fv}w &=&\nabla _{u}\left( \nabla _{fv}w\right) \\
&=&\nabla _{u}\left( f\nabla _{v}w\right) \\
&=&\left( \nabla _{u}f\right) w+f\nabla _{u}\left( \nabla _{v}w\right)
\end{eqnarray*}%
so this expression is \emph{not} tensorial in $v$. It is easy to check that
the tensorial derivative $D_{u}D_{v}w$ can be expressed as%
\[
D_{u}D_{v}w=\nabla _{u}\nabla _{v}w-\nabla _{\nabla _{u}v}w.
\]
\subsection{Overloaded Operators}
In order to avoid total confusion, it is very important to notice that the
operators we are using act in different ways on different kinds of objects.
Computer scientists refer to this type of operator as `overloaded'. Thus, if
$f$ is a scalar function and $v$ a vector field, then one can see $v$ acting
in two very different ways in the equation%
\[
vf=v\left( f\right) =v\left( df\right) =v\cdot df.
\]%
On a scalar field, it acts as a derivative. On a one-form field it is a
local linear operator. Similarly, the dot product between two objects
depends on the nature of the objects. For vectors $u,v$ and a one-form $%
\alpha $,%
\begin{eqnarray*}
u\cdot v &=&g\left( u,v\right) \\
u\cdot \alpha &=&\alpha \left( v\right) .
\end{eqnarray*}%
Suppose that $k$ and $f$ are functions on a manifold and $v$ is a vector
field. Compare the following two relations:%
\begin{eqnarray*}
v\left( kf\right) &=&v\left( k\right) f+kv\left( f\right) \\
v\left( kdf\right) &=&kv\left( df\right) .
\end{eqnarray*}
This type of notation places a heavy burden on the reader to remember
exactly what type of object each symbol stands for. Physicists sometimes
suffer a certain amount of culture shock because they are used to
typographical clues to the nature of each symbol: vector signs or bold face
type for vectors, gothic letters for tensors, and so on. Although it is
customary to adopt some sort of typographical conventions such as using
greek letters for forms and latin letters for vectors, these conventions are
not absolute. Thus, you might be told that $f$ is a one-form field while $k$
is a scalar and $v$ is a vector. In that case, you would then know that $%
v\left( kf\right) =kv\left( f\right) $ rather than the relation given above.
\section{Geodesics}
\subsection{Definition}
A geodesic is the natural generalization of a straight line in ordinary
space. The basic definition is that such a path \emph{does not turn}. Given
the path $C:\Re \rightarrow M$ and the corresponding tangent vector field $%
u\left( \lambda \right) \in T_{C\left( \lambda \right) }$ defined along it
we can calculate the directional derivative of this vector field along the
curve.%
\[
\begin{array}{c}
\nabla _uu=u^\delta \left( e_\delta u^\alpha +u^\rho \Gamma ^\alpha {}_{\rho
\delta }\right) e_\alpha \\
=\left( uu^\alpha +u^\delta u^\rho \Gamma ^\alpha {}_{\rho \delta }\right)
e_\alpha%
\end{array}
\]
A geodesic is a curve for which the tangent vector $u$ does not turn. In
other words, its rate of change must be in the same direction as $u$ so that
the tangent vector simply gets longer or shorter. Thus, we require%
\[
\nabla _uu=ku
\]
for some scalar function $k$ along the curve.
\subsection{Affine parameters}
This geodesic definition is awkward. If we change the curve parameter from $%
\lambda $ to some parameter $\tilde{\lambda}$ then the quantity $\nabla
_{u}u $ changes accordingly since $u\rightarrow \tilde{u}=\frac{\partial }{%
\partial \tilde{\lambda}}$%
\[
\tilde{u}=\frac{d\lambda }{d\tilde{\lambda}}u,\qquad u=\frac{d\tilde{\lambda}%
}{d\lambda }\tilde{u}
\]%
Define $\phi =\frac{d\tilde{\lambda}}{d\lambda }$ so that $u=\phi \tilde{u}$
and the geodesic condition becomes%
\[
\nabla _{\phi \tilde{u}}\left( \phi \tilde{u}\right) =k\phi \tilde{u}
\]%
or%
\[
\phi \nabla _{\tilde{u}}\left( \phi \tilde{u}\right) =k\phi \tilde{u}
\]%
which becomes%
\[
\nabla _{\tilde{u}}\left( \phi \tilde{u}\right) =k\tilde{u}
\]%
or%
\[
\nabla _{\tilde{u}}\left( \phi \right) \tilde{u}+\phi \nabla _{\tilde{u}}%
\tilde{u}=k\tilde{u}
\]%
Cast this expression in the form of the definition of a geodesic%
\[
\nabla _{\tilde{u}}\tilde{u}=\frac{k-\nabla _{\tilde{u}}\left( \phi \right)
}{\phi }\tilde{u}
\]%
or%
\[
\nabla _{\tilde{u}}\tilde{u}=\tilde{k}\tilde{u},\qquad \tilde{k}=\frac{%
k-\nabla _{\tilde{u}}\left( \phi \right) }{\phi }
\]%
Thus, the arbitrary function $k$ or $\tilde{k}$ is linked to the arbitrary
choice of curve parameter along the geodesic.
Now eliminate the arbitrariness by choosing the new curve parameter so that
\[
\nabla _{\tilde{u}}\left( \phi \right) =k.
\]%
so that the equation for a geodesic with this particular curve parameter is
just%
\[
\nabla _{\tilde{u}}\tilde{u}=0.
\]%
We need to show that this new curve parameter can always be found. Rewrite
its defining condition as
\[
\frac{d\phi }{d\tilde{\lambda}}=k\quad \rightarrow \quad \frac{d\phi }{%
d\lambda }\frac{d\lambda }{d\tilde{\lambda}}=k
\]%
but%
\[
\phi =\frac{d\tilde{\lambda}}{d\lambda }
\]%
so that%
\[
\frac{d\phi }{d\lambda }=k\phi \quad \rightarrow \quad \phi =\phi
_{0}e^{\tint\limits^{\lambda }k\left( \lambda ^{\prime }\right) d\lambda
^{\prime }}
\]%
or%
\[
\frac{d\tilde{\lambda}}{d\lambda }=\phi _{0}e^{\tint\nolimits_{0}^{\lambda
}k\left( \lambda ^{\prime }\right) d\lambda ^{\prime }}\quad \rightarrow
\quad \tilde{\lambda}=\tilde{\lambda}_{0}+\phi
_{0}\dint\nolimits_{0}^{\lambda }e^{\tint\nolimits_{0}^{\lambda ^{\prime
}}k\left( \lambda ^{\prime \prime }\right) d\lambda ^{\prime \prime }}
\]%
This expression exhibits the new curve parameter explicitly in terms of the
old one. \ Notice that choosing the new parameter $\tilde{\lambda}$ to be an
increasing function of the old parameter at just one point --- $\left. \frac{%
d\tilde{\lambda}}{d\lambda }\right\vert _{0}=\phi _{0}>0$ --- guarantees
that $\frac{d\tilde{\lambda}}{d\lambda }$ is always positive so that the new
parameter is an increasing function of the old one everywhere and is
guaranteed to be a good curve parameter. In terms of this new parameter,
\[
\nabla _{\tilde{u}}\tilde{u}=0.
\]%
The resulting curve is called a \emph{geodesic with an affine parameter
along it}.
Suppose that the parameters $\lambda $ and $\tilde \lambda $ are both affine
parameters. Just set $k=0$ in the above discussion and notice that the
solution degenerates to
\[
\tilde \lambda =\tilde \lambda _0+\phi _0\lambda
\]
where $\tilde \lambda _0$ and $\phi _0$ are both constants. Thus, different
affine parameters along a given curve are all linearly related to one
another.
\subsection{Riemannian Coordinates}
A geodesic curve with an affine parameter is completely determined once its
tangent vector at one point is given. Use this fact to produce a special
coordinate patch around a chosen point $P_{0}$. The simplest way to start is
by working backwards --- given a set of real number coordinates $\left\{
x^{\mu }\right\} $ specify the point $P$ which is labeled by those points.
In other words, define a map
\[
\text{exp}:\Re ^{n}\rightarrow U\subset M
\]%
by specifying the point exp$\left( x^{0},x^{1},x^{2},\ldots \right) $. To
specify this point, choose a set of basis vectors $\left\{ e_{\alpha
}\right\} $ for the tangent space $T_{P_{0}}$ and start an affinely
parameterized geodesic curve $C_{x}$ from $P_{0}$ with the initial value of
the parameter set to zero and the initial tangent vector set to $x^{\mu
}e_{\mu }$.%
\[
C_{x}\left( 0\right) =P_{0},\qquad \left. \frac{\partial }{\partial \lambda }%
\right\vert _{C_{x},\lambda =0}=x^{\mu }e_{\mu }
\]%
The image point is then defined to be the point with parameter value equal
to $1$.%
\[
\text{exp}\left( x\right) =C_{x}\left( 1\right) .
\]%
\[
\FRAME{itbpF}{1.4494in}{1.1736in}{0in}{}{}{expmap.gif}{\special{language
"Scientific Word";type "GRAPHIC";maintain-aspect-ratio TRUE;display
"USEDEF";valid_file "F";width 1.4494in;height 1.1736in;depth
0in;original-width 2.8435in;original-height 2.2917in;cropleft "0";croptop
"1";cropright "1";cropbottom "0";filename
'graphics/expmap.gif';file-properties "XNPEU";}}
\]
The map exp will produce a well-behaved coordinate system near the reference
point $P_{0}$. It can break down if the geodesics start crossing each other
--- as they would on a sphere for example. These coordinates are usually
called \emph{Riemannian coordinates} and the map is often called the \emph{%
exponential map} of the tangent space into the manifold. It has some special
properties that we need to work out.
For each set of coordinates $x$, there is a geodesic $C_x$ such that $%
C_x\left( 0\right) =P_0$ is the reference point and $C_x\left( 1\right) =P$
is a point which corresponds to the coordinate set $x$. So long as we stay
in a subset $U$ which is close enough to the reference point, the map from
coordinate space $\Re ^n$ to $U$ is one-to-one and can be inverted to
provide coordinate functions $X^\mu $ on $U$. Thus, the coordinates assigned
to the point $P$ that was reached by the geodesic with initial tangent
vector $x^\mu e_\mu $ are just the numbers $x^\mu $ again. Formally, the
coordinate functions $X^\mu $ work like this:
\[
X^\mu \left( C_x\left( 1\right) \right) =x^\mu
\]
What are the coordinates assigned to the point $C_x\left( \alpha \right) $
for some number $\alpha <1$? This point will be reached by a geodesic $C_y$
which differs from $C_x$ only by having a different affine curve parameter
so that
\[
C_x\left( \alpha \right) =C_y\left( 1\right)
\]
The coordinates $y^\mu $ assigned to this point correspond to the initial
tangent vector to the curve $C_y$, so that tangent vector is what we must
find. The tangent vector is just $\frac d{d\lambda ^{\prime }}$ where $%
\lambda ^{\prime }$ is the affine parameter along $C_y$. Different affine
parameters for geodesics which go through the same set of points must be
linearly related. In this case, all of the affine parameters start at zero,
so they must be related by constant factors. The affine parameter $\lambda
^{\prime }$ on $C_y$ must be some constant $k$ times the affine parameter $%
\lambda $ on $C_x$.
\[
\lambda ^{\prime }=k\lambda
\]
But the parameter values $\lambda ^{\prime }=1$ and $\lambda =\alpha $
correspond to the same point so that%
\[
1=k\alpha
\]
or%
\[
k=\alpha ^{-1}
\]
and the affine parameter on $C_y$ is just $\lambda ^{\prime }=\alpha
^{-1}\lambda .$ Now find the tangent vector to $C_y$.%
\[
\frac d{d\lambda ^{\prime }}=\alpha \frac d{d\lambda }
\]
or, in components%
\[
y^\alpha e_\alpha =\alpha x^\alpha e_\alpha
\]
which yields%
\[
y^\alpha =\alpha x^\alpha
\]
In terms of the coordinate functions and the curve $C_x$%
\[
X^\mu \left( C_x\left( \alpha \right) \right) =\alpha x^\mu =\alpha X^\mu
\left( C_x\left( 1\right) \right)
\]
For any geodesic through the reference point $P_0$, the coordinate functions
are given by%
\[
X^\mu \left( C\left( \alpha \right) \right) =\alpha X^\mu \left( C\left(
1\right) \right)
\]
In terms of the simpler notation $x^\mu \left( t\right) =X^\mu \left(
C\left( t\right) \right) $, this result implies that the coordinates along
any geodesic through $P_0$ obey the relation%
\[
x^\mu \left( t\right) =tx^\mu \left( 1\right) =tu^\mu
\]
where $u^\mu $ is the initial tangent vector.
Now consider what the geodesic equation will look like in this coordinate
system. Let the functions $x^\mu \left( t\right) $ describe the coordinate
image of a curve passing through the reference point. The tangent vector to
this curve is given by%
\[
u=\frac d{dt}=\frac{dx^\mu }{dt}\partial _\mu =\dot x^\mu e_\mu
\]
Now calculate for a bit:
\[
\nabla _uu=\nabla _u\left( u^\mu \partial _\mu \right) =\left( \nabla
_uu^\mu \right) \partial _\mu +u^\mu \nabla _u\partial _\mu
\]
\[
\begin{array}{c}
\nabla _uu=u\left( u^\mu \right) \partial _\mu +u^\mu u^\nu \nabla
_{\partial _\nu }\partial _\mu \\
=\frac d{dt}u^\mu \partial _\mu +u^\mu u^\nu \partial _\rho \Gamma ^\rho
{}_{\mu \nu } \\
=\dot u^\rho \partial _\rho +u^\mu u^\nu \partial _\rho \Gamma ^\rho {}_{\mu
\nu } \\
=\left( \ddot x^\rho +u^\mu u^\nu \Gamma ^\rho {}_{\mu \nu }\right) \partial
_\rho%
\end{array}
\]
and find that the geodesic equation becomes%
\[
\ddot x^\rho +u^\mu u^\nu \Gamma ^\rho {}_{\mu \nu }=0
\]
But, in these coordinates,
\[
x^\rho \left( t\right) =tx^\rho \left( 1\right)
\]
so that
\[
\ddot x^\rho =0
\]
Putting this result back into the geodesic equation, we get the constraints%
\[
u^\mu u^\nu \Gamma ^\rho {}_{\mu \nu }{}\left( P_0\right) =0
\]
for any values of the components $u^\mu $.
Split the connection into symmetric and antisymmetric parts:%
\[
\Gamma ^\rho {}_{\mu \nu }=\Gamma ^\rho {}_{\left( \mu \nu \right) }+\Gamma
^\rho {}_{\left[ \mu \nu \right] }
\]
and notice that, by antisymmetry%
\[
u^\mu u^\nu \Gamma ^\rho {}_{\left[ \mu \nu \right] }=-u^\mu u^\nu \Gamma
^\rho {}_{\left[ \nu \mu \right] }
\]
and, by renaming dummy indexes,
\[
u^\mu u^\nu \Gamma ^\rho {}_{\left[ \mu \nu \right] }=-u^\nu u^\mu \Gamma
^\rho {}_{\left[ \mu \nu \right] }=-u^\mu u^\nu \Gamma ^\rho {}_{\left[ \mu
\nu \right] }
\]
so that%
\[
u^\mu u^\nu \Gamma ^\rho {}_{\left[ \mu \nu \right] }=0.
\]
The antisymmetric part of the connection drops out of the constraints,
leaving%
\[
u^\mu u^\nu \Gamma ^\rho {}_{\left( \mu \nu \right) }{}\left( P_0\right) =0
\]
which can be satisfied for all values of $u^\mu $ only if%
\[
\Gamma ^\rho {}_{\left( \mu \nu \right) }{}\left( P_0\right) =0.
\]
Thus, the symmetric part of the connection coefficient array vanishes at the
reference point of a Riemannian coordinate system.
\section{Connection Tensors}
\subsection{Torsion}
Consider how covariant derivatives commute when they act on a function.
\[
\left[ D_{u},D_{v}\right] f=D_{u}D_{v}f-D_{v}D_{u}f
\]%
But%
\[
D_{u}D_{v}f=\nabla _{u}\nabla _{v}f-\nabla _{\nabla _{u}v}f
\]%
and these derivatives of functions are just the vectors themselves acting as
operators%
\begin{eqnarray*}
D_{u}D_{v}f &=&uvf-\left( \nabla _{u}v\right) f \\
&=&\left\{ uv-\nabla _{u}v\right\} f
\end{eqnarray*}%
The commutator is then%
\begin{eqnarray*}
\left[ D_{u},D_{v}\right] f &=&\left\{ uv-\nabla _{u}v\right\} f-\left\{
vu-\nabla _{v}u\right\} f \\
&=&\left\{ \left[ u,v\right] -\nabla _{u}v+\nabla _{v}u\right\} f
\end{eqnarray*}%
or, since $f$ is an arbitrary function, the commutator is just a vector
field.%
\[
\left[ D_{u},D_{v}\right] =\left[ u,v\right] -\nabla _{u}v+\nabla _{v}u.
\]%
The torsion is defined to be a third rank tensor field that yields the
vector field
\begin{eqnarray*}
T\left( u,v\right) &=&-\left[ D_{u},D_{v}\right] \\
&=&-\left[ u,v\right] +\nabla _{u}v-\nabla _{v}u
\end{eqnarray*}%
for any vector fields $u,v$.
For future reference, note that the definition implies that the arguments $%
u,v$ of the torsion tensor are both differentiating vector fields. Thus, a
derivative operation such as $\nabla _{w}T\left( u,v\right) $ will treat $%
T\left( u,v\right) $ as a simple vector field and will not include counter
terms for its arguments.
In a holonomic frame, the components of the torsion tensor are%
\begin{eqnarray*}
T^{\rho }{}_{\alpha \beta } &=&dx^{\rho }\cdot T\left( e_{\alpha },e_{\beta
}\right) =dx^{\rho }\cdot \left( \nabla _{e_{\alpha }}e_{\beta }-\nabla
_{e_{\beta }}e_{\alpha }\right) \\
&=&\Gamma ^{\rho }{}_{\beta \alpha }-\Gamma ^{\rho }{}_{\alpha \beta }
\end{eqnarray*}%
so the torsion is essentially the antisymmetric part of the connection
coefficient array.
The torsion is a tensor --- it has to be because we constructed it from
covariant derivatives --- and no coordinate transformation can ever make it
vanish. As we have seen, the rest of the connection, the symmetric part, can
be made to vanish at a point by choosing Riemannian coordinates there.
\subsection{Definition of Curvature}
Now consider how covariant derivatives commute when they act on a vector
field. As we saw earlier, the object with the simplest properties is
\[
\mathcal{R}\left( u,v\right) w=\left[ \nabla _{u},\nabla _{v}\right]
w-\nabla _{\left[ u,v\right] }w.
\]%
Here, $\mathcal{R}$ is regarded as a linear operator on the vector field $w$%
. This definition uses derivatives that do not treat the differentiating
vector fields $u,v$ as tensor arguments. Nevertheless, it produces a
fourth-rank tensor. With all of its arguments made explicit, this Riemannian
Curvature tensor is%
\begin{eqnarray*}
\text{Riem}\left( \alpha ,w,u,v\right) &=&\alpha \cdot \mathcal{R}\left(
u,v\right) w \\
&=&\alpha \cdot \left[ \nabla _{u},\nabla _{v}\right] w-\alpha \cdot \nabla
_{\left[ u,v\right] }w
\end{eqnarray*}%
where $\alpha $ is a form and $w,u,v$ are vectors. The components of this
tensor can be expressed in terms of the connection and commutation
coefficients as%
\[
R^{\alpha }{}_{\beta \mu \nu }=\nabla _{e_{\mu }}\Gamma ^{\alpha }{}_{\beta
\nu }-\nabla _{e_{\nu }}\Gamma ^{\alpha }{}_{\beta \mu }+\Gamma ^{\alpha
}{}_{\sigma \mu }\Gamma ^{\sigma }{}_{\beta \nu }-\Gamma ^{\alpha
}{}_{\sigma \nu }\Gamma ^{\sigma }{}_{\beta \mu }-c^{\sigma }{}_{\mu \nu
}\Gamma ^{\alpha }{}_{\beta \sigma }.
\]%
where the derivatives are regarded as acting on ordinary scalar fields.
In an environment such as Scientific Notebook, where matrix operations are
carried out automatically, it is useful to organize the curvature and
connection in terms of matrices:%
\[
\left[ \Gamma \right] _{\mu }=\left[
\begin{array}{cccc}
\Gamma ^{0}{}_{0\mu } & \Gamma ^{0}{}_{1\mu } & \Gamma ^{0}{}_{2\mu } &
\Gamma ^{0}{}_{3\mu } \\
\Gamma ^{1}{}_{0\mu } & \Gamma ^{1}{}_{1\mu } & \Gamma ^{1}{}_{2\mu } &
\Gamma ^{1}{}_{3\mu } \\
\Gamma ^{2}{}_{0\mu } & \Gamma ^{2}{}_{1\mu } & \Gamma ^{2}{}_{2\mu } &
\Gamma ^{2}{}_{3\mu } \\
\Gamma ^{3}{}_{0\mu } & \Gamma ^{3}{}_{1\mu } & \Gamma ^{3}{}_{2\mu } &
\Gamma ^{3}{}_{3\mu }%
\end{array}%
\right]
\]
\[
\left[ R\right] _{\mu \nu }=\left[
\begin{array}{cccc}
R^{0}{}_{0\mu \nu } & R^{0}{}_{1\mu \nu } & R^{0}{}_{2\mu \nu } &
R^{0}{}_{3\mu \nu } \\
R^{1}{}_{0\mu \nu } & R^{1}{}_{1\mu \nu } & R^{1}{}_{2\mu \nu } &
R^{1}{}_{3\mu \nu } \\
R^{2}{}_{0\mu \nu } & R^{2}{}_{1\mu \nu } & R^{2}{}_{2\mu \nu } &
R^{2}{}_{3\mu \nu } \\
R^{3}{}_{0\mu \nu } & R^{3}{}_{1\mu \nu } & R^{3}{}_{2\mu \nu } &
R^{3}{}_{3\mu \nu }%
\end{array}%
\right]
\]%
so that the curvature expression becomes
\[
\left[ R\right] _{\mu \nu }=\nabla _{e_{\mu }}\left[ \Gamma \right] _{\nu
}-\nabla _{e_{\nu }}\left[ \Gamma \right] _{\mu }+\left[ \Gamma \right]
_{\mu }\left[ \Gamma \right] _{\nu }-\left[ \Gamma \right] _{\nu }\left[
\Gamma \right] _{\mu }-c^{\sigma }{}_{\mu \nu }\left[ \Gamma \right]
_{\sigma }
\]%
Because this expression is manifestly antisymmetric in the indexes $\mu ,\nu
$ there are just six independent matrix expressions to evaluate.
\subsection{Ricci Identities}
Calculate the commutator of covariant derivatives acting on a vector field
as follows:%
\begin{eqnarray*}
\left[ D_{u},D_{v}\right] w &=&D_{u}D_{v}w-D_{v}D_{u}w \\
&=&\left\{ \nabla _{u}\nabla _{v}w-\nabla _{\nabla _{u}v}w\right\} -\left\{
\nabla _{v}\nabla _{u}w-\nabla _{\nabla _{v}u}w\right\} \\
&=&\left[ \nabla _{u},\nabla _{v}\right] w+\nabla _{\nabla _{v}u}w-\nabla
_{\nabla _{u}v}w \\
&=&\left[ \nabla _{u},\nabla _{v}\right] w+\nabla _{\nabla _{v}u-\nabla
_{u}v}w \\
&=&\mathcal{R}\left( u,v\right) w+\nabla _{\left[ u,v\right] }w+\nabla
_{\nabla _{v}u-\nabla _{u}v}w \\
&=&\mathcal{R}\left( u,v\right) w-\nabla _{-\left[ u,v\right] +\nabla
_{u}v-\nabla _{v}u}w \\
&=&\mathcal{R}\left( u,v\right) w-\nabla _{T\left( u,v\right) }w
\end{eqnarray*}%
\[
\left\{ \left[ D_{u},D_{v}\right] +D_{T\left( u,v\right) }\right\} w=%
\mathcal{R}\left( u,v\right) w
\]%
In terms of components, this identity takes the form%
\[
w^{\alpha }{}_{;\nu \mu }-w^{\alpha }{}_{;\mu \nu }+T^{\delta }{}_{\mu \nu
}w^{\alpha }{}_{;\delta }=w^{\rho }R^{\alpha }{}_{\rho \mu \nu }
\]%
The operator $\left\{ \left[ D_{u},D_{v}\right] +D_{T\left( u,v\right)
}\right\} $ obeys Leibniz's rule so that its action on tensors of various
rank follows a pattern similar to that of covariant derivatives, with each
index in turn getting contracted with the curvature tensor.%
\begin{eqnarray*}
\varphi _{\beta ;\nu \mu }-\varphi _{\beta ;\mu \nu }+T^{\delta }{}_{\mu \nu
}\varphi _{\beta ;\delta } &=&-\varphi _{\rho }R^{\rho }{}_{\beta \mu \nu }
\\
K^{\alpha }{}_{\beta ;\nu \mu }-K^{\alpha }{}_{\beta ;\mu \nu }+T^{\delta
}{}_{\mu \nu }K^{\alpha }{}_{\beta ;\delta } &=&K^{\rho }{}_{\beta
}R^{\alpha }{}_{\rho \mu \nu }-K^{\alpha }{}_{\rho }R^{\rho }{}_{\beta \mu
\nu } \\
g_{\alpha \beta ;\nu \mu }-g_{\alpha \beta ;\mu \nu }+T^{\delta }{}_{\mu \nu
}g_{\alpha \beta ;\delta } &=&-g_{\rho \beta }R^{\rho }{}_{\alpha \mu \nu
}-g_{\alpha \rho }R^{\rho }{}_{\beta \mu \nu }
\end{eqnarray*}
\subsection{Bianchi Identities}
\subsubsection{Jacobi Identity}
The fundamental consistency relation for any system of commutors is the
Jacobi identity%
\[
\left[ \left[ A,B\right] ,C\right] +\left[ \left[ C,A\right] ,B\right] +%
\left[ \left[ B,C\right] ,A\right] =0
\]
which can be verified just by writing out the expression in terms of
products --- everything cancels. It does not matter what sort of objects are
being commuted. So long as they obey an associative algebra (where factors
can be regrouped), then the Jacobi identity must hold. Any time that a set
of commutation relations is given, the Jacobi identity needs to be true.
\subsubsection{Torsion}
Take the operators $A,B,C$ in the Jacobi identity to be covariant
derivatives and apply the identity to a scalar field --- a function on the
manifold.%
\[
0=\left[ D_{w},\left[ D_{u},D_{v}\right] \right] f+\left[ D_{v},\left[
D_{w},D_{u}\right] \right] f+\left[ D_{u},\left[ D_{v},D_{w}\right] \right]
f
\]%
From here, just write out the commutators, working from the outside in and
recognize the torsion and curvature terms as they occur. \ The result is the
Torsion Bianchi Identity:
\begin{eqnarray*}
0 &=&D_{w}T\left( v,u\right) +D_{v}T\left( u,w\right) +D_{u}T\left(
w,v\right) \\
&&+\mathcal{R}\left( u,v\right) w+\mathcal{R}\left( w,u\right) v+\mathcal{R}%
\left( v,w\right) u
\end{eqnarray*}%
In the case of zero torsion, this identity takes the form of a symmetry of
the curvature tensor%
\[
\mathcal{R}\left( u,v\right) w+\mathcal{R}\left( w,u\right) v+\mathcal{R}%
\left( v,w\right) u=0
\]%
or, in terms of components%
\[
R^{\sigma }{}_{\alpha \beta \gamma }+R^{\sigma }{}_{\gamma \alpha \beta
}+R^{\sigma }{}_{\beta \gamma \alpha }=0.
\]
\subsubsection{Curvature}
Now apply the identity to a vector field on the manifold%
\[
0=\left[ \nabla _{t},\left[ \nabla _{u},\nabla _{v}\right] \right] w+\left[
\nabla _{v},\left[ \nabla _{t},\nabla _{u}\right] \right] w+\left[ \nabla
_{u},\left[ \nabla _{v},\nabla _{t}\right] \right] w
\]%
and, after applying the definitions of the curvature and torsion tensors,
obtain the curvature Bianchi Identity in the form
\begin{eqnarray*}
0 &=&D_{t}\mathcal{R}\left( u,v\right) +D_{v}\mathcal{R}\left( t,u\right)
+D_{u}\mathcal{R}\left( v,t\right) \\
&&-\mathcal{R}\left( u,T\left( v,t\right) \right) -\mathcal{R}\left(
v,T\left( t,u\right) \right) -\mathcal{R}\left( t,T\left( u,v\right) \right)
.
\end{eqnarray*}%
In the case of zero torsion, this identity is a symmetry of the covariant
derivative of the curvature tensor%
\[
0=D_{t}\mathcal{R}\left( u,v\right) +D_{v}\mathcal{R}\left( t,u\right) +D_{u}%
\mathcal{R}\left( v,t\right)
\]%
or, in terms of components%
\[
R^{\sigma }{}_{\rho \alpha \beta ;\gamma }+R^{\sigma }{}_{\rho \gamma \alpha
;\beta }+R^{\sigma }{}_{\rho \beta \gamma ;\alpha }=0
\]%
where the last three indexes are permuted cyclically from one term to the
next.
\subsection{Metric}
In order to specify the lengths of vectors, and the angles between vectors,
a tensor $g$ which eats pairs of vectors is needed --- a second rank
covariant tensor. Thus, the length of the vector $v$ is given by $\sqrt{%
g\left( v,v\right) }$ while the angle $\theta $ between spacelike vectors $u$
and $v$ is given by $\cos \theta =\frac{g\left( u,v\right) }{\sqrt{g\left(
u,u\right) g\left( v,v\right) }}$. In the spacetime of relativity, we insist
that there should be a set of basis vectors such that these expressions take
their special relativity forms. For such basis vectors $e_\alpha $, the
metric has components%
\[
\begin{array}{c}
g_{00}=g\left( e_0,e_0\right) =-1 \\
g_{11}=g\left( e_1,e_1\right) =+1 \\
g_{22}=g\left( e_2,e_2\right) =+1 \\
g_{33}=g\left( e_3,e_3\right) =+1 \\
g_{\mu \nu }=g\left( e_\mu ,e_\nu \right) =0\text{ for }\mu \neq \nu%
\end{array}
\]
or, more briefly, $\left[ g\right] =$diag$\left( -1,+1,+1,+1\right) $.
Mathematically, we can guarantee the existence of such a basis set for
either $g$ or $-g$ by requiring three things of the metric of components $%
\left[ g\right] $:
\begin{itemize}
\item (1) $\det \left[ g\right] <0$
\item (2) $\left[ g\right] $ is symmetric --- $\left[ g\right] ^T=\left[ g%
\right] $
\item (3)$\left[ g\right] $ is invertible --- $\left[ g\right] ^{-1}$ exists.
\end{itemize}
The tensor $g$ can be regarded as a map $g:T_{P}\rightarrow \hat{T}_{P}$
where the form $g\left( u\right) $ which is assigned to a vector $u$ acts on
the vector $v$ according to the definition
\[
g(u)\left( v\right) =g\left( u,v\right)
\]%
In terms of components,
\[
g(u)_{\alpha }=g_{\alpha \beta }v^{\beta }.
\]%
The inverse of this map, has the component representation:%
\[
g^{-1}\left( \varphi \right) ^{\gamma }=g^{\gamma \alpha }\varphi _{\alpha
}.
\]%
Putting these last two expressions together, we find%
\[
g^{\gamma \alpha }g_{\alpha \beta }=\delta _{\beta }^{\gamma }
\]%
or, in terms of matrix arrays of components,
\[
\left[ g^{-1}\right] \left[ g\right] =I,\quad \rightarrow \quad \left[ g^{-1}%
\right] =\left[ g\right] ^{-1}.
\]%
Now define a second rank tensor which acts on pairs of forms according to%
\[
g^{-1}\left( \varphi ,\psi \right) =g^{-1}\left( \varphi \right) \cdot \psi
=\varphi \cdot g^{-1}\left( \psi \right) .
\]%
This contravariant second rank tensor has the components%
\[
g^{-1}\left( \omega ^{\beta },\omega ^{\alpha }\right) =g^{-1}\left( \omega
^{\beta }\right) \cdot \omega ^{\alpha }=g^{\alpha \beta }
\]
Historically, the metric tensor field has been regarded as the fundamental
field variable of general relativity with everything else derived from it.
That point of view has changed radically during the last few years. It now
looks as if the connection is the fundamental gravitational variable while
the metric tensor is a derived quantity which is sometimes needed in order
to describe interactions between gravity and matter.
\subsection{Diagonalization of the Metric}
For a basis transformation%
\[
e_{\alpha ^{\prime }}=U_{\alpha ^{\prime }}{}^{\rho }e_{\rho }
\]%
to yield an orthonormal basis, the coefficients $U_{\alpha ^{\prime
}}{}^{\beta }$ must obey the conditions%
\[
U_{\alpha ^{\prime }}{}^{\rho }e_{\rho }\cdot U_{\beta ^{\prime }}{}^{\sigma
}e_{\sigma }=\eta _{\alpha \beta }=\left\{
\begin{array}{ccc}
-1 & \text{for} & \alpha =\beta =0 \\
1 & \text{for} & \alpha =\beta \neq 0 \\
0 & \text{for} & \alpha \neq \beta%
\end{array}%
\right.
\]%
or%
\[
U_{\alpha ^{\prime }}{}^{\rho }U_{\beta ^{\prime }}{}^{\sigma }g_{\rho
\sigma }=\eta _{\alpha \beta }
\]%
In matrix notation, these conditions take the form%
\[
\left[ U\right] \left[ g\right] \left[ U\right] ^{T}=\left[ \eta \right]
\]%
Notice that these are not the same as the conditions on a similarity
transformation that diagonalizes the matrix $\left[ g\right] $. A similarity
transformation would take the form $A\left[ g\right] A^{-1}$.
If the original basis is already orthonormal, the condition on a basis
change to a new orthonormal set is%
\[
\left[ U\right] \left[ \eta \right] \left[ U\right] ^{T}=\left[ \eta \right]
\]%
In this case, the transformation%
\[
\left[ e^{\prime }\right] =\left[ U\right] \left[ e\right]
\]%
is a Lorentz Transformation.
\subsection{Metricity}
The link between the metric tensor and the connection is the covariant
derivative of the metric tensor --- the \emph{metricity tensor}. For an
arbitrary metric in an arbitrary connection, the metricity tensor is just%
\[
Q\left( \alpha ,\beta ,v\right) =-D_{v}g^{-1}\left( \alpha ,\beta \right)
\]%
or%
\[
Q^{\alpha \beta }{}_{\gamma }{}=-D_{e_{\gamma }}{}g^{\alpha \beta
}=-e_{\gamma }g^{\alpha \beta }-g^{\rho \beta }\Gamma ^{\alpha }{}_{\rho
\gamma }-g^{\alpha \rho }\Gamma ^{\beta }{}_{\rho \gamma }.
\]%
I am defining the metricity in terms of the inverse metric tensor because
that turns out to be more useful in calculations of gravitational dynamics
than the regular metric tensor. From matrix algebra, any derivative operator
$D$ acting on the inverse of a matrix yields%
\[
D\left( m^{-1}\right) =-m^{-1}\left( Dm\right) m^{-1}
\]%
so that an equivalent definition of metricity is%
\[
Q\left( a,b,v\right) =D_{v}g\left( a,b\right)
\]%
or%
\[
\begin{array}{c}
Q_{\alpha \beta \gamma }=g_{\alpha \rho }Q^{\rho \sigma }{}_{\gamma
}{}g_{\sigma \beta }=D_{e_{\gamma }}g_{\alpha \beta }=g_{\alpha \beta
;\gamma } \\
=e_{\gamma }g_{\alpha \beta }-g_{\rho \beta }\Gamma ^{\rho }{}_{\alpha
\gamma }-g_{\alpha \rho }\Gamma ^{\rho }{}_{\beta \gamma }%
\end{array}%
\]
Ordinarily, one requires the metricity tensor to vanish so that the
covariant derivatives of inner products obey Leibniz's rule:%
\[
\begin{array}{c}
D_{e_{\gamma }}\left( u\bullet v\right) =D_{e_{\gamma }}\left( u^{\alpha
}g_{\alpha \beta }v^{\beta }\right) \\
=\left( D_{e_{\gamma }}u^{\alpha }\right) g_{\alpha \beta }v^{\beta
}+u^{\alpha }Q_{\alpha \beta \gamma }v^{\beta }+u^{\alpha }g_{\alpha \beta
}\left( D_{e_{\gamma }}v^{\beta }\right)
\end{array}%
\]%
The metricity amounts to the covariant derivative of the \textquotedblleft
dot\textquotedblright . A connection for which the metricity tensor vanishes
is called a \textquotedblleft metric compatible connection\textquotedblright
. This condition is usually interpreted as a constraint on the connection
coefficients:%
\[
e_{\gamma }g_{\alpha \beta }=g_{\rho \beta }\Gamma ^{\rho }{}_{\alpha \gamma
}+g_{\alpha \rho }\Gamma ^{\rho }{}_{\beta \gamma }
\]%
I will follow the usual interpretation for a while and get expressions for
the connection coefficients in terms of the metric. However, before we mess
up this expression any further, notice that it is a beautifully simple
system of linear first order differential equations in the metric
components. Given the connection coefficients, we can recover the metric
tensor by solving this system of linear equations.
The standard approach defines the object%
\[
\Gamma _{\alpha \beta \gamma }=g_{\alpha \rho }\Gamma ^{\rho }{}_{\beta
\gamma }
\]%
and notices that we already know that the torsion tensor is given by%
\[
T_{\alpha \beta \gamma }=g_{\alpha \rho }c^{\rho }{}_{\beta \gamma }-2\Gamma
_{\alpha \left[ \beta \gamma \right] }
\]%
so that%
\[
\Gamma _{\alpha \left[ \beta \gamma \right] }=\frac{1}{2}\left( g_{\alpha
\rho }c^{\rho }{}_{\beta \gamma }-T_{\alpha \beta \gamma }\right)
\]%
The metric compatibility condition takes the form%
\[
e_{\gamma }g_{\alpha \beta }=\Gamma _{\beta \alpha \gamma }+\Gamma _{\alpha
\beta \gamma }
\]%
or%
\[
\Gamma _{\left( \alpha \beta \right) \gamma }=\frac{1}{2}e_{\gamma
}g_{\alpha \beta }.
\]%
This system of linear equations can be solved for the connection
coefficients.
The system to be solved is%
\[
\Gamma _{\left( \alpha \beta \right) \gamma }=\frac{1}{2}b_{\alpha \beta
\gamma },\qquad \Gamma _{\alpha \left[ \beta \gamma \right] }=\frac{1}{2}%
a_{\alpha \beta \gamma }
\]%
or, equivalently%
\[
\begin{array}{c}
\Gamma _{\alpha \beta \gamma }+\Gamma _{\beta \alpha \gamma }=b_{\alpha
\beta \gamma } \\
\Gamma _{\alpha \beta \gamma }-\Gamma _{\alpha \gamma \beta }=a_{\alpha
\beta \gamma }%
\end{array}%
\]%
Cyclically permute the argments of this last equation and write it as%
\[
\Gamma _{\beta \alpha \gamma }=\Gamma _{\beta \gamma \alpha }+a_{\beta
\alpha \gamma }
\]%
which can be substituted into the first equation of the pair%
\[
\Gamma _{\alpha \beta \gamma }+\Gamma _{\beta \gamma \alpha }+a_{\beta
\alpha \gamma }=b_{\alpha \beta \gamma }
\]%
and gives the key result:%
\[
\Gamma _{\alpha \beta \gamma }+\Gamma _{\beta \gamma \alpha }=b_{\alpha
\beta \gamma }-a_{\beta \alpha \gamma }.
\]%
Now denote cyclic index permutations by%
\[
\left( C\Gamma \right) _{\alpha \beta \gamma }=\Gamma _{\beta \gamma \alpha }
\]%
and%
\[
B_{\alpha \beta \gamma }=b_{\alpha \beta \gamma }-a_{\beta \alpha \gamma }
\]%
so that the equation that we have to solve becomes just%
\[
\Gamma +C\Gamma =B.
\]%
Operate on it twice with the cyclic permutation operator%
\[
C\Gamma +C^{2}\Gamma =CB
\]%
\[
C^{2}\Gamma +\Gamma =C^{2}B.
\]%
Now we have three equations in the three unknowns $\Gamma ,C\Gamma
,C^{2}\Gamma $.
Eliminate $C^{2}\Gamma $ using the last equation%
\[
C^{2}\Gamma =C^{2}B-\Gamma .
\]%
Next, eliminate $C\Gamma $ by using middle equation%
\[
C\Gamma =CB-C^{2}\Gamma =CB-C^{2}B+\Gamma .
\]%
The remaining equation them becomes%
\[
\Gamma +CB-C^{2}B+\Gamma =B
\]%
or%
\[
2\Gamma =C^{2}B-CB+B
\]%
\[
\Gamma =\frac{1}{2}\left( C^{2}B-CB+B\right)
\]%
\[
\Gamma _{\alpha \beta \gamma }=\frac{1}{2}\left( B_{\gamma \alpha \beta
}-B_{\beta \gamma \alpha }+B_{\alpha \beta \gamma }\right)
\]%
Now unravel the definitions%
\[
\begin{array}{c}
B_{\alpha \beta \gamma }=b_{\alpha \beta \gamma }-a_{\beta \alpha \gamma }
\\
=e_{\gamma }g_{\alpha \beta }-g_{\beta \rho }c^{\rho }{}_{\alpha \gamma
}+T_{\beta \alpha \gamma }%
\end{array}%
\]%
and get the final expression for the connection coefficients in terms of the
metric and torsion tensors.%
\[
\begin{array}{c}
\Gamma ^{\alpha }{}_{\beta \gamma }=\frac{1}{2}g^{\alpha \sigma }\left(
e_{\gamma }g_{\sigma \beta }-g_{\beta \rho }c^{\rho }{}_{\sigma \gamma
}+T_{\beta \sigma \gamma }\right. \\
\left. +e_{\beta }g_{\gamma \sigma }-g_{\sigma \rho }c^{\rho }{}_{\gamma
\beta }+T_{\sigma \gamma \beta }-e_{\sigma }g_{\beta \gamma }+g_{\gamma \rho
}c^{\rho }{}_{\beta \sigma }-T_{\gamma \beta \sigma }\right)%
\end{array}%
\]%
In the case of a holonomic frame and zero torsion, this expression reduces
to just a combination of derivatives of the metric tensor components.%
\[
\Gamma ^{\alpha }{}_{\beta \gamma }=\frac{1}{2}g^{\alpha \sigma }\left(
e_{\gamma }g_{\sigma \beta }+e_{\beta }g_{\gamma \sigma }-e_{\sigma
}g_{\beta \gamma }\right)
\]
\subsection{Curvature-Metricity Identity}
Let the curvature operator act on the metric tensor%
\[
\left\{ \left[ D_{u},D_{v}\right] +D_{T\left( u,v\right) }\right\} g\left(
a,b\right) =-g\left( \mathcal{R}\left( u,v\right) a,b\right) -g\left( a,%
\mathcal{R}\left( u,v\right) b\right)
\]%
or%
\[
D_{u}D_{v}g\left( a,b\right) -D_{v}D_{u}g\left( a,b\right) +D_{T\left(
u,v\right) }g\left( a,b\right) =-g\left( \mathcal{R}\left( u,v\right)
a,b\right) -g\left( \mathcal{R}\left( u,v\right) b,a\right)
\]%
which, from the definition of metricity yields%
\[
D_{u}Q\left( a,b,v\right) -D_{v}Q\left( a,b,u\right) +Q\left( a,b,T\left(
u,v\right) \right) =-g\left( \mathcal{R}\left( u,v\right) a,b\right)
-g\left( \mathcal{R}\left( u,v\right) b,a\right)
\]%
or, in terms of indexes,%
\[
Q_{\alpha \beta \nu ;\mu }-Q_{\alpha \beta \mu ;\nu }+Q_{\alpha \beta \delta
}T^{\delta }{}_{\mu \nu }=-R_{\beta \alpha \mu \nu }-R_{\alpha \beta \mu \nu
}
\]%
which connects the metricity to the curvature tensor. When the metricity is
zero, this identity becomes an additional index symmetry of the curvature
tensor%
\[
R_{\beta \alpha \mu \nu }=-R_{\alpha \beta \mu \nu }
\]
\subsection{Index Symmetries of the Curvature Tensor}
From its definition, the curvature tensor obeys%
\[
R_{\alpha \beta \nu \mu }=-R_{\alpha \beta \mu \nu }.
\]%
In the most general case, this is the only symmetry which the tensor has.
Count its components in a four dimensional space: Array its independent
components in rows according to the last two indexes and columns according
to the first two. That makes six independent rows and sixteen independent
columns for a total of 96 independent components.
In the most common case, the connection is metric compatible, which, from
the curvature-metricity identity, guarantees antisymmetry in the first two
indexes. The array now has just six columns and six rows and the curvature
has 36 independent components.
If, in addition to being metric compatible, the connection is torsion-free,
then the torsion Bianchi identities put additional constraints on the
curvature components:
\[
R^{\sigma }{}_{\alpha \beta \gamma }+R^{\sigma }{}_{\gamma \alpha \beta
}+R^{\sigma }{}_{\beta \gamma \alpha }=0
\]%
These additional 16 equations reduce the number of components to just 20.
Lower an index in the torsion Bianchi identities and start manipulating
them, along with the antisymmetries in the first two and second two indexes:
\begin{equation}
R_{\sigma \alpha \beta \gamma }+R_{\sigma \gamma \alpha \beta }+R_{\sigma
\beta \gamma \alpha }=0 \label{tbi}
\end{equation}%
symmetrize on $\alpha ,\sigma $ to so that the first term vanishes and the
remaing two yield%
\[
R_{\sigma \gamma \alpha \beta }+R_{\alpha \gamma \sigma \beta }+R_{\sigma
\beta \gamma \alpha }+R_{\alpha \beta \gamma \sigma }=0
\]%
or, re-grouping the first term with the last and the second with the third,%
\[
\left( R_{\sigma \gamma \alpha \beta }+R_{\alpha \beta \gamma \sigma
}\right) +\left( R_{\alpha \gamma \sigma \beta }+R_{\sigma \beta \gamma
\alpha }\right) =0
\]%
and using the antisymmetry of the first and second pairs of curvature
indexes
\begin{equation}
\left( R_{\alpha \beta \gamma \sigma }-R_{\gamma \sigma \alpha \beta
}\right) +\left( R_{\sigma \beta \gamma \alpha }-R_{\gamma \alpha \sigma
\beta }\right) =0 \label{alpha.index.sym}
\end{equation}%
Now symmetrize equation(\ref{tbi}) on $\beta ,\sigma $ so that the last term
vanishes%
\[
R_{\sigma \alpha \beta \gamma }+R_{\beta \alpha \sigma \gamma }+R_{\sigma
\gamma \alpha \beta }+R_{\beta \gamma \alpha \sigma }=0
\]%
or
\begin{equation}
\left( R_{\sigma \alpha \beta \gamma }-R_{\beta \gamma \sigma \alpha
}\right) +\left( R_{\beta \alpha \sigma \gamma }-R_{\sigma \gamma \beta
\alpha }\right) =0 \label{beta.index.sym}
\end{equation}%
Then symmetrize equation (\ref{tbi}) on $\gamma ,\sigma $ so that the middle
term vanishes%
\[
R_{\sigma \alpha \beta \gamma }+R_{\gamma \alpha \beta \sigma }+R_{\sigma
\beta \gamma \alpha }+R_{\gamma \beta \sigma \alpha }=0
\]%
or
\begin{equation}
\left( R_{\sigma \alpha \beta \gamma }-R_{\beta \gamma \sigma \alpha
}\right) +\left( R_{\gamma \alpha \beta \sigma }-R_{\beta \sigma \gamma
\alpha }\right) =0 \label{gamma.index.sym}
\end{equation}%
The three equations (\ref{alpha.index.sym},\ref{beta.index.sym},\ref%
{gamma.index.sym}) have the form%
\[
\begin{array}{c}
z+x=0 \\
y+z=0 \\
x+y=0%
\end{array}%
\]%
where $x,y,z$ are the tensor combinations in parentheses. The solution to
this system is easily seen to be $x=y=z=0$ so that we obtain the index
symmetry%
\[
R_{\alpha \beta \gamma \delta }=R_{\gamma \delta \alpha \beta }.
\]
Notice that this last index symmetry is derived from the torsion Bianchi
identities for zero torsion. It does not contain quite all of the
information which is in those identities, however. One way to see this is to
count the independent components of the Riemann tensor again, using this
index symmetry. Think of the array of components as having rows and columns
labeled by antisymmetrized index pairs. That makes it a six by six array.
The last index symmetry makes that array symmetric which means that it has $%
\frac{6\times 7}{2}$ independent components --- 21. Since we know from
counting the torsion Bianchi identities that there are only 20 independent
components, there is evidently one constraint that is not captured by any of
the index symmetries.
To see what the remaining constraint is, notice that we symmetrized various
indexes with the one fixed index in the torsion identity. That procedure
would miss whatever constraint is gotten by antisymmetrizing those indexes.
Since the torsion bianchi identities are already antisymmetric in three
indexes and have the form%
\[
R_{\rho \lbrack \alpha \beta \gamma ]}=0
\]%
the only possible result of antisymmetrizing the remaining fixed index $\rho
$ with any other index is the totally antisymmetrized expression%
\[
R_{[\alpha \rho \beta \gamma ]}=0.
\]%
The one component of the curvature tensor that is permitted by the index
symmetries but forbidden by this remaining constraint is%
\[
R_{\alpha \rho \beta \gamma }=\phi \varepsilon _{\alpha \rho \beta \gamma }
\]%
where $\phi $ is an arbitrary function and $\varepsilon _{\alpha \rho \beta
\gamma }$ is the totally antisymmetric Levi-civita symbol. The missing
constraint is that this totally antisymmetric component of the Riemann
tensor must be zero.%
\[
\varepsilon ^{\alpha \rho \beta \gamma }R_{\alpha \rho \beta \gamma }=0.
\]
\end{document}
%%%%%%%%%%%%%%%%%%%%%%%% End /document/rev.tex %%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%% Start /macros/LaTeX/base/article.cls %%%%%%%%%%%%%%%%
%%
%% This is file `article.cls',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% classes.dtx (with options: `article')
%%
%% This is a generated file.
%%
%% Copyright 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004
%% The LaTeX3 Project and any individual authors listed elsewhere
%% in this file.
%%
%% This file was generated from file(s) of the LaTeX base system.
%% --------------------------------------------------------------
%%
%% It may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% http://www.latex-project.org/lppl.txt
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2003/12/01 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
%% This file may only be distributed together with a copy of the LaTeX
%% base system. You may however distribute the LaTeX base system without
%% such generated files.
%%
%% The list of all files belonging to the LaTeX base distribution is
%% given in the file `manifest.txt'. See also `legal.txt' for additional
%% information.
%%
%% The list of derived (unpacked) files belonging to the distribution
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
%% \CharacterTable
%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%% Digits \0\1\2\3\4\5\6\7\8\9
%% Exclamation \! Double quote \" Hash (number) \#
%% Dollar \$ Percent \% Ampersand \&
%% Acute accent \' Left paren \( Right paren \)
%% Asterisk \* Plus \+ Comma \,
%% Minus \- Point \. Solidus \/
%% Colon \: Semicolon \; Less than \<
%% Equals \= Greater than \> Question mark \?
%% Commercial at \@ Left bracket \[ Backslash \\
%% Right bracket \] Circumflex \^ Underscore \_
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesClass{article}
[2004/02/16 v1.4f
Standard LaTeX document class]
\newcommand\@ptsize{}
\newif\if@restonecol
\newif\if@titlepage
\@titlepagefalse
\if@compatibility\else
\DeclareOption{a4paper}
{\setlength\paperheight {297mm}%
\setlength\paperwidth {210mm}}
\DeclareOption{a5paper}
{\setlength\paperheight {210mm}%
\setlength\paperwidth {148mm}}
\DeclareOption{b5paper}
{\setlength\paperheight {250mm}%
\setlength\paperwidth {176mm}}
\DeclareOption{letterpaper}
{\setlength\paperheight {11in}%
\setlength\paperwidth {8.5in}}
\DeclareOption{legalpaper}
{\setlength\paperheight {14in}%
\setlength\paperwidth {8.5in}}
\DeclareOption{executivepaper}
{\setlength\paperheight {10.5in}%
\setlength\paperwidth {7.25in}}
\DeclareOption{landscape}
{\setlength\@tempdima {\paperheight}%
\setlength\paperheight {\paperwidth}%
\setlength\paperwidth {\@tempdima}}
\fi
\if@compatibility
\renewcommand\@ptsize{0}
\else
\DeclareOption{10pt}{\renewcommand\@ptsize{0}}
\fi
\DeclareOption{11pt}{\renewcommand\@ptsize{1}}
\DeclareOption{12pt}{\renewcommand\@ptsize{2}}
\if@compatibility\else
\DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse}
\fi
\DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue}
\DeclareOption{draft}{\setlength\overfullrule{5pt}}
\if@compatibility\else
\DeclareOption{final}{\setlength\overfullrule{0pt}}
\fi
\DeclareOption{titlepage}{\@titlepagetrue}
\if@compatibility\else
\DeclareOption{notitlepage}{\@titlepagefalse}
\fi
\if@compatibility\else
\DeclareOption{onecolumn}{\@twocolumnfalse}
\fi
\DeclareOption{twocolumn}{\@twocolumntrue}
\DeclareOption{leqno}{\input{leqno.clo}}
\DeclareOption{fleqn}{\input{fleqn.clo}}
\DeclareOption{openbib}{%
\AtEndOfPackage{%
\renewcommand\@openbib@code{%
\advance\leftmargin\bibindent
\itemindent -\bibindent
\listparindent \itemindent
\parsep \z@
}%
\renewcommand\newblock{\par}}%
}
\ExecuteOptions{letterpaper,10pt,oneside,onecolumn,final}
\ProcessOptions
\input{size1\@ptsize.clo}
\setlength\lineskip{1\p@}
\setlength\normallineskip{1\p@}
\renewcommand\baselinestretch{}
\setlength\parskip{0\p@ \@plus \p@}
\@lowpenalty 51
\@medpenalty 151
\@highpenalty 301
\setcounter{topnumber}{2}
\renewcommand\topfraction{.7}
\setcounter{bottomnumber}{1}
\renewcommand\bottomfraction{.3}
\setcounter{totalnumber}{3}
\renewcommand\textfraction{.2}
\renewcommand\floatpagefraction{.5}
\setcounter{dbltopnumber}{2}
\renewcommand\dbltopfraction{.7}
\renewcommand\dblfloatpagefraction{.5}
\if@twoside
\def\ps@headings{%
\let\@oddfoot\@empty\let\@evenfoot\@empty
\def\@evenhead{\thepage\hfil\slshape\leftmark}%
\def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
\let\@mkboth\markboth
\def\sectionmark##1{%
\markboth {\MakeUppercase{%
\ifnum \c@secnumdepth >\z@
\thesection\quad
\fi
##1}}{}}%
\def\subsectionmark##1{%
\markright {%
\ifnum \c@secnumdepth >\@ne
\thesubsection\quad
\fi
##1}}}
\else
\def\ps@headings{%
\let\@oddfoot\@empty
\def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
\let\@mkboth\markboth
\def\sectionmark##1{%
\markright {\MakeUppercase{%
\ifnum \c@secnumdepth >\m@ne
\thesection\quad
\fi
##1}}}}
\fi
\def\ps@myheadings{%
\let\@oddfoot\@empty\let\@evenfoot\@empty
\def\@evenhead{\thepage\hfil\slshape\leftmark}%
\def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
\let\@mkboth\@gobbletwo
\let\sectionmark\@gobble
\let\subsectionmark\@gobble
}
\if@titlepage
\newcommand\maketitle{\begin{titlepage}%
\let\footnotesize\small
\let\footnoterule\relax
\let \footnote \thanks
\null\vfil
\vskip 60\p@
\begin{center}%
{\LARGE \@title \par}%
\vskip 3em%
{\large
\lineskip .75em%
\begin{tabular}[t]{c}%
\@author
\end{tabular}\par}%
\vskip 1.5em%
{\large \@date \par}% % Set date in \large size.
\end{center}\par
\@thanks
\vfil\null
\end{titlepage}%
\setcounter{footnote}{0}%
\global\let\thanks\relax
\global\let\maketitle\relax
\global\let\@thanks\@empty
\global\let\@author\@empty
\global\let\@date\@empty
\global\let\@title\@empty
\global\let\title\relax
\global\let\author\relax
\global\let\date\relax
\global\let\and\relax
}
\else
\newcommand\maketitle{\par
\begingroup
\renewcommand\thefootnote{\@fnsymbol\c@footnote}%
\def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}%
\long\def\@makefntext##1{\parindent 1em\noindent
\hb@xt@1.8em{%
\hss\@textsuperscript{\normalfont\@thefnmark}}##1}%
\if@twocolumn
\ifnum \col@number=\@ne
\@maketitle
\else
\twocolumn[\@maketitle]%
\fi
\else
\newpage
\global\@topnum\z@ % Prevents figures from going at top of page.
\@maketitle
\fi
\thispagestyle{plain}\@thanks
\endgroup
\setcounter{footnote}{0}%
\global\let\thanks\relax
\global\let\maketitle\relax
\global\let\@maketitle\relax
\global\let\@thanks\@empty
\global\let\@author\@empty
\global\let\@date\@empty
\global\let\@title\@empty
\global\let\title\relax
\global\let\author\relax
\global\let\date\relax
\global\let\and\relax
}
\def\@maketitle{%
\newpage
\null
\vskip 2em%
\begin{center}%
\let \footnote \thanks
{\LARGE \@title \par}%
\vskip 1.5em%
{\large
\lineskip .5em%
\begin{tabular}[t]{c}%
\@author
\end{tabular}\par}%
\vskip 1em%
{\large \@date}%
\end{center}%
\par
\vskip 1.5em}
\fi
\setcounter{secnumdepth}{3}
\newcounter {part}
\newcounter {section}
\newcounter {subsection}[section]
\newcounter {subsubsection}[subsection]
\newcounter {paragraph}[subsubsection]
\newcounter {subparagraph}[paragraph]
\renewcommand \thepart {\@Roman\c@part}
\renewcommand \thesection {\@arabic\c@section}
\renewcommand\thesubsection {\thesection.\@arabic\c@subsection}
\renewcommand\thesubsubsection{\thesubsection .\@arabic\c@subsubsection}
\renewcommand\theparagraph {\thesubsubsection.\@arabic\c@paragraph}
\renewcommand\thesubparagraph {\theparagraph.\@arabic\c@subparagraph}
\newcommand\part{%
\if@noskipsec \leavevmode \fi
\par
\addvspace{4ex}%
\@afterindentfalse
\secdef\@part\@spart}
\def\@part[#1]#2{%
\ifnum \c@secnumdepth >\m@ne
\refstepcounter{part}%
\addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
\else
\addcontentsline{toc}{part}{#1}%
\fi
{\parindent \z@ \raggedright
\interlinepenalty \@M
\normalfont
\ifnum \c@secnumdepth >\m@ne
\Large\bfseries \partname\nobreakspace\thepart
\par\nobreak
\fi
\huge \bfseries #2%
\markboth{}{}\par}%
\nobreak
\vskip 3ex
\@afterheading}
\def\@spart#1{%
{\parindent \z@ \raggedright
\interlinepenalty \@M
\normalfont
\huge \bfseries #1\par}%
\nobreak
\vskip 3ex
\@afterheading}
\newcommand\section{\@startsection {section}{1}{\z@}%
{-3.5ex \@plus -1ex \@minus -.2ex}%
{2.3ex \@plus.2ex}%
{\normalfont\Large\bfseries}}
\newcommand\subsection{\@startsection{subsection}{2}{\z@}%
{-3.25ex\@plus -1ex \@minus -.2ex}%
{1.5ex \@plus .2ex}%
{\normalfont\large\bfseries}}
\newcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
{-3.25ex\@plus -1ex \@minus -.2ex}%
{1.5ex \@plus .2ex}%
{\normalfont\normalsize\bfseries}}
\newcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
{3.25ex \@plus1ex \@minus.2ex}%
{-1em}%
{\normalfont\normalsize\bfseries}}
\newcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}%
{3.25ex \@plus1ex \@minus .2ex}%
{-1em}%
{\normalfont\normalsize\bfseries}}
\if@twocolumn
\setlength\leftmargini {2em}
\else
\setlength\leftmargini {2.5em}
\fi
\leftmargin \leftmargini
\setlength\leftmarginii {2.2em}
\setlength\leftmarginiii {1.87em}
\setlength\leftmarginiv {1.7em}
\if@twocolumn
\setlength\leftmarginv {.5em}
\setlength\leftmarginvi {.5em}
\else
\setlength\leftmarginv {1em}
\setlength\leftmarginvi {1em}
\fi
\setlength \labelsep {.5em}
\setlength \labelwidth{\leftmargini}
\addtolength\labelwidth{-\labelsep}
\@beginparpenalty -\@lowpenalty
\@endparpenalty -\@lowpenalty
\@itempenalty -\@lowpenalty
\renewcommand\theenumi{\@arabic\c@enumi}
\renewcommand\theenumii{\@alph\c@enumii}
\renewcommand\theenumiii{\@roman\c@enumiii}
\renewcommand\theenumiv{\@Alph\c@enumiv}
\newcommand\labelenumi{\theenumi.}
\newcommand\labelenumii{(\theenumii)}
\newcommand\labelenumiii{\theenumiii.}
\newcommand\labelenumiv{\theenumiv.}
\renewcommand\p@enumii{\theenumi}
\renewcommand\p@enumiii{\theenumi(\theenumii)}
\renewcommand\p@enumiv{\p@enumiii\theenumiii}
\newcommand\labelitemi{\textbullet}
\newcommand\labelitemii{\normalfont\bfseries \textendash}
\newcommand\labelitemiii{\textasteriskcentered}
\newcommand\labelitemiv{\textperiodcentered}
\newenvironment{description}
{\list{}{\labelwidth\z@ \itemindent-\leftmargin
\let\makelabel\descriptionlabel}}
{\endlist}
\newcommand*\descriptionlabel[1]{\hspace\labelsep
\normalfont\bfseries #1}
\if@titlepage
\newenvironment{abstract}{%
\titlepage
\null\vfil
\@beginparpenalty\@lowpenalty
\begin{center}%
\bfseries \abstractname
\@endparpenalty\@M
\end{center}}%
{\par\vfil\null\endtitlepage}
\else
\newenvironment{abstract}{%
\if@twocolumn
\section*{\abstractname}%
\else
\small
\begin{center}%
{\bfseries \abstractname\vspace{-.5em}\vspace{\z@}}%
\end{center}%
\quotation
\fi}
{\if@twocolumn\else\endquotation\fi}
\fi
\newenvironment{verse}
{\let\\\@centercr
\list{}{\itemsep \z@
\itemindent -1.5em%
\listparindent\itemindent
\rightmargin \leftmargin
\advance\leftmargin 1.5em}%
\item\relax}
{\endlist}
\newenvironment{quotation}
{\list{}{\listparindent 1.5em%
\itemindent \listparindent
\rightmargin \leftmargin
\parsep \z@ \@plus\p@}%
\item\relax}
{\endlist}
\newenvironment{quote}
{\list{}{\rightmargin\leftmargin}%
\item\relax}
{\endlist}
\if@compatibility
\newenvironment{titlepage}
{%
\if@twocolumn
\@restonecoltrue\onecolumn
\else
\@restonecolfalse\newpage
\fi
\thispagestyle{empty}%
\setcounter{page}\z@
}%
{\if@restonecol\twocolumn \else \newpage \fi
}
\else
\newenvironment{titlepage}
{%
\if@twocolumn
\@restonecoltrue\onecolumn
\else
\@restonecolfalse\newpage
\fi
\thispagestyle{empty}%
\setcounter{page}\@ne
}%
{\if@restonecol\twocolumn \else \newpage \fi
\if@twoside\else
\setcounter{page}\@ne
\fi
}
\fi
\newcommand\appendix{\par
\setcounter{section}{0}%
\setcounter{subsection}{0}%
\gdef\thesection{\@Alph\c@section}}
\setlength\arraycolsep{5\p@}
\setlength\tabcolsep{6\p@}
\setlength\arrayrulewidth{.4\p@}
\setlength\doublerulesep{2\p@}
\setlength\tabbingsep{\labelsep}
\skip\@mpfootins = \skip\footins
\setlength\fboxsep{3\p@}
\setlength\fboxrule{.4\p@}
\renewcommand \theequation {\@arabic\c@equation}
\newcounter{figure}
\renewcommand \thefigure {\@arabic\c@figure}
\def\fps@figure{tbp}
\def\ftype@figure{1}
\def\ext@figure{lof}
\def\fnum@figure{\figurename\nobreakspace\thefigure}
\newenvironment{figure}
{\@float{figure}}
{\end@float}
\newenvironment{figure*}
{\@dblfloat{figure}}
{\end@dblfloat}
\newcounter{table}
\renewcommand\thetable{\@arabic\c@table}
\def\fps@table{tbp}
\def\ftype@table{2}
\def\ext@table{lot}
\def\fnum@table{\tablename\nobreakspace\thetable}
\newenvironment{table}
{\@float{table}}
{\end@float}
\newenvironment{table*}
{\@dblfloat{table}}
{\end@dblfloat}
\newlength\abovecaptionskip
\newlength\belowcaptionskip
\setlength\abovecaptionskip{10\p@}
\setlength\belowcaptionskip{0\p@}
\long\def\@makecaption#1#2{%
\vskip\abovecaptionskip
\sbox\@tempboxa{#1: #2}%
\ifdim \wd\@tempboxa >\hsize
#1: #2\par
\else
\global \@minipagefalse
\hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
\fi
\vskip\belowcaptionskip}
\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
\DeclareRobustCommand*\cal{\@fontswitch\relax\mathcal}
\DeclareRobustCommand*\mit{\@fontswitch\relax\mathnormal}
\newcommand\@pnumwidth{1.55em}
\newcommand\@tocrmarg{2.55em}
\newcommand\@dotsep{4.5}
\setcounter{tocdepth}{3}
\newcommand\tableofcontents{%
\section*{\contentsname
\@mkboth{%
\MakeUppercase\contentsname}{\MakeUppercase\contentsname}}%
\@starttoc{toc}%
}
\newcommand*\l@part[2]{%
\ifnum \c@tocdepth >-2\relax
\addpenalty\@secpenalty
\addvspace{2.25em \@plus\p@}%
\setlength\@tempdima{3em}%
\begingroup
\parindent \z@ \rightskip \@pnumwidth
\parfillskip -\@pnumwidth
{\leavevmode
\large \bfseries #1\hfil \hb@xt@\@pnumwidth{\hss #2}}\par
\nobreak
\if@compatibility
\global\@nobreaktrue
\everypar{\global\@nobreakfalse\everypar{}}%
\fi
\endgroup
\fi}
\newcommand*\l@section[2]{%
\ifnum \c@tocdepth >\z@
\addpenalty\@secpenalty
\addvspace{1.0em \@plus\p@}%
\setlength\@tempdima{1.5em}%
\begingroup
\parindent \z@ \rightskip \@pnumwidth
\parfillskip -\@pnumwidth
\leavevmode \bfseries
\advance\leftskip\@tempdima
\hskip -\leftskip
#1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
\endgroup
\fi}
\newcommand*\l@subsection{\@dottedtocline{2}{1.5em}{2.3em}}
\newcommand*\l@subsubsection{\@dottedtocline{3}{3.8em}{3.2em}}
\newcommand*\l@paragraph{\@dottedtocline{4}{7.0em}{4.1em}}
\newcommand*\l@subparagraph{\@dottedtocline{5}{10em}{5em}}
\newcommand\listoffigures{%
\section*{\listfigurename}%
\@mkboth{\MakeUppercase\listfigurename}%
{\MakeUppercase\listfigurename}%
\@starttoc{lof}%
}
\newcommand*\l@figure{\@dottedtocline{1}{1.5em}{2.3em}}
\newcommand\listoftables{%
\section*{\listtablename}%
\@mkboth{%
\MakeUppercase\listtablename}%
{\MakeUppercase\listtablename}%
\@starttoc{lot}%
}
\let\l@table\l@figure
\newdimen\bibindent
\setlength\bibindent{1.5em}
\newenvironment{thebibliography}[1]
{\section*{\refname}%
\@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}%
\list{\@biblabel{\@arabic\c@enumiv}}%
{\settowidth\labelwidth{\@biblabel{#1}}%
\leftmargin\labelwidth
\advance\leftmargin\labelsep
\@openbib@code
\usecounter{enumiv}%
\let\p@enumiv\@empty
\renewcommand\theenumiv{\@arabic\c@enumiv}}%
\sloppy
\clubpenalty4000
\@clubpenalty \clubpenalty
\widowpenalty4000%
\sfcode`\.\@m}
{\def\@noitemerr
{\@latex@warning{Empty `thebibliography' environment}}%
\endlist}
\newcommand\newblock{\hskip .11em\@plus.33em\@minus.07em}
\let\@openbib@code\@empty
\newenvironment{theindex}
{\if@twocolumn
\@restonecolfalse
\else
\@restonecoltrue
\fi
\twocolumn[\section*{\indexname}]%
\@mkboth{\MakeUppercase\indexname}%
{\MakeUppercase\indexname}%
\thispagestyle{plain}\parindent\z@
\parskip\z@ \@plus .3\p@\relax
\columnseprule \z@
\columnsep 35\p@
\let\item\@idxitem}
{\if@restonecol\onecolumn\else\clearpage\fi}
\newcommand\@idxitem{\par\hangindent 40\p@}
\newcommand\subitem{\@idxitem \hspace*{20\p@}}
\newcommand\subsubitem{\@idxitem \hspace*{30\p@}}
\newcommand\indexspace{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax}
\renewcommand\footnoterule{%
\kern-3\p@
\hrule\@width.4\columnwidth
\kern2.6\p@}
\newcommand\@makefntext[1]{%
\parindent 1em%
\noindent
\hb@xt@1.8em{\hss\@makefnmark}#1}
\newcommand\contentsname{Contents}
\newcommand\listfigurename{List of Figures}
\newcommand\listtablename{List of Tables}
\newcommand\refname{References}
\newcommand\indexname{Index}
\newcommand\figurename{Figure}
\newcommand\tablename{Table}
\newcommand\partname{Part}
\newcommand\appendixname{Appendix}
\newcommand\abstractname{Abstract}
\def\today{\ifcase\month\or
January\or February\or March\or April\or May\or June\or
July\or August\or September\or October\or November\or December\fi
\space\number\day, \number\year}
\setlength\columnsep{10\p@}
\setlength\columnseprule{0\p@}
\pagestyle{plain}
\pagenumbering{arabic}
\if@twoside
\else
\raggedbottom
\fi
\if@twocolumn
\twocolumn
\sloppy
\flushbottom
\else
\onecolumn
\fi
\endinput
%%
%% End of file `article.cls'.
%%%%%%%%%%%%%%%%%% End /macros/LaTeX/base/article.cls %%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%% Start /macros/LaTeX/SWmacros/tcilatex.tex %%%%%%%%%%%%%%
% Macros for Scientific Word 4.0 documents saved with the LaTeX filter.
% Copyright (C) 2002 Mackichan Software, Inc.
\typeout{TCILATEX Macros for Scientific Word 5.0 <13 Feb 2003>.}
\typeout{NOTICE: This macro file is NOT proprietary and may be
freely copied and distributed.}
%
\makeatletter
%%%%%%%%%%%%%%%%%%%%%
% pdfTeX related.
\ifx\pdfoutput\relax\let\pdfoutput=\undefined\fi
\newcount\msipdfoutput
\ifx\pdfoutput\undefined
\else
\ifcase\pdfoutput
\else
\msipdfoutput=1
\ifx\paperwidth\undefined
\else
\ifdim\paperheight=0pt\relax
\else
\pdfpageheight\paperheight
\fi
\ifdim\paperwidth=0pt\relax
\else
\pdfpagewidth\paperwidth
\fi
\fi
\fi
\fi
%%%%%%%%%%%%%%%%%%%%%
% FMTeXButton
% This is used for putting TeXButtons in the
% frontmatter of a document. Add a line like
% \QTagDef{FMTeXButton}{101}{} to the filter
% section of the cst being used. Also add a
% new section containing:
% [f_101]
% ALIAS=FMTexButton
% TAG_TYPE=FIELD
% TAG_LEADIN=TeX Button:
%
% It also works to put \defs in the preamble after
% the \input tcilatex
\def\FMTeXButton#1{#1}
%
%%%%%%%%%%%%%%%%%%%%%%
% macros for time
\newcount\@hour\newcount\@minute\chardef\@x10\chardef\@xv60
\def\tcitime{
\def\@time{%
\@minute\time\@hour\@minute\divide\@hour\@xv
\ifnum\@hour<\@x 0\fi\the\@hour:%
\multiply\@hour\@xv\advance\@minute-\@hour
\ifnum\@minute<\@x 0\fi\the\@minute
}}%
%%%%%%%%%%%%%%%%%%%%%%
% macro for hyperref and msihyperref
%\@ifundefined{hyperref}{\def\hyperref#1#2#3#4{#2\ref{#4}#3}}{}
\def\x@hyperref#1#2#3{%
% Turn off various catcodes before reading parameter 4
\catcode`\~ = 12
\catcode`\$ = 12
\catcode`\_ = 12
\catcode`\# = 12
\catcode`\& = 12
\y@hyperref{#1}{#2}{#3}%
}
\def\y@hyperref#1#2#3#4{%
#2\ref{#4}#3
\catcode`\~ = 13
\catcode`\$ = 3
\catcode`\_ = 8
\catcode`\# = 6
\catcode`\& = 4
}
\@ifundefined{hyperref}{\let\hyperref\x@hyperref}{}
\@ifundefined{msihyperref}{\let\msihyperref\x@hyperref}{}
% macro for external program call
\@ifundefined{qExtProgCall}{\def\qExtProgCall#1#2#3#4#5#6{\relax}}{}
%%%%%%%%%%%%%%%%%%%%%%
%
% macros for graphics
%
\def\FILENAME#1{#1}%
%
\def\QCTOpt[#1]#2{%
\def\QCTOptB{#1}
\def\QCTOptA{#2}
}
\def\QCTNOpt#1{%
\def\QCTOptA{#1}
\let\QCTOptB\empty
}
\def\Qct{%
\@ifnextchar[{%
\QCTOpt}{\QCTNOpt}
}
\def\QCBOpt[#1]#2{%
\def\QCBOptB{#1}%
\def\QCBOptA{#2}%
}
\def\QCBNOpt#1{%
\def\QCBOptA{#1}%
\let\QCBOptB\empty
}
\def\Qcb{%
\@ifnextchar[{%
\QCBOpt}{\QCBNOpt}%
}
\def\PrepCapArgs{%
\ifx\QCBOptA\empty
\ifx\QCTOptA\empty
{}%
\else
\ifx\QCTOptB\empty
{\QCTOptA}%
\else
[\QCTOptB]{\QCTOptA}%
\fi
\fi
\else
\ifx\QCBOptA\empty
{}%
\else
\ifx\QCBOptB\empty
{\QCBOptA}%
\else
[\QCBOptB]{\QCBOptA}%
\fi
\fi
\fi
}
\newcount\GRAPHICSTYPE
%\GRAPHICSTYPE 0 is for TurboTeX
%\GRAPHICSTYPE 1 is for DVIWindo (PostScript)
%%%(removed)%\GRAPHICSTYPE 2 is for psfig (PostScript)
\GRAPHICSTYPE=\z@
\def\GRAPHICSPS#1{%
\ifcase\GRAPHICSTYPE%\GRAPHICSTYPE=0
\special{ps: #1}%
\or%\GRAPHICSTYPE=1
\special{language "PS", include "#1"}%
%%%\or%\GRAPHICSTYPE=2
%%% #1%
\fi
}%
%
\def\GRAPHICSHP#1{\special{include #1}}%
%
% \graffile{ body } %#1
% { contentswidth (scalar) } %#2
% { contentsheight (scalar) } %#3
% { vertical shift when in-line (scalar) } %#4
\def\graffile#1#2#3#4{%
%%% \ifnum\GRAPHICSTYPE=\tw@
%%% %Following if using psfig
%%% \@ifundefined{psfig}{\input psfig.tex}{}%
%%% \psfig{file=#1, height=#3, width=#2}%
%%% \else
%Following for all others
% JCS - added BOXTHEFRAME, see below
\bgroup
\@inlabelfalse
\leavevmode
\@ifundefined{bbl@deactivate}{\def~{\string~}}{\activesoff}%
\raise -#4 \BOXTHEFRAME{%
\hbox to #2{\raise #3\hbox to #2{\null #1\hfil}}}%
\egroup
}%
%
% A box for drafts
\def\draftbox#1#2#3#4{%
\leavevmode\raise -#4 \hbox{%
\frame{\rlap{\protect\tiny #1}\hbox to #2%
{\vrule height#3 width\z@ depth\z@\hfil}%
}%
}%
}%
%
\newcount\@msidraft
\@msidraft=\z@
\let\nographics=\@msidraft
\newif\ifwasdraft
\wasdraftfalse
% \GRAPHIC{ body } %#1
% { draft name } %#2
% { contentswidth (scalar) } %#3
% { contentsheight (scalar) } %#4
% { vertical shift when in-line (scalar) } %#5
\def\GRAPHIC#1#2#3#4#5{%
\ifnum\@msidraft=\@ne\draftbox{#2}{#3}{#4}{#5}%
\else\graffile{#1}{#3}{#4}{#5}%
\fi
}
%
\def\addtoLaTeXparams#1{%
\edef\LaTeXparams{\LaTeXparams #1}}%
%
% JCS - added a switch BoxFrame that can
% be set by including X in the frame params.
% If set a box is drawn around the frame.
\newif\ifBoxFrame \BoxFramefalse
\newif\ifOverFrame \OverFramefalse
\newif\ifUnderFrame \UnderFramefalse
\def\BOXTHEFRAME#1{%
\hbox{%
\ifBoxFrame
\frame{#1}%
\else
{#1}%
\fi
}%
}
\def\doFRAMEparams#1{\BoxFramefalse\OverFramefalse\UnderFramefalse\readFRAMEparams#1\end}%
\def\readFRAMEparams#1{%
\ifx#1\end%
\let\next=\relax
\else
\ifx#1i\dispkind=\z@\fi
\ifx#1d\dispkind=\@ne\fi
\ifx#1f\dispkind=\tw@\fi
\ifx#1t\addtoLaTeXparams{t}\fi
\ifx#1b\addtoLaTeXparams{b}\fi
\ifx#1p\addtoLaTeXparams{p}\fi
\ifx#1h\addtoLaTeXparams{h}\fi
\ifx#1X\BoxFrametrue\fi
\ifx#1O\OverFrametrue\fi
\ifx#1U\UnderFrametrue\fi
\ifx#1w
\ifnum\@msidraft=1\wasdrafttrue\else\wasdraftfalse\fi
\@msidraft=\@ne
\fi
\let\next=\readFRAMEparams
\fi
\next
}%
%
%Macro for In-line graphics object
% \IFRAME{ contentswidth (scalar) } %#1
% { contentsheight (scalar) } %#2
% { vertical shift when in-line (scalar) } %#3
% { draft name } %#4
% { body } %#5
% { caption} %#6
\def\IFRAME#1#2#3#4#5#6{%
\bgroup
\let\QCTOptA\empty
\let\QCTOptB\empty
\let\QCBOptA\empty
\let\QCBOptB\empty
#6%
\parindent=0pt
\leftskip=0pt
\rightskip=0pt
\setbox0=\hbox{\QCBOptA}%
\@tempdima=#1\relax
\ifOverFrame
% Do this later
\typeout{This is not implemented yet}%
\show\HELP
\else
\ifdim\wd0>\@tempdima
\advance\@tempdima by \@tempdima
\ifdim\wd0 >\@tempdima
\setbox1 =\vbox{%
\unskip\hbox to \@tempdima{\hfill\GRAPHIC{#5}{#4}{#1}{#2}{#3}\hfill}%
\unskip\hbox to \@tempdima{\parbox[b]{\@tempdima}{\QCBOptA}}%
}%
\wd1=\@tempdima
\else
\textwidth=\wd0
\setbox1 =\vbox{%
\noindent\hbox to \wd0{\hfill\GRAPHIC{#5}{#4}{#1}{#2}{#3}\hfill}\\%
\noindent\hbox{\QCBOptA}%
}%
\wd1=\wd0
\fi
\else
\ifdim\wd0>0pt
\hsize=\@tempdima
\setbox1=\vbox{%
\unskip\GRAPHIC{#5}{#4}{#1}{#2}{0pt}%
\break
\unskip\hbox to \@tempdima{\hfill \QCBOptA\hfill}%
}%
\wd1=\@tempdima
\else
\hsize=\@tempdima
\setbox1=\vbox{%
\unskip\GRAPHIC{#5}{#4}{#1}{#2}{0pt}%
}%
\wd1=\@tempdima
\fi
\fi
\@tempdimb=\ht1
%\advance\@tempdimb by \dp1
\advance\@tempdimb by -#2
\advance\@tempdimb by #3
\leavevmode
\raise -\@tempdimb \hbox{\box1}%
\fi
\egroup%
}%
%
%Macro for Display graphics object
% \DFRAME{ contentswidth (scalar) } %#1
% { contentsheight (scalar) } %#2
% { draft label } %#3
% { name } %#4
% { caption} %#5
\def\DFRAME#1#2#3#4#5{%
\vspace\topsep
\hfil\break
\bgroup
\leftskip\@flushglue
\rightskip\@flushglue
\parindent\z@
\parfillskip\z@skip
\let\QCTOptA\empty
\let\QCTOptB\empty
\let\QCBOptA\empty
\let\QCBOptB\empty
\vbox\bgroup
\ifOverFrame
#5\QCTOptA\par
\fi
\GRAPHIC{#4}{#3}{#1}{#2}{\z@}%
\ifUnderFrame
\break#5\QCBOptA
\fi
\egroup
\egroup
\vspace\topsep
\break
}%
%
%Macro for Floating graphic object
% \FFRAME{ framedata f|i tbph x F|T } %#1
% { contentswidth (scalar) } %#2
% { contentsheight (scalar) } %#3
% { caption } %#4
% { label } %#5
% { draft name } %#6
% { body } %#7
\def\FFRAME#1#2#3#4#5#6#7{%
%If float.sty loaded and float option is 'h', change to 'H' (gp) 1998/09/05
\@ifundefined{floatstyle}
{%floatstyle undefined (and float.sty not present), no change
\begin{figure}[#1]%
}
{%floatstyle DEFINED
\ifx#1h%Only the h parameter, change to H
\begin{figure}[H]%
\else
\begin{figure}[#1]%
\fi
}
\let\QCTOptA\empty
\let\QCTOptB\empty
\let\QCBOptA\empty
\let\QCBOptB\empty
\ifOverFrame
#4
\ifx\QCTOptA\empty
\else
\ifx\QCTOptB\empty
\caption{\QCTOptA}%
\else
\caption[\QCTOptB]{\QCTOptA}%
\fi
\fi
\ifUnderFrame\else
\label{#5}%
\fi
\else
\UnderFrametrue%
\fi
\begin{center}\GRAPHIC{#7}{#6}{#2}{#3}{\z@}\end{center}%
\ifUnderFrame
#4
\ifx\QCBOptA\empty
\caption{}%
\else
\ifx\QCBOptB\empty
\caption{\QCBOptA}%
\else
\caption[\QCBOptB]{\QCBOptA}%
\fi
\fi
\label{#5}%
\fi
\end{figure}%
}%
%
%
% \FRAME{ framedata f|i tbph x F|T } %#1
% { contentswidth (scalar) } %#2
% { contentsheight (scalar) } %#3
% { vertical shift when in-line (scalar) } %#4
% { caption } %#5
% { label } %#6
% { name } %#7
% { body } %#8
%
% framedata is a string which can contain the following
% characters: idftbphxFT
% Their meaning is as follows:
% i, d or f : in-line, display, or floating
% t,b,p,h : LaTeX floating placement options
% x : fit contents box to contents
% F or T : Figure or Table.
% Later this can expand
% to a more general float class.
%
%
\newcount\dispkind%
\def\makeactives{
\catcode`\"=\active
\catcode`\;=\active
\catcode`\:=\active
\catcode`\'=\active
\catcode`\~=\active
}
\bgroup
\makeactives
\gdef\activesoff{%
\def"{\string"}%
\def;{\string;}%
\def:{\string:}%
\def'{\string'}%
\def~{\string~}%
%\bbl@deactivate{"}%
%\bbl@deactivate{;}%
%\bbl@deactivate{:}%
%\bbl@deactivate{'}%
}
\egroup
\def\FRAME#1#2#3#4#5#6#7#8{%
\bgroup
\ifnum\@msidraft=\@ne
\wasdrafttrue
\else
\wasdraftfalse%
\fi
\def\LaTeXparams{}%
\dispkind=\z@
\def\LaTeXparams{}%
\doFRAMEparams{#1}%
\ifnum\dispkind=\z@\IFRAME{#2}{#3}{#4}{#7}{#8}{#5}\else
\ifnum\dispkind=\@ne\DFRAME{#2}{#3}{#7}{#8}{#5}\else
\ifnum\dispkind=\tw@
\edef\@tempa{\noexpand\FFRAME{\LaTeXparams}}%
\@tempa{#2}{#3}{#5}{#6}{#7}{#8}%
\fi
\fi
\fi
\ifwasdraft\@msidraft=1\else\@msidraft=0\fi{}%
\egroup
}%
%
% This macro added to let SW gobble a parameter that
% should not be passed on and expanded.
\def\TEXUX#1{"texux"}
%
% Macros for text attributes:
%
\def\BF#1{{\bf {#1}}}%
\def\NEG#1{\leavevmode\hbox{\rlap{\thinspace/}{$#1$}}}%
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%
% macros for user - defined functions
\def\limfunc#1{\mathop{\rm #1}}%
\def\func#1{\mathop{\rm #1}\nolimits}%
% macro for unit names
\def\unit#1{\mathord{\thinspace\rm #1}}%
%
% miscellaneous
\long\def\QQQ#1#2{%
\long\expandafter\def\csname#1\endcsname{#2}}%
\@ifundefined{QTP}{\def\QTP#1{}}{}
\@ifundefined{QEXCLUDE}{\def\QEXCLUDE#1{}}{}
\@ifundefined{Qlb}{\def\Qlb#1{#1}}{}
\@ifundefined{Qlt}{\def\Qlt#1{#1}}{}
\def\QWE{}%
\long\def\QQA#1#2{}%
\def\QTR#1#2{{\csname#1\endcsname {#2}}}%
\long\def\TeXButton#1#2{#2}%
\long\def\QSubDoc#1#2{#2}%
\def\EXPAND#1[#2]#3{}%
\def\NOEXPAND#1[#2]#3{}%
\def\PROTECTED{}%
\def\LaTeXparent#1{}%
\def\ChildStyles#1{}%
\def\ChildDefaults#1{}%
\def\QTagDef#1#2#3{}%
% Constructs added with Scientific Notebook
\@ifundefined{correctchoice}{\def\correctchoice{\relax}}{}
\@ifundefined{HTML}{\def\HTML#1{\relax}}{}
\@ifundefined{TCIIcon}{\def\TCIIcon#1#2#3#4{\relax}}{}
\if@compatibility
\typeout{Not defining UNICODE U or CustomNote commands for LaTeX 2.09.}
\else
\providecommand{\UNICODE}[2][]{\protect\rule{.1in}{.1in}}
\providecommand{\U}[1]{\protect\rule{.1in}{.1in}}
\providecommand{\CustomNote}[3][]{\marginpar{#3}}
\fi
\@ifundefined{lambdabar}{
\def\lambdabar{\errmessage{You have used the lambdabar symbol.
This is available for typesetting only in RevTeX styles.}}
}{}
%
% Macros for style editor docs
\@ifundefined{StyleEditBeginDoc}{\def\StyleEditBeginDoc{\relax}}{}
%
% Macros for footnotes
\def\QQfnmark#1{\footnotemark}
\def\QQfntext#1#2{\addtocounter{footnote}{#1}\footnotetext{#2}}
%
% Macros for indexing.
%
\@ifundefined{TCIMAKEINDEX}{}{\makeindex}%
%
% Attempts to avoid problems with other styles
\@ifundefined{abstract}{%
\def\abstract{%
\if@twocolumn
\section*{Abstract (Not appropriate in this style!)}%
\else \small
\begin{center}{\bf Abstract\vspace{-.5em}\vspace{\z@}}\end{center}%
\quotation
\fi
}%
}{%
}%
\@ifundefined{endabstract}{\def\endabstract
{\if@twocolumn\else\endquotation\fi}}{}%
\@ifundefined{maketitle}{\def\maketitle#1{}}{}%
\@ifundefined{affiliation}{\def\affiliation#1{}}{}%
\@ifundefined{proof}{\def\proof{\noindent{\bfseries Proof. }}}{}%
\@ifundefined{endproof}{\def\endproof{\mbox{\ \rule{.1in}{.1in}}}}{}%
\@ifundefined{newfield}{\def\newfield#1#2{}}{}%
\@ifundefined{chapter}{\def\chapter#1{\par(Chapter head:)#1\par }%
\newcount\c@chapter}{}%
\@ifundefined{part}{\def\part#1{\par(Part head:)#1\par }}{}%
\@ifundefined{section}{\def\section#1{\par(Section head:)#1\par }}{}%
\@ifundefined{subsection}{\def\subsection#1%
{\par(Subsection head:)#1\par }}{}%
\@ifundefined{subsubsection}{\def\subsubsection#1%
{\par(Subsubsection head:)#1\par }}{}%
\@ifundefined{paragraph}{\def\paragraph#1%
{\par(Subsubsubsection head:)#1\par }}{}%
\@ifundefined{subparagraph}{\def\subparagraph#1%
{\par(Subsubsubsubsection head:)#1\par }}{}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% These symbols are not recognized by LaTeX
\@ifundefined{therefore}{\def\therefore{}}{}%
\@ifundefined{backepsilon}{\def\backepsilon{}}{}%
\@ifundefined{yen}{\def\yen{\hbox{\rm\rlap=Y}}}{}%
\@ifundefined{registered}{%
\def\registered{\relax\ifmmode{}\r@gistered
\else$\m@th\r@gistered$\fi}%
\def\r@gistered{^{\ooalign
{\hfil\raise.07ex\hbox{$\scriptstyle\rm\text{R}$}\hfil\crcr
\mathhexbox20D}}}}{}%
\@ifundefined{Eth}{\def\Eth{}}{}%
\@ifundefined{eth}{\def\eth{}}{}%
\@ifundefined{Thorn}{\def\Thorn{}}{}%
\@ifundefined{thorn}{\def\thorn{}}{}%
% A macro to allow any symbol that requires math to appear in text
\def\TEXTsymbol#1{\mbox{$#1$}}%
\@ifundefined{degree}{\def\degree{{}^{\circ}}}{}%
%
% macros for T3TeX files
\newdimen\theight
\@ifundefined{Column}{\def\Column{%
\vadjust{\setbox\z@=\hbox{\scriptsize\quad\quad tcol}%
\theight=\ht\z@\advance\theight by \dp\z@\advance\theight by \lineskip
\kern -\theight \vbox to \theight{%
\rightline{\rlap{\box\z@}}%
\vss
}%
}%
}}{}%
%
\@ifundefined{qed}{\def\qed{%
\ifhmode\unskip\nobreak\fi\ifmmode\ifinner\else\hskip5\p@\fi\fi
\hbox{\hskip5\p@\vrule width4\p@ height6\p@ depth1.5\p@\hskip\p@}%
}}{}%
%
\@ifundefined{cents}{\def\cents{\hbox{\rm\rlap c/}}}{}%
\@ifundefined{tciLaplace}{\def\tciLaplace{\ensuremath{\mathcal{L}}}}{}%
\@ifundefined{tciFourier}{\def\tciFourier{\ensuremath{\mathcal{F}}}}{}%
\@ifundefined{textcurrency}{\def\textcurrency{\hbox{\rm\rlap xo}}}{}%
\@ifundefined{texteuro}{\def\texteuro{\hbox{\rm\rlap C=}}}{}%
\@ifundefined{euro}{\def\euro{\hbox{\rm\rlap C=}}}{}%
\@ifundefined{textfranc}{\def\textfranc{\hbox{\rm\rlap-F}}}{}%
\@ifundefined{textlira}{\def\textlira{\hbox{\rm\rlap L=}}}{}%
\@ifundefined{textpeseta}{\def\textpeseta{\hbox{\rm P\negthinspace s}}}{}%
%
\@ifundefined{miss}{\def\miss{\hbox{\vrule height2\p@ width 2\p@ depth\z@}}}{}%
%
\@ifundefined{vvert}{\def\vvert{\Vert}}{}% %always translated to \left| or \right|
%
\@ifundefined{tcol}{\def\tcol#1{{\baselineskip=6\p@ \vcenter{#1}} \Column}}{}%
%
\@ifundefined{dB}{\def\dB{\hbox{{}}}}{}% %dummy entry in column
\@ifundefined{mB}{\def\mB#1{\hbox{$#1$}}}{}% %column entry
\@ifundefined{nB}{\def\nB#1{\hbox{#1}}}{}% %column entry (not math)
%
\@ifundefined{note}{\def\note{$^{\dag}}}{}%
%
\def\newfmtname{LaTeX2e}
% No longer load latexsym. This is now handled by SWP, which uses amsfonts if necessary
%
\ifx\fmtname\newfmtname
\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
\fi
%
% Greek bold macros
% Redefine all of the math symbols
% which might be bolded - there are
% probably others to add to this list
\def\alpha{{\Greekmath 010B}}%
\def\beta{{\Greekmath 010C}}%
\def\gamma{{\Greekmath 010D}}%
\def\delta{{\Greekmath 010E}}%
\def\epsilon{{\Greekmath 010F}}%
\def\zeta{{\Greekmath 0110}}%
\def\eta{{\Greekmath 0111}}%
\def\theta{{\Greekmath 0112}}%
\def\iota{{\Greekmath 0113}}%
\def\kappa{{\Greekmath 0114}}%
\def\lambda{{\Greekmath 0115}}%
\def\mu{{\Greekmath 0116}}%
\def\nu{{\Greekmath 0117}}%
\def\xi{{\Greekmath 0118}}%
\def\pi{{\Greekmath 0119}}%
\def\rho{{\Greekmath 011A}}%
\def\sigma{{\Greekmath 011B}}%
\def\tau{{\Greekmath 011C}}%
\def\upsilon{{\Greekmath 011D}}%
\def\phi{{\Greekmath 011E}}%
\def\chi{{\Greekmath 011F}}%
\def\psi{{\Greekmath 0120}}%
\def\omega{{\Greekmath 0121}}%
\def\varepsilon{{\Greekmath 0122}}%
\def\vartheta{{\Greekmath 0123}}%
\def\varpi{{\Greekmath 0124}}%
\def\varrho{{\Greekmath 0125}}%
\def\varsigma{{\Greekmath 0126}}%
\def\varphi{{\Greekmath 0127}}%
\def\nabla{{\Greekmath 0272}}
\def\FindBoldGroup{%
{\setbox0=\hbox{$\mathbf{x\global\edef\theboldgroup{\the\mathgroup}}$}}%
}
\def\Greekmath#1#2#3#4{%
\if@compatibility
\ifnum\mathgroup=\symbold
\mathchoice{\mbox{\boldmath$\displaystyle\mathchar"#1#2#3#4$}}%
{\mbox{\boldmath$\textstyle\mathchar"#1#2#3#4$}}%
{\mbox{\boldmath$\scriptstyle\mathchar"#1#2#3#4$}}%
{\mbox{\boldmath$\scriptscriptstyle\mathchar"#1#2#3#4$}}%
\else
\mathchar"#1#2#3#4%
\fi
\else
\FindBoldGroup
\ifnum\mathgroup=\theboldgroup % For 2e
\mathchoice{\mbox{\boldmath$\displaystyle\mathchar"#1#2#3#4$}}%
{\mbox{\boldmath$\textstyle\mathchar"#1#2#3#4$}}%
{\mbox{\boldmath$\scriptstyle\mathchar"#1#2#3#4$}}%
{\mbox{\boldmath$\scriptscriptstyle\mathchar"#1#2#3#4$}}%
\else
\mathchar"#1#2#3#4%
\fi
\fi}
\newif\ifGreekBold \GreekBoldfalse
\let\SAVEPBF=\pbf
\def\pbf{\GreekBoldtrue\SAVEPBF}%
%
\@ifundefined{theorem}{\newtheorem{theorem}{Theorem}}{}
\@ifundefined{lemma}{\newtheorem{lemma}[theorem]{Lemma}}{}
\@ifundefined{corollary}{\newtheorem{corollary}[theorem]{Corollary}}{}
\@ifundefined{conjecture}{\newtheorem{conjecture}[theorem]{Conjecture}}{}
\@ifundefined{proposition}{\newtheorem{proposition}[theorem]{Proposition}}{}
\@ifundefined{axiom}{\newtheorem{axiom}{Axiom}}{}
\@ifundefined{remark}{\newtheorem{remark}{Remark}}{}
\@ifundefined{example}{\newtheorem{example}{Example}}{}
\@ifundefined{exercise}{\newtheorem{exercise}{Exercise}}{}
\@ifundefined{definition}{\newtheorem{definition}{Definition}}{}
\@ifundefined{mathletters}{%
%\def\theequation{\arabic{equation}}
\newcounter{equationnumber}
\def\mathletters{%
\addtocounter{equation}{1}
\edef\@currentlabel{\theequation}%
\setcounter{equationnumber}{\c@equation}
\setcounter{equation}{0}%
\edef\theequation{\@currentlabel\noexpand\alph{equation}}%
}
\def\endmathletters{%
\setcounter{equation}{\value{equationnumber}}%
}
}{}
%Logos
\@ifundefined{BibTeX}{%
\def\BibTeX{{\rm B\kern-.05em{\sc i\kern-.025em b}\kern-.08em
T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}}}{}%
\@ifundefined{AmS}%
{\def\AmS{{\protect\usefont{OMS}{cmsy}{m}{n}%
A\kern-.1667em\lower.5ex\hbox{M}\kern-.125emS}}}{}%
\@ifundefined{AmSTeX}{\def\AmSTeX{\protect\AmS-\protect\TeX\@}}{}%
%
% This macro is a fix to eqnarray
\def\@@eqncr{\let\@tempa\relax
\ifcase\@eqcnt \def\@tempa{& & &}\or \def\@tempa{& &}%
\else \def\@tempa{&}\fi
\@tempa
\if@eqnsw
\iftag@
\@taggnum
\else
\@eqnnum\stepcounter{equation}%
\fi
\fi
\global\tag@false
\global\@eqnswtrue
\global\@eqcnt\z@\cr}
\def\TCItag{\@ifnextchar*{\@TCItagstar}{\@TCItag}}
\def\@TCItag#1{%
\global\tag@true
\global\def\@taggnum{(#1)}%
\global\def\@currentlabel{#1}}
\def\@TCItagstar*#1{%
\global\tag@true
\global\def\@taggnum{#1}%
\global\def\@currentlabel{#1}}
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
\def\QATOP#1#2{{#1 \atop #2}}%
\def\QTATOP#1#2{{\textstyle {#1 \atop #2}}}%
\def\QDATOP#1#2{{\displaystyle {#1 \atop #2}}}%
\def\QABOVE#1#2#3{{#2 \above#1 #3}}%
\def\QTABOVE#1#2#3{{\textstyle {#2 \above#1 #3}}}%
\def\QDABOVE#1#2#3{{\displaystyle {#2 \above#1 #3}}}%
\def\QOVERD#1#2#3#4{{#3 \overwithdelims#1#2 #4}}%
\def\QTOVERD#1#2#3#4{{\textstyle {#3 \overwithdelims#1#2 #4}}}%
\def\QDOVERD#1#2#3#4{{\displaystyle {#3 \overwithdelims#1#2 #4}}}%
\def\QATOPD#1#2#3#4{{#3 \atopwithdelims#1#2 #4}}%
\def\QTATOPD#1#2#3#4{{\textstyle {#3 \atopwithdelims#1#2 #4}}}%
\def\QDATOPD#1#2#3#4{{\displaystyle {#3 \atopwithdelims#1#2 #4}}}%
\def\QABOVED#1#2#3#4#5{{#4 \abovewithdelims#1#2#3 #5}}%
\def\QTABOVED#1#2#3#4#5{{\textstyle
{#4 \abovewithdelims#1#2#3 #5}}}%
\def\QDABOVED#1#2#3#4#5{{\displaystyle
{#4 \abovewithdelims#1#2#3 #5}}}%
%
% Macros for text size operators:
%
\def\tint{\mathop{\textstyle \int}}%
\def\tiint{\mathop{\textstyle \iint }}%
\def\tiiint{\mathop{\textstyle \iiint }}%
\def\tiiiint{\mathop{\textstyle \iiiint }}%
\def\tidotsint{\mathop{\textstyle \idotsint }}%
\def\toint{\mathop{\textstyle \oint}}%
\def\tsum{\mathop{\textstyle \sum }}%
\def\tprod{\mathop{\textstyle \prod }}%
\def\tbigcap{\mathop{\textstyle \bigcap }}%
\def\tbigwedge{\mathop{\textstyle \bigwedge }}%
\def\tbigoplus{\mathop{\textstyle \bigoplus }}%
\def\tbigodot{\mathop{\textstyle \bigodot }}%
\def\tbigsqcup{\mathop{\textstyle \bigsqcup }}%
\def\tcoprod{\mathop{\textstyle \coprod }}%
\def\tbigcup{\mathop{\textstyle \bigcup }}%
\def\tbigvee{\mathop{\textstyle \bigvee }}%
\def\tbigotimes{\mathop{\textstyle \bigotimes }}%
\def\tbiguplus{\mathop{\textstyle \biguplus }}%
%
%
%Macros for display size operators:
%
\def\dint{\mathop{\displaystyle \int}}%
\def\diint{\mathop{\displaystyle \iint}}%
\def\diiint{\mathop{\displaystyle \iiint}}%
\def\diiiint{\mathop{\displaystyle \iiiint }}%
\def\didotsint{\mathop{\displaystyle \idotsint }}%
\def\doint{\mathop{\displaystyle \oint}}%
\def\dsum{\mathop{\displaystyle \sum }}%
\def\dprod{\mathop{\displaystyle \prod }}%
\def\dbigcap{\mathop{\displaystyle \bigcap }}%
\def\dbigwedge{\mathop{\displaystyle \bigwedge }}%
\def\dbigoplus{\mathop{\displaystyle \bigoplus }}%
\def\dbigodot{\mathop{\displaystyle \bigodot }}%
\def\dbigsqcup{\mathop{\displaystyle \bigsqcup }}%
\def\dcoprod{\mathop{\displaystyle \coprod }}%
\def\dbigcup{\mathop{\displaystyle \bigcup }}%
\def\dbigvee{\mathop{\displaystyle \bigvee }}%
\def\dbigotimes{\mathop{\displaystyle \bigotimes }}%
\def\dbiguplus{\mathop{\displaystyle \biguplus }}%
\if@compatibility\else
% Always load amsmath in LaTeX2e mode
\RequirePackage{amsmath}
\fi
\def\ExitTCILatex{\makeatother\endinput}
\bgroup
\ifx\ds@amstex\relax
\message{amstex already loaded}\aftergroup\ExitTCILatex
\else
\@ifpackageloaded{amsmath}%
{\if@compatibility\message{amsmath already loaded}\fi\aftergroup\ExitTCILatex}
{}
\@ifpackageloaded{amstex}%
{\if@compatibility\message{amstex already loaded}\fi\aftergroup\ExitTCILatex}
{}
\@ifpackageloaded{amsgen}%
{\if@compatibility\message{amsgen already loaded}\fi\aftergroup\ExitTCILatex}
{}
\fi
\egroup
%Exit if any of the AMS macros are already loaded.
%This is always the case for LaTeX2e mode.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% NOTE: The rest of this file is read only if in LaTeX 2.09 compatibility
% mode. This section is used to define AMS-like constructs in the
% event they have not been defined.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\typeout{TCILATEX defining AMS-like constructs in LaTeX 2.09 COMPATIBILITY MODE}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Macros to define some AMS LaTeX constructs when
% AMS LaTeX has not been loaded
%
% These macros are copied from the AMS-TeX package for doing
% multiple integrals.
%
\let\DOTSI\relax
\def\RIfM@{\relax\ifmmode}%
\def\FN@{\futurelet\next}%
\newcount\intno@
\def\iint{\DOTSI\intno@\tw@\FN@\ints@}%
\def\iiint{\DOTSI\intno@\thr@@\FN@\ints@}%
\def\iiiint{\DOTSI\intno@4 \FN@\ints@}%
\def\idotsint{\DOTSI\intno@\z@\FN@\ints@}%
\def\ints@{\findlimits@\ints@@}%
\newif\iflimtoken@
\newif\iflimits@
\def\findlimits@{\limtoken@true\ifx\next\limits\limits@true
\else\ifx\next\nolimits\limits@false\else
\limtoken@false\ifx\ilimits@\nolimits\limits@false\else
\ifinner\limits@false\else\limits@true\fi\fi\fi\fi}%
\def\multint@{\int\ifnum\intno@=\z@\intdots@ %1
\else\intkern@\fi %2
\ifnum\intno@>\tw@\int\intkern@\fi %3
\ifnum\intno@>\thr@@\int\intkern@\fi %4
\int}% %5
\def\multintlimits@{\intop\ifnum\intno@=\z@\intdots@\else\intkern@\fi
\ifnum\intno@>\tw@\intop\intkern@\fi
\ifnum\intno@>\thr@@\intop\intkern@\fi\intop}%
\def\intic@{%
\mathchoice{\hskip.5em}{\hskip.4em}{\hskip.4em}{\hskip.4em}}%
\def\negintic@{\mathchoice
{\hskip-.5em}{\hskip-.4em}{\hskip-.4em}{\hskip-.4em}}%
\def\ints@@{\iflimtoken@ %1
\def\ints@@@{\iflimits@\negintic@
\mathop{\intic@\multintlimits@}\limits %2
\else\multint@\nolimits\fi %3
\eat@}% %4
\else %5
\def\ints@@@{\iflimits@\negintic@
\mathop{\intic@\multintlimits@}\limits\else
\multint@\nolimits\fi}\fi\ints@@@}%
\def\intkern@{\mathchoice{\!\!\!}{\!\!}{\!\!}{\!\!}}%
\def\plaincdots@{\mathinner{\cdotp\cdotp\cdotp}}%
\def\intdots@{\mathchoice{\plaincdots@}%
{{\cdotp}\mkern1.5mu{\cdotp}\mkern1.5mu{\cdotp}}%
{{\cdotp}\mkern1mu{\cdotp}\mkern1mu{\cdotp}}%
{{\cdotp}\mkern1mu{\cdotp}\mkern1mu{\cdotp}}}%
%
%
% These macros are for doing the AMS \text{} construct
%
\def\RIfM@{\relax\protect\ifmmode}
\def\text{\RIfM@\expandafter\text@\else\expandafter\mbox\fi}
\let\nfss@text\text
\def\text@#1{\mathchoice
{\textdef@\displaystyle\f@size{#1}}%
{\textdef@\textstyle\tf@size{\firstchoice@false #1}}%
{\textdef@\textstyle\sf@size{\firstchoice@false #1}}%
{\textdef@\textstyle \ssf@size{\firstchoice@false #1}}%
\glb@settings}
\def\textdef@#1#2#3{\hbox{{%
\everymath{#1}%
\let\f@size#2\selectfont
#3}}}
\newif\iffirstchoice@
\firstchoice@true
%
%These are the AMS constructs for multiline limits.
%
\def\Let@{\relax\iffalse{\fi\let\\=\cr\iffalse}\fi}%
\def\vspace@{\def\vspace##1{\crcr\noalign{\vskip##1\relax}}}%
\def\multilimits@{\bgroup\vspace@\Let@
\baselineskip\fontdimen10 \scriptfont\tw@
\advance\baselineskip\fontdimen12 \scriptfont\tw@
\lineskip\thr@@\fontdimen8 \scriptfont\thr@@
\lineskiplimit\lineskip
\vbox\bgroup\ialign\bgroup\hfil$\m@th\scriptstyle{##}$\hfil\crcr}%
\def\Sb{_\multilimits@}%
\def\endSb{\crcr\egroup\egroup\egroup}%
\def\Sp{^\multilimits@}%
\let\endSp\endSb
%
%
%These are AMS constructs for horizontal arrows
%
\newdimen\ex@
\ex@.2326ex
\def\rightarrowfill@#1{$#1\m@th\mathord-\mkern-6mu\cleaders
\hbox{$#1\mkern-2mu\mathord-\mkern-2mu$}\hfill
\mkern-6mu\mathord\rightarrow$}%
\def\leftarrowfill@#1{$#1\m@th\mathord\leftarrow\mkern-6mu\cleaders
\hbox{$#1\mkern-2mu\mathord-\mkern-2mu$}\hfill\mkern-6mu\mathord-$}%
\def\leftrightarrowfill@#1{$#1\m@th\mathord\leftarrow
\mkern-6mu\cleaders
\hbox{$#1\mkern-2mu\mathord-\mkern-2mu$}\hfill
\mkern-6mu\mathord\rightarrow$}%
\def\overrightarrow{\mathpalette\overrightarrow@}%
\def\overrightarrow@#1#2{\vbox{\ialign{##\crcr\rightarrowfill@#1\crcr
\noalign{\kern-\ex@\nointerlineskip}$\m@th\hfil#1#2\hfil$\crcr}}}%
\let\overarrow\overrightarrow
\def\overleftarrow{\mathpalette\overleftarrow@}%
\def\overleftarrow@#1#2{\vbox{\ialign{##\crcr\leftarrowfill@#1\crcr
\noalign{\kern-\ex@\nointerlineskip}$\m@th\hfil#1#2\hfil$\crcr}}}%
\def\overleftrightarrow{\mathpalette\overleftrightarrow@}%
\def\overleftrightarrow@#1#2{\vbox{\ialign{##\crcr
\leftrightarrowfill@#1\crcr
\noalign{\kern-\ex@\nointerlineskip}$\m@th\hfil#1#2\hfil$\crcr}}}%
\def\underrightarrow{\mathpalette\underrightarrow@}%
\def\underrightarrow@#1#2{\vtop{\ialign{##\crcr$\m@th\hfil#1#2\hfil
$\crcr\noalign{\nointerlineskip}\rightarrowfill@#1\crcr}}}%
\let\underarrow\underrightarrow
\def\underleftarrow{\mathpalette\underleftarrow@}%
\def\underleftarrow@#1#2{\vtop{\ialign{##\crcr$\m@th\hfil#1#2\hfil
$\crcr\noalign{\nointerlineskip}\leftarrowfill@#1\crcr}}}%
\def\underleftrightarrow{\mathpalette\underleftrightarrow@}%
\def\underleftrightarrow@#1#2{\vtop{\ialign{##\crcr$\m@th
\hfil#1#2\hfil$\crcr
\noalign{\nointerlineskip}\leftrightarrowfill@#1\crcr}}}%
%%%%%%%%%%%%%%%%%%%%%
\def\qopnamewl@#1{\mathop{\operator@font#1}\nlimits@}
\let\nlimits@\displaylimits
\def\setboxz@h{\setbox\z@\hbox}
\def\varlim@#1#2{\mathop{\vtop{\ialign{##\crcr
\hfil$#1\m@th\operator@font lim$\hfil\crcr
\noalign{\nointerlineskip}#2#1\crcr
\noalign{\nointerlineskip\kern-\ex@}\crcr}}}}
\def\rightarrowfill@#1{\m@th\setboxz@h{$#1-$}\ht\z@\z@
$#1\copy\z@\mkern-6mu\cleaders
\hbox{$#1\mkern-2mu\box\z@\mkern-2mu$}\hfill
\mkern-6mu\mathord\rightarrow$}
\def\leftarrowfill@#1{\m@th\setboxz@h{$#1-$}\ht\z@\z@
$#1\mathord\leftarrow\mkern-6mu\cleaders
\hbox{$#1\mkern-2mu\copy\z@\mkern-2mu$}\hfill
\mkern-6mu\box\z@$}
\def\projlim{\qopnamewl@{proj\,lim}}
\def\injlim{\qopnamewl@{inj\,lim}}
\def\varinjlim{\mathpalette\varlim@\rightarrowfill@}
\def\varprojlim{\mathpalette\varlim@\leftarrowfill@}
\def\varliminf{\mathpalette\varliminf@{}}
\def\varliminf@#1{\mathop{\underline{\vrule\@depth.2\ex@\@width\z@
\hbox{$#1\m@th\operator@font lim$}}}}
\def\varlimsup{\mathpalette\varlimsup@{}}
\def\varlimsup@#1{\mathop{\overline
{\hbox{$#1\m@th\operator@font lim$}}}}
%
%Companion to stackrel
\def\stackunder#1#2{\mathrel{\mathop{#2}\limits_{#1}}}%
%
%
% These are AMS environments that will be defined to
% be verbatims if amstex has not actually been
% loaded
%
%
\begingroup \catcode `|=0 \catcode `[= 1
\catcode`]=2 \catcode `\{=12 \catcode `\}=12
\catcode`\\=12
|gdef|@alignverbatim#1\end{align}[#1|end[align]]
|gdef|@salignverbatim#1\end{align*}[#1|end[align*]]
|gdef|@alignatverbatim#1\end{alignat}[#1|end[alignat]]
|gdef|@salignatverbatim#1\end{alignat*}[#1|end[alignat*]]
|gdef|@xalignatverbatim#1\end{xalignat}[#1|end[xalignat]]
|gdef|@sxalignatverbatim#1\end{xalignat*}[#1|end[xalignat*]]
|gdef|@gatherverbatim#1\end{gather}[#1|end[gather]]
|gdef|@sgatherverbatim#1\end{gather*}[#1|end[gather*]]
|gdef|@gatherverbatim#1\end{gather}[#1|end[gather]]
|gdef|@sgatherverbatim#1\end{gather*}[#1|end[gather*]]
|gdef|@multilineverbatim#1\end{multiline}[#1|end[multiline]]
|gdef|@smultilineverbatim#1\end{multiline*}[#1|end[multiline*]]
|gdef|@arraxverbatim#1\end{arrax}[#1|end[arrax]]
|gdef|@sarraxverbatim#1\end{arrax*}[#1|end[arrax*]]
|gdef|@tabulaxverbatim#1\end{tabulax}[#1|end[tabulax]]
|gdef|@stabulaxverbatim#1\end{tabulax*}[#1|end[tabulax*]]
|endgroup
\def\align{\@verbatim \frenchspacing\@vobeyspaces \@alignverbatim
You are using the "align" environment in a style in which it is not defined.}
\let\endalign=\endtrivlist
\@namedef{align*}{\@verbatim\@salignverbatim
You are using the "align*" environment in a style in which it is not defined.}
\expandafter\let\csname endalign*\endcsname =\endtrivlist
\def\alignat{\@verbatim \frenchspacing\@vobeyspaces \@alignatverbatim
You are using the "alignat" environment in a style in which it is not defined.}
\let\endalignat=\endtrivlist
\@namedef{alignat*}{\@verbatim\@salignatverbatim
You are using the "alignat*" environment in a style in which it is not defined.}
\expandafter\let\csname endalignat*\endcsname =\endtrivlist
\def\xalignat{\@verbatim \frenchspacing\@vobeyspaces \@xalignatverbatim
You are using the "xalignat" environment in a style in which it is not defined.}
\let\endxalignat=\endtrivlist
\@namedef{xalignat*}{\@verbatim\@sxalignatverbatim
You are using the "xalignat*" environment in a style in which it is not defined.}
\expandafter\let\csname endxalignat*\endcsname =\endtrivlist
\def\gather{\@verbatim \frenchspacing\@vobeyspaces \@gatherverbatim
You are using the "gather" environment in a style in which it is not defined.}
\let\endgather=\endtrivlist
\@namedef{gather*}{\@verbatim\@sgatherverbatim
You are using the "gather*" environment in a style in which it is not defined.}
\expandafter\let\csname endgather*\endcsname =\endtrivlist
\def\multiline{\@verbatim \frenchspacing\@vobeyspaces \@multilineverbatim
You are using the "multiline" environment in a style in which it is not defined.}
\let\endmultiline=\endtrivlist
\@namedef{multiline*}{\@verbatim\@smultilineverbatim
You are using the "multiline*" environment in a style in which it is not defined.}
\expandafter\let\csname endmultiline*\endcsname =\endtrivlist
\def\arrax{\@verbatim \frenchspacing\@vobeyspaces \@arraxverbatim
You are using a type of "array" construct that is only allowed in AmS-LaTeX.}
\let\endarrax=\endtrivlist
\def\tabulax{\@verbatim \frenchspacing\@vobeyspaces \@tabulaxverbatim
You are using a type of "tabular" construct that is only allowed in AmS-LaTeX.}
\let\endtabulax=\endtrivlist
\@namedef{arrax*}{\@verbatim\@sarraxverbatim
You are using a type of "array*" construct that is only allowed in AmS-LaTeX.}
\expandafter\let\csname endarrax*\endcsname =\endtrivlist
\@namedef{tabulax*}{\@verbatim\@stabulaxverbatim
You are using a type of "tabular*" construct that is only allowed in AmS-LaTeX.}
\expandafter\let\csname endtabulax*\endcsname =\endtrivlist
% macro to simulate ams tag construct
% This macro is a fix to the equation environment
\def\endequation{%
\ifmmode\ifinner % FLEQN hack
\iftag@
\addtocounter{equation}{-1} % undo the increment made in the begin part
$\hfil
\displaywidth\linewidth\@taggnum\egroup \endtrivlist
\global\tag@false
\global\@ignoretrue
\else
$\hfil
\displaywidth\linewidth\@eqnnum\egroup \endtrivlist
\global\tag@false
\global\@ignoretrue
\fi
\else
\iftag@
\addtocounter{equation}{-1} % undo the increment made in the begin part
\eqno \hbox{\@taggnum}
\global\tag@false%
$$\global\@ignoretrue
\else
\eqno \hbox{\@eqnnum}% $$ BRACE MATCHING HACK
$$\global\@ignoretrue
\fi
\fi\fi
}
\newif\iftag@ \tag@false
\def\TCItag{\@ifnextchar*{\@TCItagstar}{\@TCItag}}
\def\@TCItag#1{%
\global\tag@true
\global\def\@taggnum{(#1)}%
\global\def\@currentlabel{#1}}
\def\@TCItagstar*#1{%
\global\tag@true
\global\def\@taggnum{#1}%
\global\def\@currentlabel{#1}}
\@ifundefined{tag}{
\def\tag{\@ifnextchar*{\@tagstar}{\@tag}}
\def\@tag#1{%
\global\tag@true
\global\def\@taggnum{(#1)}}
\def\@tagstar*#1{%
\global\tag@true
\global\def\@taggnum{#1}}
}{}
\def\tfrac#1#2{{\textstyle {#1 \over #2}}}%
\def\dfrac#1#2{{\displaystyle {#1 \over #2}}}%
\def\binom#1#2{{#1 \choose #2}}%
\def\tbinom#1#2{{\textstyle {#1 \choose #2}}}%
\def\dbinom#1#2{{\displaystyle {#1 \choose #2}}}%
% Do not add anything to the end of this file.
% The last section of the file is loaded only if
% amstex has not been.
\makeatother
\endinput
%%%%%%%%%%%%%%% End /macros/LaTeX/SWmacros/tcilatex.tex %%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%% Start /document/graphics/expmap.gif %%%%%%%%%%%%%%%%%
GedQx\SXQD@w@\O@@@@@@H`@BP@AD``@BdPBIlpBKtPCM\aAF|`CN@ADPLqDS\qEWpAG\xaG^hr
AGdBETDRHaLrHcTRIedRJilrJktRKmxbKn@CLpHcLrhCJhPCMtxsEWLDLpTTDQLVCMXcMv\sMwd
SNylsN{tSO}xcO~@DP@IdPBQDQDUTQE]tQGeTRImtRKqDSLydSNMURI}tSOEUTQIeTRQEUTYeUV
aEVXmuV[uEW\yeW^}uW_EVXaMvXcUVYe]vYgeVZimvZkExCO`iDR|iDRtF[lYxSOQkKnxf[n}v[
oEW\qMw\sYg]vaG^xig^zmw^{uW_}AH`@Jh`BB^Had_Ji|Mw|ONx|N{|OO||OP@}oPB}OQDi^
RI}OVX}OW\}W_y\_}M}\sEO^x}_Xa}oXbq_}_G]|oG^|OH`|Hc|oIf|OJh|Jk|oKn|_Lq|
Ls|oMv|oQF}ORH}oRJ}_SM}_TQ}OUT}oUV}_Ye}OZh}Zk}[o}_\q}\s}o]v}O^x}^{}o_~
}o`BVXaE^xaGfXbInxbKzhcNBIdPJidRVYeU^yeWfYfYjifZrIg\zig^Z[cM~yg_BJh`JjhbRJi
dZjifnZha^zigbJjhjjjjrJklvZkm~zkoF[lqN{lsV[mu^{mwf[nyn{n{rKo|zko~BLp@KlpBwL
jhV\qEhcN^qEOg\~og^~_ha~ohb~jk~ko~ls~`C~oaF~_bI~OcL~cO~_dQ~oeV~_fY~
_ie~Ojh~_ji~_mu~mw~onz~_o}~Op@OqD[lqF_|qGg\rIo|rKw\sMCMtPKmtRW]uU_}uWg]vY
o}v[sMw\{mw^C^w]CNx`G^xaKnxbOuTuW_tQotR_vYovZqGorJOsLouV_w]w
_oxbSNydW^ye_~ygg^zio~zksN{l{n{nCO|pOydoyfOzhozjKo|r_{mzko{nO|pO
|sSO}t[o}vcO~xs|so|r_}u}wg_~yko~zsO|~{_~yw_}O|o~sB@@@@@QD
@w@@@BCpIpARpBZpCbpDjpErpFzpGBqHJqIRqJZqKbqLjqMrqNzqOBrPJrQRrRZrSbrTjrUrr
VzrWBsXJsYRsZZs[bs\js]rs^zs_Bt`JtaRtbZtcbtdjtertfztgBuhJuiRujZukbuljumrunzU
MFOfIvqRvrZvsVVhEoorvSBob]i@iCSHBS`c{bw|jw}rW}VCTHbQLBVhCB}IpuvDSQuQLKAh\Tb
PXBaPHMal{aRraLKqdVhAShdPmVESZCFONIdK\b^TycIoZVnPyDTXBfDlRkXeUhT|adDJ|}sxEJ
a@bcHL\gUxQLHmdW`AXhHhYT~IjZTbJeOdGUhEI^`ARpcBA~oPLSVSn@SRfvUJsVDNtpLPDrjz
}ldJDqa`wzGzrBTHXqa\L\ew@HWP`|N{gO}HbPLDIeS[]OHBFhDFSBfS^CKdDzWiaOZbM|ANaxX
asD~hH`pmm_rcdhAOALbnD~xH`P`|ZcH~xDr@p}biT~HcGxNNPABKhc@IIAJ`@```Ey@IHmphm
d_TrtBu`w@eEDc\AGBfYeZtslCaPipeFD|DHW@blebyDENFaFdIiIB}NeYa|doICQNLaEDInX]B
gAbExf|YBQfT@bd]AjBENxpKPLGJA]OEBEPHtYcfP@SN@BIAcFhVRE|DJIezPyChpCaPRDLSJTV
JcsppD`jDqOcRraIhAKqCJfxcExjUTLjAFabHJdcUVD^bnVQySqDIJqI`BHbwPNdczpQrCyPdL
epXCE[FENFRL|Bop}}BAbHVQbCS@Bo@JzTZ@jfmXDyXIbPRPHsK}Vov[}VDb`H@I{ITAHPR{~Q|
sgdIElA_pH|AWJcFfhHQesdBA|MeH@\TIB[hDOSBB`BUMAGgqqtRDJRUitC`|LyCZJTeOXpIKSu
prLUqpsxrpDK`qPUb`Hu|KMBTEsHC|lKiAUEQKtlTKSUiPp^tjTROUIQgttjtETUUB`LuYFITUI
CLdugtrDtTePA_mIqIOaUUufMIAH_lTiBdG[GRsPUVU{PzNw_dQWUNGWb^CRpsV[UJba@x_dp
pCWEgdDGnGeHGrU}IHacwQ~ph\UYbSTy\dHpnPuUsyZdTAXecPHb^FmLm@V]H{\j_QXRk^UDbc
@{WDR`IXE`XIwnEQA_NTyDomoPHSDcUGAhT|Sd`DyXeQLroYyHJydH|MYENhr\ycd@@pfkQESB
P|jyS_Ud`mrebBDxDWPID~^osdQLBx_UxsZKfopCzLoOFUH^ODPc|BJFYebqMxMIDH}oJbhhD@
@^`o`LR|PBhUPDOOkRwHZDR\Fx@KbCD@TB^A_oLbfpde}H`SEkai@OtFRC\cPRah~MPLBe`ZhM|
FRPDE@@\Pu{B@@j^XD]`TolB_kitOfFvbp`ZXLpDIC}bPrc@@THLH_pGhUtJRPR_cGXFa_DAj
VUEraIpiXO`EgAfHZdINKBIbo_hAiXHJbcrqyHBQGblHePmRgPI@UnFKqtxVHdTNR@W`AXFiPl
CsHh@uSVqIhI`JvC}PZdJxN@IecKPBhXl@oHbpGAFAY\BvJj@fVSqWPEFCkAfhYPZDRpAnqMyL|
FJKaeCDH@@@EZQDBdoiBypguTVGxaq`YXVlNLCcASQHqI@@|dCZYs|JBMA@GdrAW|bhNJ]ZEBQ
bhipJVbsama@qJlG`bIrQyXAf@GpqyH{|`hC]fQdCQ`Xk|ApYGemaVXLdFpEtPpC}CPbx[Av
@EHYBfyDQYJCgH~cK@i|jHJvAJE}AmpX^GVGEdzaedPf~taFA\p]Tbx@weODPQGTkPCpeFelqUX
LLE|EgdKYfLKz}n@ZQIR|cSbRmJacP@Ra^pGFCdaWa}HfxL@bUDgA@H@ZQXFb`mb`X[ZTtElaq@
\PCVZRBRBmrBu^BTLG`aqpY@UxOtIbchUJI\XAzWWEOAD]htOPEgQnpyPg\LtAfoSbPHRlUPAUH
aRt@N`JuEyDAg@E|@iDjDfQQ|jhIJi@erHYXLpGjdwDxqaPBXEqfid[@gPk\Op@rM_bi\LXEpF
xDhQRp{]E{lidcQSUkHHfgduq]PX{lP_\S|GNBEPt\peRZAXnlBx@C@FuIxbtpXx[nSDcPsaa
JAX`|rJz`GyHiXxDPiEbiHDY[LGFCja\AOaRl@@@U@^K@XFlRJAytjBqHzJRFdKPcpm|ahOfEFS
|`EUglLLlE`BA@R@@B@sgTBg@}fU|Ge`ALIQYV}bbFTFBvpJLFhBnT]r}@PP@@@o@isp_t@rA
jDaFHfeUjDEaWZBP}B@LBNDwq^@hBKFjyD|Ae@sr@^[q@lWJQQXBqJ^CLPM]dhLSqNDWQjLNhM
tIqhH@@`@`D~TCDfaJI\LABrSe|aIHLaRhfI@k\Aq\pE@kibqJNIBYKK@FaP{KqFt{ZdIt~OInR
wXBym^FCCsU\R|pPp@@@E`dpxRf@JXAZEQAIPmVRbbOxyHZ|FFCla]QNqYpDFoH@\MQ^\AhY
XeqQE`C_RJFkxACv`TO~CQv~@}xf`OnDi`GhBpIxe_INATGVq_pBt]hDgQBHBZNIrDD_qTXL\E
rFwDeQRX|B@NAUbZdMAY@BLtTeBQ[}e^AhiCdQ}`]T[MCtB\KMa\DILAOPF@SPJOXOANWlrppB
D|VIwBdkVxENSRFCbR`@@@H@`A\BCeNyQpbqJ`cI`@RfXMznjAVaLA_DJNBXvfLK@QhfsIccK@W
UjDOBAlVXr~p~NFpCmCXrxHRLCP@c{^pfh]_sQFHR_J~CZ`aKf\MdpTa_qKyXHHDAA`GXH@Pl^
UP`XlrSPqAS\qcarPLfe\O|DFA[I@@AHC^DaCcBs`bcUlDh@hmJiU\dYeiDxQh@PpBL@OpH`Q@T
T\EJ|CSP^cjLL@rodnqVXL`FFsgDeAdhG\Ary|yS@a`QjTBDoYirwhBXnYI}C[qYlN\gEI^]pny
E@DAjAGbbA^iTLJtWewAHPKsRhFMzv@dNdXwq{z]BP|JSDqYJqCP@If~dBZskdR]duO`Q{HeCO
acwJr@fAEBaqYi\DVDWeV~K_etKdBcAlptXc@OFEDbZ@S~AJ@~@GaJag~j@J|ZWEcPS`edNlCB
sZa_{Jb|PX\HrAT@}N@PBTCJDKlnRxPCLNnJAb_nJqT@oewRD|QqXQpCt@w[OPM@q@AB_BqZXE
|Cj@\^TELBo@X]cDVCrA^WH\QDKCQBEAa@YXnZj@NA[Bi^_EOArVUE[Bd@h\^D{CrBFSyA_\MD|
CFCGBs@{YOPH@f@IAVBZZEDbBNA{`YBG`SEAZWEeB_@~`^DWCUAcAUAt\KDwCACBBl@jV@@S@|@
PBJXFDeCNAPaOPI@A^TE`CZ@MTREGCW@vMfDmCRReAqB{CIDoC_BMAe@Z`B@XJZBs_KDWROPP@F
ANAK]OPNVVEyCi@k][GW@UadDmBKQqA\]EDbCYBHA_@z}U@`B@HDJTqaPXGN~TP`HMB]UpDPkQ
ULN`A\\XR@wIwiJPfIP@OTBMAXEm@HCTHPLTy}Px@ESYPxJe@lVECXUHxLDQRtOTKdxaNDeYHdB
hAJAhCpHhL\QDEIg}F}@usyT|M|A@FnrlBTqPRLMxFLFtFpK|OhpeDhJvdmB\H`CbQXKuGZPHJP
DfT`OXBdnMUxO`CtIJRTOxGPFPFxGLOtITCPrA@p@pChIXBFQ@jM_qVXD\AAu\DTRpKtFd|QJXD
`l}ApsACeTuVXIX`QU\HTCPR`NTGLF@ELD|MFAxDxwuJiaqV`L\A@eEUpIXB|{MzlJDEDDlA|@m
@XDDHFRx@quxUA|`FP_uTQqpWhHQuPVpOpAPSVMPg@lHIANyWQM@cPUqw@FPagGa}`W`Gp@@x
`PzxGqRYBqcpc`|S\TMUQesXOqa`yHTA|`H`MYFaPcPGpCDH@vaKa|ebFRu|ekT_hxslhPap@F
@@yQApKp_cGapdpCP@vLpZYJarhWfHTc]YBd]xCFPqxpDpHYTAR``pGQiPFPSFRPspLq`TIi
AarHnD^iBdfhPamVePUqbptvFQr`KpCTMpi`ihLQfxKPzds`HtrDAAdi|EovPq``PwTaq@IPKyD
ax`Op}FGPW@pxMa|uCd{cOD@PBpdy`kdCduvPAp@H@riRA|@HPzSYDbBd\O@DAOQzDMPWQI@x
@cgCDve{eAEcCV@ogPEx@Cf[D_AN@@AbAu^|DTObBdefSvR[jfl@TWSEw]^DyAnAK_METg]YBg
TNTEHCb@L[[DuCSMExe\e@E@Ce@O`j^b@HccHQQtTzPRhD_bdaRE{@zUcH`ZI@IP^h}Do@DKT
EZBYdcHzZCdCihZepDHBMNTEwCV@_`PDTOSERfEDuhyDHCa@_gJEBBXMIc^OydODOBTgFRAJxC
a@C\SE`CV@XhSDkOmOJZMDeC|fVQrgiIIAZWTEz@xZVDzOC|OtiIUnIeCrWJUoIaBnWREDChiO
DiSCjJDQQshDD~PFU\}oPN\dVU``uSfQpAUQXKMYbP}fhrYUXIP\jQDCYPPCMKYCMPdILQVP`iJ
f|HXQU\}pQ`hQEEM]EMPHBY`^meZBeLxeRFU\LHhmQtFqhJPlNqNIGMPx}@l~LAgBeDClKRU`D
lrEQLHUHM`fPHP^PXlrehIPCXdViQ@SiIQQDEQKYWFdVZ|NXADuYUdIPdfQxJU}xLEjJjvhLU
kJP`H}QAdXDxT^UtBtz]QhLqLyLUEEkJP`jjhJEYeLLLF]U@NhpbQDEUR]NA_NPHlNlBDUpJPhC
A@PnjXxe^YNUHH\]NQDPMPLP}OTPAQXGeEyCQoncPHdv`U\APfNQDmnQmbyqeMUoiydODDpF[b
qspG`TJSA~pD@FawjLE@pvIDarh{cVxtzzAOTVArPpiGQQUEQwcUTniUBrPC{UAfPwWNQXiXrLp
qJUaS@kIssCQq@`jUaL@XJZKCqKPhXVQnr[[CQppZ[UA~p]U]KBQJ`S{Sqq`EI_KBQhpTKVQIs`
kBaIp_{Saq@vRb{AAr@JPWAs`aKdk@aMXWAy`ouek@A~@EPPKTa^[gKAaf@BiWA]Ki{PK@ahVQ
jkBqx`qPqplKm[qPr`L{TCxpkEj[AQyPq`f@a`QpKpH`HpJPO`Q@r[r[GE]ACbQ@a`e`p@zJOS`
`CsWQnBePL`JPJPL@RPa`fPq`tcID`CBCVBAol@Z@m@NA\BRoRLX@Tb{NCcCePD_CZBMAj@Z
@p@@B^BaoGJcBkjmKOCXBIAg@X@t@DBeBoo\IIAxhnL~CHCPBBAb@`@y@HBBChIbIc@XpBM|_JB
dJ`@|@JB}k@IpC|TzMwCf_e@j@\BbhZGaBllsMGCBAV@CB}oHGOAp^UNpCIB`@v@QBmhZGh@Yi
NCCABj@X@SWxnlEwOomyCBCIAW@v@ZBanVECCgeLOCCIAHqrm_EDBUoIn~CACf@FAJpVEp@ehWn
~CJBZ@RO]EwkPn^Cz@a@GB}lJEeMjnCDeCGBX@NAzjTEonxq\cJBW@@BtaUEagArFDwONHcpCtz
~TxLtkfH[PDhqBXIp~zTHL@@KISPdLPHL|zC`IL~StIlnnIcPpOTLDHPBLChIhDOT@IhYZJwPd
L|DHBHCDHp^TPHhoJK{PLNxIDHHCXBLCPITGOQ`LXCPBhLoLsLwL{L{LkDlItKSQ|MXHXB|BdH
LNr|AL\HPClBhXJQDOPEOM_P@NxHLCHB`D@NPDJdCDBTB\DPIX_RNGSdOLJpC@BdGnCnOsOwO{
O{DlBlCxHSOkjALDJ\PcPgPkPoPGJHURPPCQGQKQOQSQWQ[Q_QcQgQkQoQsQwQ{QQGQGP@pN
%%%%%%%%%%%%%%%%%% End /document/graphics/expmap.gif %%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%% Start /macros/LaTeX/base/leqno.clo %%%%%%%%%%%%%%%%%
%%
%% This is file `leqno.clo',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% ltmath.dtx (with options: `leqno')
%%
%% This is a generated file.
%%
%% Copyright 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004
%% The LaTeX3 Project and any individual authors listed elsewhere
%% in this file.
%%
%% This file was generated from file(s) of the LaTeX base system.
%% --------------------------------------------------------------
%%
%% It may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% http://www.latex-project.org/lppl.txt
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2003/12/01 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
%% This file may only be distributed together with a copy of the LaTeX
%% base system. You may however distribute the LaTeX base system without
%% such generated files.
%%
%% The list of all files belonging to the LaTeX base distribution is
%% given in the file `manifest.txt'. See also `legal.txt' for additional
%% information.
%%
%% The list of derived (unpacked) files belonging to the distribution
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
%%% From File: ltmath.dtx
\ProvidesFile{leqno.clo}
[1998/08/17 v1.1c Standard LaTeX option
(left equation numbers)]
\renewcommand\@eqnnum{\hb@xt@.01\p@{}%
\rlap{\normalfont\normalcolor
\hskip -\displaywidth(\theequation)}}
\endinput
%%
%% End of file `leqno.clo'.
%%%%%%%%%%%%%%%%%%% End /macros/LaTeX/base/leqno.clo %%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%% Start /macros/LaTeX/base/fleqn.clo %%%%%%%%%%%%%%%%%
%%
%% This is file `fleqn.clo',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% ltmath.dtx (with options: `fleqn')
%%
%% This is a generated file.
%%
%% Copyright 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004
%% The LaTeX3 Project and any individual authors listed elsewhere
%% in this file.
%%
%% This file was generated from file(s) of the LaTeX base system.
%% --------------------------------------------------------------
%%
%% It may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% http://www.latex-project.org/lppl.txt
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2003/12/01 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
%% This file may only be distributed together with a copy of the LaTeX
%% base system. You may however distribute the LaTeX base system without
%% such generated files.
%%
%% The list of all files belonging to the LaTeX base distribution is
%% given in the file `manifest.txt'. See also `legal.txt' for additional
%% information.
%%
%% The list of derived (unpacked) files belonging to the distribution
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
%%% From File: ltmath.dtx
\ProvidesFile{fleqn.clo}
[1998/08/17 v1.1c Standard LaTeX option
(flush left equations)]
\newdimen\mathindent
\AtEndOfClass{\mathindent\leftmargini}
\renewcommand\[{\relax
\ifmmode\@badmath
\else
\begin{trivlist}%
\@beginparpenalty\predisplaypenalty
\@endparpenalty\postdisplaypenalty
\item[]\leavevmode
\hb@xt@\linewidth\bgroup $\m@th\displaystyle %$
\hskip\mathindent\bgroup
\fi}
\renewcommand\]{\relax
\ifmmode
\egroup $\hfil% $
\egroup
\end{trivlist}%
\else \@badmath
\fi}
\renewenvironment{equation}%
{\@beginparpenalty\predisplaypenalty
\@endparpenalty\postdisplaypenalty
\refstepcounter{equation}%
\trivlist \item[]\leavevmode
\hb@xt@\linewidth\bgroup $\m@th% $
\displaystyle
\hskip\mathindent}%
{$\hfil % $
\displaywidth\linewidth\hbox{\@eqnnum}%
\egroup
\endtrivlist}
\renewenvironment{eqnarray}{%
\stepcounter{equation}%
\def\@currentlabel{\p@equation\theequation}%
\global\@eqnswtrue\m@th
\global\@eqcnt\z@
\tabskip\mathindent
\let\\=\@eqncr
\setlength\abovedisplayskip{\topsep}%
\ifvmode
\addtolength\abovedisplayskip{\partopsep}%
\fi
\addtolength\abovedisplayskip{\parskip}%
\setlength\belowdisplayskip{\abovedisplayskip}%
\setlength\belowdisplayshortskip{\abovedisplayskip}%
\setlength\abovedisplayshortskip{\abovedisplayskip}%
$$\everycr{}\halign to\linewidth% $$
\bgroup
\hskip\@centering
$\displaystyle\tabskip\z@skip{##}$\@eqnsel&%
\global\@eqcnt\@ne \hskip \tw@\arraycolsep \hfil${##}$\hfil&%
\global\@eqcnt\tw@ \hskip \tw@\arraycolsep
$\displaystyle{##}$\hfil \tabskip\@centering&%
\global\@eqcnt\thr@@
\hb@xt@\z@\bgroup\hss##\egroup\tabskip\z@skip\cr}%
{\@@eqncr
\egroup
\global\advance\c@equation\m@ne$$% $$
\@ignoretrue
}
\endinput
%%
%% End of file `fleqn.clo'.
%%%%%%%%%%%%%%%%%%% End /macros/LaTeX/base/fleqn.clo %%%%%%%%%%%%%%%%%%