\documentclass[12pt]{article}
\input psfig.tex
\begin{document}
\vfill
\centerline{\large\bf The perturbative proton form factor reexamined}\par
\vskip 0.5cm
\centerline{Bijoy Kundu$^a$\footnote{email: bijoyk@iitk.ernet.in}, 
Hsiang-nan Li$^b$\footnote{email: hnli@phy.ccu.edu.tw}, Jim Samuelsson$^a$\footnote{email: jim@iitk.ernet.in}
and Pankaj Jain$^{a,c}$\footnote{email: pkjain@iitk.ernet.in}}  
\vskip 0.5cm
\centerline{$^a$Department of Physics, IIT Kanpur, Kanpur-208 016, India}

\bigskip
\centerline{$^b$Department of Physics, National Cheng-Kung University}\par
\centerline{Tainan, Taiwan, Republic of China}\par

\bigskip
\centerline{$^c$Mehta Research Institute of Mathematics and Mathematical 
Physics}\par 
\centerline{Jhusi, Allahabad, India }\par
\vskip 1.0cm
PACS number(s): 13.40.Fn, 12.38.Bx, 14.20.Dh
\vskip 2.0 cm
\centerline{\bf Abstract}

We recalculate the proton Dirac form factor based on the perturbative QCD
factorization theorem which includes Sudakov suppression. The evolution
scale of the proton wave functions and the infrared cutoffs for the Sudakov
resummation are carefully chosen, such that the soft divergences from
large coupling constants are diminished and perturbative QCD predictions
are stablized. We find that the King-Sachrajda model for the proton wave
function leads to results which are in better agreement with experimental
data compared to the Chernyak-Zhitnitsky wave function.

\vfill
\newpage

\centerline{\large \bf 1. Introduction}
\vskip 0.5cm

Since the proposal of the improved perturbative QCD (PQCD) factorization 
formulas for exclusive processes, with the Sudakov resummation taken into
account \cite{LS}, there have been many applications in the
literature, such as the pion form factor \cite{GP}, photon annihilation
into pions \cite{MR}, the proton form factors \cite{L,JKB}, pion Compton
scattering \cite{CL}, proton-anti-proton annihilation \cite{H}, and
proton-proton Landshoff scattering \cite{SS}. These studies show that
in the pion case the nonperturbative contributions from the end points of
parton momentum fractions are moderated by Sudakov suppression, and
perturbative predictions become relatively reliable. However, in the
processes involving protons, because more partons share the external
momentum, the infrared divergences associated with soft partons, which
appear in hard scattering subamplitudes, are severer. It is then a
concern whether Sudakov suppression of the end-point nonperturbative
enhancements is strong enough to maintain the applicability of PQCD to
the proton form factor at currently accessible energy scales.

The improved factorization formalism has been applied to the proton form
factor \cite{L}. However, the choice of
the infrared cutoffs for the resummation was criticized
\cite{JKB}: The end-point enhancements are in fact not diminished
completely by Sudakov suppression under the above choice of cutoffs, implying
that PQCD predictions remain unreliable. A modified choice of the cutoffs
has been proposed \cite{JKB}, and the soft enhancements were found to be
suppressed. Unfortunately, it turned out that the PQCD contributions amount
only to half of the data, and hence it was concluded that higher-order or
higher-twist corrections may
be important \cite{JKB}.

In this letter we shall recalculate the proton Dirac form factor based on
the work of \cite{L} by slightly modifying the infrared cutoffs for the
resummation, and employing the more complete two-loop expression of
the Sudakov factor. It will be shown that the end-point sensitivity is
removed, and the PQCD predictions from one of the currently available
models of the proton wave function match the experimental data well.
We then confirm the applicability of the improved PQCD formalism for
momentum transfer around few GeV. However, we emphasize that the
uncertainty involved in our analysis is not negligibly small, and
that the method in \cite{BK} based on the overlap integral of the
proton wave functions may be regarded as a complementary approach to
ours.

\newpage
\centerline{\large \bf 2. Factorization}
\vskip 0.5cm

According to the PQCD theory for exclusive processes \cite{LB1}, the proton
Dirac form factor, can be factorized into two types of subprocesses: wave
functions which contain the nonperturbative information of the initial- and
final-state protons, and a hard subamplitude which describes the scattering
of a valence quark of the proton off the energetic photon. The former can
not be calculated perturbatively, and needs to be parametrized by a
model or to be derived by nonperturbative methods such as QCD sum rules.
The latter, characterized by a large momentum flow, is calculable in
perturbation theory. We quote directly the factorization formula for the
proton form factor derived in \cite{L}:
\begin{eqnarray}
F_{1}^{p}(Q^{2})&=&\int_0^1 (d x)(d x')(d {\bf k}_T)(d {\bf k}'_T)
\bar{Y}_{\alpha'\beta'\gamma'}(k_{i}',P',\mu)
\nonumber \\
& &\times H_{\alpha'\beta'\gamma'\alpha\beta\gamma}(k_{i},k'_{i},Q,\mu)
Y_{\alpha\beta\gamma}(k_{i},P,\mu)\; ,
\label{3}
\end{eqnarray}
with
\begin{eqnarray}
(d x)&=&d x_{1}d x_{2}d x_{3}\delta(\sum_{i=1}^{3}x_{i}-1)\;,
\nonumber\\
(d {\bf k}_T)&=&d{\bf k}_{1T}d{\bf k}_{2T}d{\bf k}_{3T}
\delta(\sum_{i=1}^{3}{\bf k}_{iT})\;.
\end{eqnarray}
$P=(P^+,0,{\bf 0})$ is the initial-state proton momentum, and
$x_{i}=k_i^+/P^+$ and ${\bf k}_{iT}$ are the longitudinal momentum
fraction and transverse momenta of the parton $i$, respectively.
The primed variables $P'=(0,P^{'-},{\bf 0})$, $x'_i=k_i^{'-}/P^{'-}$ and
${\bf k}'_{iT}$ are associated with the final-state proton.
$Q^2=2P\cdot P'$ is the momumtum transfer. In the Breit frame we have
$P^+=P^{'-}=Q/\sqrt{2}$. The scale $\mu$ is the renormalization and
factorization scale.

The initial distribution amplitude $Y_{\alpha\beta\gamma}$, defined by
the matrix element of three local operators in axial gauge \cite{CZ1,BS},
is given by
\begin{eqnarray}
Y_{\alpha\beta\gamma}&=&\frac{1}{2\sqrt{2}N_c}\int \prod_{l=1}^{2}
\frac{d y_{l}^{-}d{\bf y}_l}
{(2\pi)^{3}}e^{\textstyle ik_{l}\cdot y_{l}}\epsilon^{abc}
\langle 0|T[u_{\alpha}^{a}(y_{1})u_{\beta}^{b}
(y_{2})d_{\gamma}^{c}(0)]|P\rangle
\nonumber \\
&=&\frac{f_{N}(\mu)}{8\sqrt{2}N_{c}}
[(\,/\llap PC)_{\alpha\beta}(\gamma_{5}N)_{\gamma}V(k_{i},P,\mu)
+(\,/\llap P\gamma_{5}C)_{\alpha\beta}N_{\gamma}A(k_{i},P,\mu)
\nonumber \\
& &\mbox{ }-(\sigma_{\mu\nu}P^{\nu}C)_{\alpha\beta}(\gamma^{\mu}
\gamma_{5}N)_{\gamma}T(k_{i},P,\mu)]\; ,
\label{4}
\end{eqnarray}
where $N_{c}=3$ is the number of colors, $|P\rangle$ the initial proton state,
$u$ and $d$ the quark fields, $a$, $b$ and $c$ the color indices, and
$\alpha$, $\beta$ and $\gamma$ the spinor indices. In our notation, 1,2
label the two $u$-quarks and 3 labels the $d$-quark. The second form 
shows the explicit Dirac matrix structure \cite{CZ1}, where $f_{N}$ is the
normalization constant \cite{I}, $N$ the proton spinor, $C$ the charge
conjugation matrix and $\sigma_{\mu\nu}\equiv[\gamma_{\mu},\gamma_{\nu}]/2$.
The amplitude $\bar{Y}_{\alpha'\beta'\gamma'}(k_{i}',P',\mu)$
for the final-state proton is defined similarly. By using the permutation
symmetry \cite{CZ1} and the constraint that the total isospin of the three
quarks is equal to $1/2$, it can be shown that the three functions $V$,
$A$, and $T$ are not independent, and related to a single function
$\psi$ by \cite{CZ1}
\begin{eqnarray}
& &V(k_1,k_2,k_3,P,\mu)=\frac{1}{2}\left[\psi(k_2,k_1,k_3,P,\mu)
+\psi(k_1,k_2,k_3,P,\mu)\right]\;,
\nonumber \\
& &A(k_1,k_2,k_3,P,\mu)=\frac{1}{2}\left[\psi(k_2,k_1,k_3,P,\mu)
-\psi(k_1,k_2,k_3,P,\mu)\right]\;,
\nonumber \\
& &T(k_1,k_2,k_3,P,\mu)=\frac{1}{2}\left[\psi(k_1,k_3,k_2,P,\mu)+
\psi(k_2,k_3,k_1,P,\mu)\right]\;.
\label{u2}
\end{eqnarray}

The hard subamplitude $H_{\alpha'\beta'\gamma'\alpha\beta\gamma}$ is
obtained from the photon-quark scattering diagrams, and the 
expressions for the integrands $\bar{Y}_{\alpha'\beta'\gamma'}
H_{\alpha'\beta'\gamma'\alpha\beta\gamma}Y_{\alpha\beta\gamma}$ are
referred to Table I in \cite{L}. Employing a series of permutations of the
parton kinematic variables, Eq.~(\ref{3}) in Fourier transform space
reduces to
\begin{eqnarray}
F_1^p(Q^{2})&=&\sum_{j=1}^2\frac{8\pi^{2}}{27}
\int_0^1 (d x)(d x')(d {\bf b})[f_N(\mu)]^2
\nonumber \\
& &\times {\tilde H}_j(x_i,x'_i,{\bf b}_{i},Q,\mu)
\Psi_{j}(x_{i},x'_i,{\bf b}_i,P,P',\mu)\; ,
\label{fp}
\end{eqnarray}
with ${\bf b}_{i}$ the conjugate variable to ${\bf k}_{iT}$ and
$(d{\bf b})=d {\bf b}_1d {\bf b}_2/(2\pi)^4$. The explicit expressions of
${\tilde H}_j$ and of $\Psi_j$ in terms of $\psi$ will be below.

\vskip 1.0cm

\centerline{\large \bf 3. Sudakov Suppression}
\vskip 0.5cm

The Sudakov resummation of the large logarithms in $\psi$ leads to 
\begin{eqnarray}
\psi(x_i,{\bf b}_i,P,\mu)
&=&\exp\left[-\sum_{l=1}^3 s(x_l,w,Q)-3\int_{w}^{\mu}
\frac{d\bar{\mu}}{\bar{\mu}}\gamma_{q}\left(\alpha_s(\bar{\mu})
\right)\right]
\nonumber \\
& &\times\phi(x_{i},w)\; ,
\label{8}
\end{eqnarray}
where the quark anomalous dimension $\gamma_{q}(\alpha_s)=-\alpha_{s}/\pi$
in axial gauge governs the renormalization-group (RG) evolution of $\psi$.
The function $\phi$, obtained by factoring the $Q$ dependence out of
${\cal \psi}$, corresponds to the standard parton model. The exponent $s$
is written as \cite{BS}
\begin{equation}
s(x,w,Q)=\int_{w}^{x Q/\sqrt{2}}\frac{d p}{p}
\left[\ln\left(\frac{x Q}
{\sqrt{2}p}\right)A(\alpha_s(p))+B(\alpha_s(p))\right]\;,
\label{fsl}
\end{equation}
where the anomalous dimensions $A$ to two loops and $B$ to one loop are
\begin{eqnarray}
A&=&{\cal C}_F\frac{\alpha_s}{\pi}+\left[\frac{67}{9}-\frac{\pi^2}{3}
-\frac{10}{27}n_f+\frac{8}{3}\beta_0\ln\left(\frac{e^{\gamma_E}}{2}\right)
\right]\left(\frac{\alpha_s}{\pi}\right)^2\;,
\nonumber \\
B&=&\frac{2}{3}\frac{\alpha_s}{\pi}\ln\left(\frac{e^{2\gamma_E-1}}
{2}\right)\;,
\end{eqnarray}
$n_f=3$ being the number of flavors, and $\gamma_E$ the Euler constant. The
two-loop running coupling constant,
\begin{equation}
\frac{\alpha_s(\mu)}{\pi}=\frac{1}{\beta_0\ln(\mu^2/\Lambda^2)}-
\frac{\beta_1}{\beta_0^3}\frac{\ln\ln(\mu^2/\Lambda^2)}
{\ln^2(\mu^2/\Lambda^2)}\;,
\label{ral}
\end{equation}
with the coefficients
\begin{eqnarray}
& &\beta_{0}=\frac{33-2n_{f}}{12}\;,\;\;\;\beta_{1}=\frac{153-19n_{f}}{24}\;,
\label{12}
\end{eqnarray}
and the QCD scale $\Lambda\equiv \Lambda_{\rm QCD}$, will be substituted
into Eq.~(\ref{fsl}).

The infrared cutoff $w$ is chosen to be the inverse of a typical
transverse distance among the three valence quarks. We try 
different definitions of this cutoff to determine its influence
on the final result. One possible choice is $w=1/b_{max}$, $b_{max}
=\max(b_l)$, $l=1,2,3$,
adopted in \cite{JKB}, with $b_3=|{\bf b}_1-{\bf b}_2|$.
As long as all of these mass scales are much larger than $\Lambda$,
the Sudakov form factor should not give any suppression. As one
of these scales gets close to $\Lambda$, the Sudakov form factor
tends to zero and suppresses this region. We find that choosing the
infrared cutoff in this fashion suppresses all the infrared divergences
and leads to a self-consistent calculation of the form factor. However, this 
choice does not always correspond to a typical size of the three quark system. A
more appropriate definition is obtained by considering it as a quark-diquark
like configuration.
The diquark constituents are taken to be those two quarks that are closest to 
each other in the transverse plane. We now define
the typical transverse distance, $d_{typ}$, as the distance between the
center of mass of the diquark and the remaining third quark 
(Fig. \ref{figdtyp}). 
\begin{figure} [t,b]
\hbox{\hspace{6em}
 \hbox{\psfig{figure=fig1.ps,height=4cm}}}
  \caption {\em The typical transverse distance, $d_{typ}$: 
The transverse distance between the quarks A and B is the smallest among
the three quarks. The diquark constituents are therfore considered  
to be the quarks A and B. The center of mass of the diquark, $COM_{dq}$,
is taken to be the central point of the line that connects these two quarks.
$d_{typ}$ is then defined as the distance between $COM_{dq}$ and the 
third quark C.}
  \label{figdtyp}
\end{figure}
This is clearly a more reasonable
measure of the distance in the three quark system that can be resolved by a
gluon. We shall therefore take the infrared cutoff as $cw$, where $c$ is a 
parameter 
which is allowed to deviate slightly from unity. When we put $c=1$, we recover 
the original choice of the cutoff. 
The introduction of this parameter $c$ is 
natural from the viewpoint of the resummation, since the scale $cw$,
with $c$ of order unity, is as appropriate as $w$ \cite{BS}.
We choose $c$ such that
for a large number of randomly chosen triangles, of the type shown in 
Fig. \ref{figdtyp}, we get for the average 
$\langle d_{typ}/b_{max} \rangle=1/c$. 
Defining $c$ in such a way, gives 
$c\approx1.14$. 

We find that both of these choices of the cutoff, lead to self-consistent
calculations of the form factor in the sense that the form factor saturates
at the large distance cutoff $b_c$. Remarkably, we find that with the small
modification of $w$ into $cw$, which differs from what was used in
\cite{JKB}, the results are in good agreement with experimental data. The
dependence of the final results on the precise choice of scale 
$cw$ shows that
large distance contributions cannot be completely dismissed, and give 
about 25-50\% contribution at laboratory energies. Nevertheless, we find it 
encouraging that a physically motivated cutoff gives good
agreement with experiments. 

The choice of scales for the Sudakov resummation in Eq.~(\ref{8}) is
compared to that adopted in \cite{L}, where the different cutoffs $b_l$
are assigned to each exponent $s$ and to each integral involving $\gamma_q$:
\begin{eqnarray}
{\cal \psi}(x_i,{\bf b}_i,P,\mu)
&=&\exp\left[-\sum_{l=1}^3 \left(s(x_l,b_l,Q)+\int_{b_l}^{\mu}
\frac{d\bar{\mu}}{\bar{\mu}}\gamma_{q}\left(\alpha_s(\bar{\mu})
\right)\right)\right]
\nonumber \\
& &\times\phi(x_{i},w)\;.
\label{os}
\end{eqnarray}
The Sudakov factor in Eq.~(\ref{os}) does not suppress the soft divergences
from $b_l\to 1/\Lambda$ completely. For example, the divergences from
$b_1\to 1/\Lambda$, which appear in $\phi(x_i,w)$ at $w\to \Lambda$,
survive as $x_1\to 0$, since
$s(x_1,b_1,Q)$ vanishes and $s(x_2,b_2,Q)$ and $s(x_3,b_3,Q)$ remain finite.
On the other hand, $w$ should play the role of the factorization scale,
above which QCD corrections give the perturbative evolution of the wave
function $\psi$ in Eq.~(\ref{8}), and below which QCD corrections are
absorbed into the initial condition $\phi$. It is then not
reasonable to choose the cutoffs $b_l$ for the Sudakov resummation
different from $w$.

\vskip 1.0cm

\centerline{\large \bf 4. RG Evolution}
\vskip 0.5cm

The RG evolution of the hard scattering subamplitudes is written as
\begin{eqnarray}
{\tilde H}_j(x_{i},x_{i}',{\bf b}_i,Q,\mu)&=&
\exp\left[-3\sum_{l=1}^2\int^{t_{jl}}_{\mu}\frac{d\bar{\mu}}{\bar{\mu}}\,
\gamma_{q}\left(\alpha_s(\bar{\mu})\right)\right]
\nonumber \\
& &\times {\tilde H}_j(x_{i},x_{i}',{\bf b}_i,Q,t_{j1},t_{j2})\;,
\label{9}
\end{eqnarray}
where the explicit expressions of $t$ are
\begin{eqnarray}
& &t_{11}=\max\left[\sqrt{(1-x_{1})(1-x_{1}')}Q, 1/b_1\right]\;,
\nonumber \\
& &t_{21}=\max\left[\sqrt{x_{1}x_{1}'}Q, 1/b_1\right]\;,
\nonumber \\
& &t_{12}=t_{22}=\max\left[\sqrt{x_{2}x_{2}'}Q, 1/b_2\right]\; .
\label{tt}
\end{eqnarray}
The first scales in the brackets are associated with the longitudinal
momenta of the exchanged gluons and the second scales with the transverse
momenta. The arguments $t_{j1}$ and $t_{j2}$ of ${\tilde H}_j$ denote that
each $\alpha_s$ is evaluated at the largest mass scale of the corresponding
gluon.

Inserting Eqs.~(\ref{8}) and (\ref{9}) into Eq.~(\ref{fp}), we obtain
\begin{eqnarray}
F_{1}^{p}(Q^{2})&=&\sum_{j=1}^2\frac{4\pi}{27}
\int_0^1 (d x)(d x')\int_0^{\infty}
b_1 d b_1 b_2 d b_2 \int_0^{2\pi} d\theta [f_{N}(cw)]^{2}
\nonumber \\
& &\times {\tilde H}_j(x_{i},x_{i}',b_i,Q,t_{j1},t_{j2})\,
\Psi_{j}(x_{i},x'_i,cw)
\nonumber \\
& &\times \exp\left[-S(x_{i},x_{i}',cw,Q,t_{j1},t_{j2})\right]\; ,
\label{10}
\end{eqnarray}
with
\begin{eqnarray}
& &{\tilde H}_1=\frac{2}{3}\alpha_{s}(t_{11})\alpha_{s}(t_{12})
K_{0}\left(\sqrt{(1-x_{1})(1-x_{1}')}Q b_1\right)
K_{0}\left(\sqrt{x_{2}x_{2}'}Q b_2\right)\;,
\nonumber \\
& &{\tilde H}_2=\frac{2}{3}\alpha_{s}(t_{21})\alpha_{s}(t_{22})
K_{0}\left(\sqrt{x_{1}x_{1}'}Q b_1\right)
K_{0}\left(\sqrt{x_{2}x_{2}'}Q b_2\right)\;.
\label{k}
\end{eqnarray}
The variable $\theta$ is the angle between ${\bf b}_1$ and ${\bf b}_2$.
$K_{0}$ is the modified Bessel function of order zero. The expressions for
$\Psi_j$ are
\begin{eqnarray*}
\Psi_{1}=\frac{2(\phi\phi')_{123}+8(TT')_{123}+2(\phi\phi')_{132}+
8(TT')_{132}-(\phi\phi')_{321}-(\phi\phi')_{231}}
{(1-x_{1})(1-x_{1}')}\;,
\end{eqnarray*}
\begin{eqnarray}
\Psi_{2}=\frac{2(\phi\phi')_{132}-2(TT')_{123}}
{(1-x_{2})(1-x_{1}')}+
\frac{(\phi\phi')_{123}-8(TT')_{132}-2(\phi\phi')_{321}}
{(1-x_{3})(1-x_{1}')}\;,
\label{ps}
\end{eqnarray}
which group together the products of the initial and final wave functions in
the notation
\begin{equation}
(\phi\phi')_{123}\equiv \phi(x_1,x_2,x_3,cw)
\phi(x_1',x_2',x_3',cw)\;.
\end{equation}
$(TT')$ is defined similarly based on Eq.~(\ref{u2}) but with $\psi$
replaced by $\phi$. The Sudakov exponent $S$ is given by
\begin{eqnarray}
S(x_i,x'_i,cw,Q,t_{j1},t_{j2})&=&\sum_{l=1}^3 s(x_l,cw,Q)+
3\int_{cw}^{t_{j1}}\frac{d\bar{\mu}}{\bar{\mu}}
\gamma_{q}\left(\alpha_s(\bar{\mu})\right)
\nonumber \\
& &+\sum_{l=1}^3 s(x'_l,cw,Q)+
3\int_{cw}^{t_{j2}}\frac{d\bar{\mu}}{\bar{\mu}}
\gamma_{q}\left(\alpha_s(\bar{\mu})\right)\;.
\end{eqnarray}

For the wave function $\phi$, we will consider both the Chernyak-Zhitnitsky
(CZ) model \cite{CZ1} and King-Sachrajda (KS) model \cite{KS}. They
are decomposed in terms of the first
six Appel polynomials $A_{j}(x_{i})$, which are eigensolutions
of the evolution equation for the nucleon wave function \cite{LB1,BL}
\begin{equation}
\phi(x_{i},w)=\phi_{as}(x_{i})\sum_{j=0}^{5}N_{j}
\left[\frac{\alpha_{s}(w)}{\alpha_{s}(\mu_{0})}\right]^{b_{j}/(4\beta_0)}
a_{j}A_{j}(x_{i})\; ,
\label{wf}
\end{equation}
with $\mu_{0}\approx 1$ GeV. The constants $N_{j}$, $a_{j}$ and $b_{j}$
are given in Table I. $\phi_{as}(x_{i})=120x_{1}x_{2}x_{3}$ is the
asymptotic form of $\phi$. The evolution of the dimensional constant
$f_{N}$ is given by
\begin{equation}
f_{N}(w)=f_{N}(\mu_{0})\left[\frac{\alpha_{s}(w)}{\alpha_{s}(\mu_{0})}
\right]^{1/(6\beta_0)}\; ,
\label{fn}
\end{equation}
with $f_{N}(\mu_{0})=(5.2\pm 0.3)\times 10^{-3}$ GeV$^2$ \cite{CZ1}.

\vskip 1.0cm

\centerline{\large \bf 5. Numerical Results}
\vskip 0.5cm

In order to be able to calculate the seven-dimensional integral, 
Eq.~(\ref{10}), we use the VEGAS Monte Carlo routine \cite{numrec}.  
We set the Sudakov factor $\exp(-S)$ to unity in the small $b$ region where
it displays a small enhancement, since in this region higher-order
corrections should be absorbed into the hard scattering \cite{LS}, instead
of into the wave function, giving its evolution. Therefore we have also
set the factor $\exp[-s(\xi,cw,Q)]$ to unity whenever $\xi Q/\sqrt{2}< cw$.
As $cw$ approaches $\Lambda$, the Sudakov factor vanishes, implying that
the whole integrand of Eq.~(\ref{10}) also vanishes.  

First we choose the parameter value $c=1$. 
The results of $Q^4F_1^p$ for $\Lambda=0.2$ GeV from the use of the
KS wave function, along with the experimental data \cite{JSL,A}, are shown
in Fig. \ref{figq4fq2}. 
The PQCD predictions amount only to about 60\% of the data. It
is then possible that higher-order or higher-Fock-state contributions are
necessary for the explanation of the data, which are certainly worth of
further studies. However, before jumping to that conclusion, we investigate
the effect from the freedom of varying the parameter $c$. The results with
$c=1.14$ are also displayed in Fig. \ref{figq4fq2}. 
It is found that our predictions
match the data well. Note that varying $c$ makes a difference in the
resummation at the level of next-to-leading logarithms, which can be
regarded as an uncertainty of our formalism. Therefore, we argue that the
current data can be explained within the uncertainty of our approach.

\begin{figure} [t,b]
\hbox{\hspace{6em}
 \hbox{\psfig{figure=fig2.ps,height=6cm}}}
  \caption {\em Dependence of $Q^4F_1^p$ on $Q^2$ for the use of the
    KS wave function ($c=1.14$, solid line; $c=1$, dense-dot line) 
     and for the CZ wave function ($c=1.14$, dashed line; 
               $c=1$, dotted line).    
    The experimental data with errorbars are also shown.}
  \label{figq4fq2}
\end{figure}

Following \cite{L}, we should analyze how the contributions to $Q^4F_1^p$
are distributed in the $b_1$-$b_2$ plane. The integration is done with both
variables $b_1$ and $b_2$ cut off at a common value $b_{c}$. If the
perturbative region dominates, most of the contributions will be quickly
accumulated below a small $b_{c}$. The numerical outcomes (with $c=1.14$)
are shown in Fig. \ref{figq4fbc}. 
All the curves, showing the dependence of $Q^4F_1^p$
on $b_c$, increase from the origin and reach their full height at
$b_c=0.9/\Lambda$. The curves exhibit small humps at the high end of $b_c$,
which imply that the evolution of the wave function gives a small negative
contribution in the large $b$ region.
A standard of self-consistency is that 50\% of the whole amount of
$Q^{4}F_1^p$ is accumulated from the region with $\alpha_s/\pi$
smaller than 0.5. Based on this standard, the results with $Q^2 > 10$
GeV$^2$ are reliable. Therefore, the applicability of PQCD to the proton
form factor at currently accessible energy scale $Q^2\sim 35$ GeV$^2$ is
justified.

\newpage
\begin{figure} [t,b]
\hbox{\hspace{6em}
 \hbox{\psfig{figure=fig3.ps,height=6cm}}}
  \caption {\em Dependence of $Q^{4}F_{1}^{p}$ on the cutoff $b_{c}$
    with the KS wave function for $Q^2=12$ GeV$^2$ (dotted line),
    $Q^2=16$ GeV$^2$ (dashed line), $Q^2=25$
    GeV$^2$ (dense-dot line), and $Q^2=36$ GeV$^2$ (solid line).}
  \label{figq4fbc}
\end{figure}

The CZ wave function is also employed, and the corresponding results
are shown in Fig. \ref{figq4fq2}. 
It is observed that the values are only about 2/3 
and 3/4 of those
derived from the KS model with c=1.14 and c=1 respectively, and are 
far below the data. Hence, we claim that the
KS proton wave function is more phenomenologically appropriate.

\vskip 1.0cm

\centerline{\large \bf 6. Conclusion}
\vskip 0.5cm

In this work we have modified the choice of the infrared cutoffs for
the resummation, and employed the more complete two-loop expression
of the Sudakov factor compared to the previous analyses. With these
modifications, we have been able to explain self-consistently the
experimental data of the proton Dirac form factor for $Q^2 > 10$ GeV$^2$,
within the uncertainty of our formalism. We should emphasize that though
the nonperturbative region denoted by $b\rightarrow 1/\Lambda$ does become
less important in our analysis, the coupling constant $\alpha_s$ is not so
small that we could consider the perturbative results as exact. Therefore,
nonperturbative contributions may be comparable to the perturbative ones
at the currently accessible energies. A complementary study based on
nonperturbative approaches such as QCD sum rules and the determination of
the transition of the proton form factor to PQCD, as performed in
\cite{CL}, are then essential.

The analysis presented here is not conclusive even in the PQCD framework.
The uncertainty at the level of next-to-leading logarithms indicates that
higher-order corrections to the evolutions of the wave function and of
the hard subamplitudes need to be evaluated. The contributions from higher
Fock states should be investigated, which may be important in the
intermediate energy range.

It is found that the KS wave function is more phenomenologically
appropriate, which will be adopted in the future studies of QCD processes
involving protons.

BK would like to thank the 
Board of Research in Nuclear Sciences (BRNS) in India, 
for financial support, under grant No. DAE/PHY/96152.
H-nL would like to thank the 
the National Science Council of the
Republic of China under Grant No. NSC-87-2112-M-006-018, for financial
support. 
JS would like to thank the Crafoord Foundation
and the Helge Ax:son Johnson Foundation for financial support.

\newpage
\begin{thebibliography}{99}
\bibitem{LS} H-n. Li and G. Sterman, Nucl. Phys. B381 (1992) 129.
\bibitem{GP} T. Gousset and B. Pire, Phys. Rev. D 51 (1995) 15;
R. Jakob and P. Kroll, Phys. Lett. B 315 (1993) 463.
\bibitem{MR} I.V. Musatov and A.V. Radyushkin, Preprint No.
JLAB-Thy-97-07 .
\bibitem{L} H-n. Li, Phys. Rev. D 48 (1993) 4243.
\bibitem{JKB} R. Jakob, P. Kroll, M. Bergmann, and N.G. Stefanis, Z. Phys.
C 66 (1995) 267.
\bibitem{CL} C. Corian\`o and H-n. Li, Phys. Lett. B 309 (1993) 409;
Nucl. Phys. B434 (1995) 535.
\bibitem{H} T. Hyer, Phys. Rev. D 47 (1993) 3875.
\bibitem{SS} M.G. Sotiropoulos and G. Sterman, Nucl. Phys. B 419 (1994) 77.
\bibitem{BK} J. Bolz and P. Kroll, Preprint No. WU B 95-35 .
\bibitem{LB1} G.P. Lepage and S.J. Brodsky, in {\it Quantum Chromodynamics
(La Jolla Institute 1978)}, Proceedings of the Workshop, La Jolla,
California, edited by W. Frazer and F. Henyey, AIP conf. Proc. No. 55 (AIP,
New York, 1979); Report no. SLAC-PUB-2294, presented at the workshop on
Current Topics in High Energy Physics, Pasadena, California, 1979
(unpublished); Phys. Rev. Lett. 43 (1979) 545; Phys. Rev. D22, (1980) 2157.
\bibitem{CZ1} V.L. Chernyak and A.R. Zhitnitsky, Yad. Fiz. 31 (1980) 1053
[Sov. J. Nucl. Phys. 31 (1980) 544]; Nucl. Phys. B216 (1983) 373;
B246 (1984) 52; Phys. Rep. 112 (1984) 173.
\bibitem{I} B.L. Ioffe, Nucl. Phys. B188 (1981) 317; B191 (1981) 591 (E).
\bibitem{BS} J. Botts and G. Sterman, Nucl. Phys. B325 (1989) 62.
\bibitem{KS} I.D. King and C.T. Sachrajda, Nucl. Phys. B279 (1987) 785.
\bibitem{BL} S.J. Brodsky and G.P. Lepage, Phys. Scr. 23 (1981) 945.
\bibitem{numrec} Numerical Recipes in Fortran, second edition, W.H. Press, 
S.A. Teukolsky, W.T. Vetterling and B.P. Flannery (Cambridge University
Press, 1992).
\bibitem{JSL} C.R. Ji, A.F. Sill and R.M. Lombard-Nelsen, Phys. Rev. D36
(1987) 165.
\bibitem{A} G. Arnold {\em et al.}, Phys. Rev. Lett. 57 (1986) 174.
\end{thebibliography}

\vskip 2.9in
Table I. Appel polynomial
coefficients in Eq.~(\ref{wf}) for the nucleon
wave function $\phi(x_{i},w)$ of the CZ and KS
models \cite{CZ1,KS} with the scale $\mu_{0}\approx 1$ GeV \cite{JSL}.

\[ \begin{array}{cllccl} \hline\hline
j & a_{j}({\rm CZ}) &a_j({\rm KS})  & N_{j} & b_{j} & A_{j}(x_{i}) \\ \hline
0 & 1.00      &1.00     & 1     & 0     & 1  \\
1 & 0.410     &0.310    & 21/2  & 20/9  & x_{1}-x_{3} \\
2 & -0.550    &-0.370   & 7/2   & 24/9  & 2-3(x_{1}+x_{3}) \\
3 & 0.357     &0.630    & 63/10 & 32/9  & 2-7(x_{1}+x_{3})+8(x_{1}^{2}
                                          +x_{3}^{2})+4x_{1}x_{3} \\
4 & -0.0122   &0.00333  & 567/2 & 40/9  & x_{1}-x_{3}-(4/3)(x_{1}^{2}
                                          -x_{3}^{2}) \\
5 & 0.00106   &0.0632   & 81/5  & 42/9  & 2-7(x_{1}+x_{3})
                                          +14x_{1}x_{3}  \\
  &           &         &       & & +(14/3)(x_{1}^{2}+ x_{3}^{2})\\
\hline\hline
\end{array}  \]



\end{document}






% Psfig/TeX 
\def\PsfigVersion{1.9}
% dvips version
%
% All psfig/tex software, documentation, and related files
% in this distribution of psfig/tex are 
% Copyright 1987, 1988, 1991 Trevor J. Darrell
%
% Permission is granted for use and non-profit distribution of psfig/tex 
% providing that this notice is clearly maintained. The right to
% distribute any portion of psfig/tex for profit or as part of any commercial
% product is specifically reserved for the author(s) of that portion.
%
% *** Feel free to make local modifications of psfig as you wish,
% *** but DO NOT post any changed or modified versions of ``psfig''
% *** directly to the net. Send them to me and I'll try to incorporate
% *** them into future versions. If you want to take the psfig code 
% *** and make a new program (subject to the copyright above), distribute it, 
% *** (and maintain it) that's fine, just don't call it psfig.
%
% Bugs and improvements to trevor@media.mit.edu.
%
% Thanks to Greg Hager (GDH) and Ned Batchelder for their contributions
% to the original version of this project.
%
% Modified by J. Daniel Smith on 9 October 1990 to accept the
% %%BoundingBox: comment with or without a space after the colon.  Stole
% file reading code from Tom Rokicki's EPSF.TEX file (see below).
%
% More modifications by J. Daniel Smith on 29 March 1991 to allow the
% the included PostScript figure to be rotated.  The amount of
% rotation is specified by the "angle=" parameter of the \psfig command.
%
% Modified by Robert Russell on June 25, 1991 to allow users to specify
% .ps filenames which don't yet exist, provided they explicitly provide
% boundingbox information via the \psfig command. Note: This will only work
% if the "file=" parameter follows all four "bb???=" parameters in the
% command. This is due to the order in which psfig interprets these params.
%
%  3 Jul 1991	JDS	check if file already read in once
%  4 Sep 1991	JDS	fixed incorrect computation of rotated
%			bounding box
% 25 Sep 1991	GVR	expanded synopsis of \psfig
% 14 Oct 1991	JDS	\fbox code from LaTeX so \psdraft works with TeX
%			changed \typeout to \ps@typeout
% 17 Oct 1991	JDS	added \psscalefirst and \psrotatefirst
%

% From: gvr@cs.brown.edu (George V. Reilly)
%
% \psdraft	draws an outline box, but doesn't include the figure
%		in the DVI file.  Useful for previewing.
%
% \psfull	includes the figure in the DVI file (default).
%
% \psscalefirst width= or height= specifies the size of the figure
% 		before rotation.
% \psrotatefirst (default) width= or height= specifies the size of the
% 		 figure after rotation.  Asymetric figures will
% 		 appear to shrink.
%
% \psfigurepath#1	sets the path to search for the figure
%
% \psfig
% usage: \psfig{file=, figure=, height=, width=,
%			bbllx=, bblly=, bburx=, bbury=,
%			rheight=, rwidth=, clip=, angle=, silent=}
%
%	"file" is the filename.  If no path name is specified and the
%		file is not found in the current directory,
%		it will be looked for in directory \psfigurepath.
%	"figure" is a synonym for "file".
%	By default, the width and height of the figure are taken from
%		the BoundingBox of the figure.
%	If "width" is specified, the figure is scaled so that it has
%		the specified width.  Its height changes proportionately.
%	If "height" is specified, the figure is scaled so that it has
%		the specified height.  Its width changes proportionately.
%	If both "width" and "height" are specified, the figure is scaled
%		anamorphically.
%	"bbllx", "bblly", "bburx", and "bbury" control the PostScript
%		BoundingBox.  If these four values are specified
%               *before* the "file" option, the PSFIG will not try to
%               open the PostScript file.
%	"rheight" and "rwidth" are the reserved height and width
%		of the figure, i.e., how big TeX actually thinks
%		the figure is.  They default to "width" and "height".
%	The "clip" option ensures that no portion of the figure will
%		appear outside its BoundingBox.  "clip=" is a switch and
%		takes no value, but the `=' must be present.
%	The "angle" option specifies the angle of rotation (degrees, ccw).
%	The "silent" option makes \psfig work silently.
%

% check to see if macros already loaded in (maybe some other file says
% "\input psfig") ...
\ifx\undefined\psfig\else\endinput\fi

%
% from a suggestion by eijkhout@csrd.uiuc.edu to allow
% loading as a style file. Changed to avoid problems
% with amstex per suggestion by jbence@math.ucla.edu

\let\LaTeXAtSign=\@
\let\@=\relax
\edef\psfigRestoreAt{\catcode`\@=\number\catcode`@\relax}
%\edef\psfigRestoreAt{\catcode`@=\number\catcode`@\relax}
\catcode`\@=11\relax
\newwrite\@unused
\def\ps@typeout#1{{\let\protect\string\immediate\write\@unused{#1}}}
\ps@typeout{psfig/tex \PsfigVersion}

%% Here's how you define your figure path.  Should be set up with null
%% default and a user useable definition.

\def\figurepath{./}
\def\psfigurepath#1{\edef\figurepath{#1}}

%
% @psdo control structure -- similar to Latex @for.
% I redefined these with different names so that psfig can
% be used with TeX as well as LaTeX, and so that it will not 
% be vunerable to future changes in LaTeX's internal
% control structure,
%
\def\@nnil{\@nil}
\def\@empty{}
\def\@psdonoop#1\@@#2#3{}
\def\@psdo#1:=#2\do#3{\edef\@psdotmp{#2}\ifx\@psdotmp\@empty \else
    \expandafter\@psdoloop#2,\@nil,\@nil\@@#1{#3}\fi}
\def\@psdoloop#1,#2,#3\@@#4#5{\def#4{#1}\ifx #4\@nnil \else
       #5\def#4{#2}\ifx #4\@nnil \else#5\@ipsdoloop #3\@@#4{#5}\fi\fi}
\def\@ipsdoloop#1,#2\@@#3#4{\def#3{#1}\ifx #3\@nnil 
       \let\@nextwhile=\@psdonoop \else
      #4\relax\let\@nextwhile=\@ipsdoloop\fi\@nextwhile#2\@@#3{#4}}
\def\@tpsdo#1:=#2\do#3{\xdef\@psdotmp{#2}\ifx\@psdotmp\@empty \else
    \@tpsdoloop#2\@nil\@nil\@@#1{#3}\fi}
\def\@tpsdoloop#1#2\@@#3#4{\def#3{#1}\ifx #3\@nnil 
       \let\@nextwhile=\@psdonoop \else
      #4\relax\let\@nextwhile=\@tpsdoloop\fi\@nextwhile#2\@@#3{#4}}
% 
% \fbox is defined in latex.tex; so if \fbox is undefined, assume that
% we are not in LaTeX.
% Perhaps this could be done better???
\ifx\undefined\fbox
% \fbox code from modified slightly from LaTeX
\newdimen\fboxrule
\newdimen\fboxsep
\newdimen\ps@tempdima
\newbox\ps@tempboxa
\fboxsep = 3pt
\fboxrule = .4pt
\long\def\fbox#1{\leavevmode\setbox\ps@tempboxa\hbox{#1}\ps@tempdima\fboxrule
    \advance\ps@tempdima \fboxsep \advance\ps@tempdima \dp\ps@tempboxa
   \hbox{\lower \ps@tempdima\hbox
  {\vbox{\hrule height \fboxrule
          \hbox{\vrule width \fboxrule \hskip\fboxsep
          \vbox{\vskip\fboxsep \box\ps@tempboxa\vskip\fboxsep}\hskip 
                 \fboxsep\vrule width \fboxrule}
                 \hrule height \fboxrule}}}}
\fi
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% file reading stuff from epsf.tex
%   EPSF.TEX macro file:
%   Written by Tomas Rokicki of Radical Eye Software, 29 Mar 1989.
%   Revised by Don Knuth, 3 Jan 1990.
%   Revised by Tomas Rokicki to accept bounding boxes with no
%      space after the colon, 18 Jul 1990.
%   Portions modified/removed for use in PSFIG package by
%      J. Daniel Smith, 9 October 1990.
%
\newread\ps@stream
\newif\ifnot@eof       % continue looking for the bounding box?
\newif\if@noisy        % report what you're making?
\newif\if@atend        % %%BoundingBox: has (at end) specification
\newif\if@psfile       % does this look like a PostScript file?
%
% PostScript files should start with `%!'
%
{\catcode`\%=12\global\gdef\epsf@start{%!}}
\def\epsf@PS{PS}
%
\def\epsf@getbb#1{%
%
%   The first thing we need to do is to open the
%   PostScript file, if possible.
%
\openin\ps@stream=#1
\ifeof\ps@stream\ps@typeout{Error, File #1 not found}\else
%
%   Okay, we got it. Now we'll scan lines until we find one that doesn't
%   start with %. We're looking for the bounding box comment.
%
   {\not@eoftrue \chardef\other=12
    \def\do##1{\catcode`##1=\other}\dospecials \catcode`\ =10
    \loop
       \if@psfile
	  \read\ps@stream to \epsf@fileline
       \else{
	  \obeyspaces
          \read\ps@stream to \epsf@tmp\global\let\epsf@fileline\epsf@tmp}
       \fi
       \ifeof\ps@stream\not@eoffalse\else
%
%   Check the first line for `%!'.  Issue a warning message if its not
%   there, since the file might not be a PostScript file.
%
       \if@psfile\else
       \expandafter\epsf@test\epsf@fileline:. \\%
       \fi
%
%   We check to see if the first character is a % sign;
%   if so, we look further and stop only if the line begins with
%   `%%BoundingBox:' and the `(atend)' specification was not found.
%   That is, the only way to stop is when the end of file is reached,
%   or a `%%BoundingBox: llx lly urx ury' line is found.
%
          \expandafter\epsf@aux\epsf@fileline:. \\%
       \fi
   \ifnot@eof\repeat
   }\closein\ps@stream\fi}%
%
% This tests if the file we are reading looks like a PostScript file.
%
\long\def\epsf@test#1#2#3:#4\\{\def\epsf@testit{#1#2}
			\ifx\epsf@testit\epsf@start\else
\ps@typeout{Warning! File does not start with `\epsf@start'.  It may not be a PostScript file.}
			\fi
			\@psfiletrue} % don't test after 1st line
%
%   We still need to define the tricky \epsf@aux macro. This requires
%   a couple of magic constants for comparison purposes.
%
{\catcode`\%=12\global\let\epsf@percent=%\global\def\epsf@bblit{%BoundingBox}}
%
%
%   So we're ready to check for `%BoundingBox:' and to grab the
%   values if they are found.  We continue searching if `(at end)'
%   was found after the `%BoundingBox:'.
%
\long\def\epsf@aux#1#2:#3\\{\ifx#1\epsf@percent
   \def\epsf@testit{#2}\ifx\epsf@testit\epsf@bblit
	\@atendfalse
        \epsf@atend #3 . \\%
	\if@atend	
	   \if@verbose{
		\ps@typeout{psfig: found `(atend)'; continuing search}
	   }\fi
        \else
        \epsf@grab #3 . . . \\%
        \not@eoffalse
        \global\no@bbfalse
        \fi
   \fi\fi}%
%
%   Here we grab the values and stuff them in the appropriate definitions.
%
\def\epsf@grab #1 #2 #3 #4 #5\\{%
   \global\def\epsf@llx{#1}\ifx\epsf@llx\empty
      \epsf@grab #2 #3 #4 #5 .\\\else
   \global\def\epsf@lly{#2}%
   \global\def\epsf@urx{#3}\global\def\epsf@ury{#4}\fi}%
%
% Determine if the stuff following the %%BoundingBox is `(atend)'
% J. Daniel Smith.  Copied from \epsf@grab above.
%
\def\epsf@atendlit{(atend)} 
\def\epsf@atend #1 #2 #3\\{%
   \def\epsf@tmp{#1}\ifx\epsf@tmp\empty
      \epsf@atend #2 #3 .\\\else
   \ifx\epsf@tmp\epsf@atendlit\@atendtrue\fi\fi}


% End of file reading stuff from epsf.tex
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% trigonometry stuff from "trig.tex"
\chardef\psletter = 11 % won't conflict with \begin{letter} now...
\chardef\other = 12

\newif \ifdebug %%% turn me on to see TeX hard at work ...
\newif\ifc@mpute %%% don't need to compute some values
\c@mputetrue % but assume that we do

\let\then = \relax
\def\r@dian{pt }
\let\r@dians = \r@dian
\let\dimensionless@nit = \r@dian
\let\dimensionless@nits = \dimensionless@nit
\def\internal@nit{sp }
\let\internal@nits = \internal@nit
\newif\ifstillc@nverging
\def \Mess@ge #1{\ifdebug \then \message {#1} \fi}

{ %%% Things that need abnormal catcodes %%%
	\catcode `\@ = \psletter
	\gdef \nodimen {\expandafter \n@dimen \the \dimen}
	\gdef \term #1 #2 #3%
	       {\edef \t@ {\the #1}%%% freeze parameter 1 (count, by value)
		\edef \t@@ {\expandafter \n@dimen \the #2\r@dian}%
				   %%% freeze parameter 2 (dimen, by value)
		\t@rm {\t@} {\t@@} {#3}%
	       }
	\gdef \t@rm #1 #2 #3%
	       {{%
		\count 0 = 0
		\dimen 0 = 1 \dimensionless@nit
		\dimen 2 = #2\relax
		\Mess@ge {Calculating term #1 of \nodimen 2}%
		\loop
		\ifnum	\count 0 < #1
		\then	\advance \count 0 by 1
			\Mess@ge {Iteration \the \count 0 \space}%
			\Multiply \dimen 0 by {\dimen 2}%
			\Mess@ge {After multiplication, term = \nodimen 0}%
			\Divide \dimen 0 by {\count 0}%
			\Mess@ge {After division, term = \nodimen 0}%
		\repeat
		\Mess@ge {Final value for term #1 of 
				\nodimen 2 \space is \nodimen 0}%
		\xdef \Term {#3 = \nodimen 0 \r@dians}%
		\aftergroup \Term
	       }}
	\catcode `\p = \other
	\catcode `\t = \other
	\gdef \n@dimen #1pt{#1} %%% throw away the ``pt''
}

\def \Divide #1by #2{\divide #1 by #2} %%% just a synonym

\def \Multiply #1by #2%%% allows division of a dimen by a dimen
       {{%%% should really freeze parameter 2 (dimen, passed by value)
	\count 0 = #1\relax
	\count 2 = #2\relax
	\count 4 = 65536
	\Mess@ge {Before scaling, count 0 = \the \count 0 \space and
			count 2 = \the \count 2}%
	\ifnum	\count 0 > 32767 %%% do our best to avoid overflow
	\then	\divide \count 0 by 4
		\divide \count 4 by 4
	\else	\ifnum	\count 0 < -32767
		\then	\divide \count 0 by 4
			\divide \count 4 by 4
		\else
		\fi
	\fi
	\ifnum	\count 2 > 32767 %%% while retaining reasonable accuracy
	\then	\divide \count 2 by 4
		\divide \count 4 by 4
	\else	\ifnum	\count 2 < -32767
		\then	\divide \count 2 by 4
			\divide \count 4 by 4
		\else
		\fi
	\fi
	\multiply \count 0 by \count 2
	\divide \count 0 by \count 4
	\xdef \product {#1 = \the \count 0 \internal@nits}%
	\aftergroup \product
       }}

\def\r@duce{\ifdim\dimen0 > 90\r@dian \then   % sin(x+90) = sin(180-x)
		\multiply\dimen0 by -1
		\advance\dimen0 by 180\r@dian
		\r@duce
	    \else \ifdim\dimen0 < -90\r@dian \then  % sin(-x) = sin(360+x)
		\advance\dimen0 by 360\r@dian
		\r@duce
		\fi
	    \fi}

\def\Sine#1%
       {{%
	\dimen 0 = #1 \r@dian
	\r@duce
	\ifdim\dimen0 = -90\r@dian \then
	   \dimen4 = -1\r@dian
	   \c@mputefalse
	\fi
	\ifdim\dimen0 = 90\r@dian \then
	   \dimen4 = 1\r@dian
	   \c@mputefalse
	\fi
	\ifdim\dimen0 = 0\r@dian \then
	   \dimen4 = 0\r@dian
	   \c@mputefalse
	\fi
%
	\ifc@mpute \then
        	% convert degrees to radians
		\divide\dimen0 by 180
		\dimen0=3.141592654\dimen0
%
		\dimen 2 = 3.1415926535897963\r@dian %%% a well-known constant
		\divide\dimen 2 by 2 %%% we only deal with -pi/2 : pi/2
		\Mess@ge {Sin: calculating Sin of \nodimen 0}%
		\count 0 = 1 %%% see power-series expansion for sine
		\dimen 2 = 1 \r@dian %%% ditto
		\dimen 4 = 0 \r@dian %%% ditto
		\loop
			\ifnum	\dimen 2 = 0 %%% then we've done
			\then	\stillc@nvergingfalse 
			\else	\stillc@nvergingtrue
			\fi
			\ifstillc@nverging %%% then calculate next term
			\then	\term {\count 0} {\dimen 0} {\dimen 2}%
				\advance \count 0 by 2
				\count 2 = \count 0
				\divide \count 2 by 2
				\ifodd	\count 2 %%% signs alternate
				\then	\advance \dimen 4 by \dimen 2
				\else	\advance \dimen 4 by -\dimen 2
				\fi
		\repeat
	\fi		
			\xdef \sine {\nodimen 4}%
       }}

% Now the Cosine can be calculated easily by calling \Sine
\def\Cosine#1{\ifx\sine\UnDefined\edef\Savesine{\relax}\else
		             \edef\Savesine{\sine}\fi
	{\dimen0=#1\r@dian\advance\dimen0 by 90\r@dian
	 \Sine{\nodimen 0}
	 \xdef\cosine{\sine}
	 \xdef\sine{\Savesine}}}	      
% end of trig stuff
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\def\psdraft{
	\def\@psdraft{0}
	%\ps@typeout{draft level now is \@psdraft \space . }
}
\def\psfull{
	\def\@psdraft{100}
	%\ps@typeout{draft level now is \@psdraft \space . }
}

\psfull

\newif\if@scalefirst
\def\psscalefirst{\@scalefirsttrue}
\def\psrotatefirst{\@scalefirstfalse}
\psrotatefirst

\newif\if@draftbox
\def\psnodraftbox{
	\@draftboxfalse
}
\def\psdraftbox{
	\@draftboxtrue
}
\@draftboxtrue

\newif\if@prologfile
\newif\if@postlogfile
\def\pssilent{
	\@noisyfalse
}
\def\psnoisy{
	\@noisytrue
}
\psnoisy
%%% These are for the option list.
%%% A specification of the form a = b maps to calling \@p@@sa{b}
\newif\if@bbllx
\newif\if@bblly
\newif\if@bburx
\newif\if@bbury
\newif\if@height
\newif\if@width
\newif\if@rheight
\newif\if@rwidth
\newif\if@angle
\newif\if@clip
\newif\if@verbose
\def\@p@@sclip#1{\@cliptrue}


\newif\if@decmpr

%%% GDH 7/26/87 -- changed so that it first looks in the local directory,
%%% then in a specified global directory for the ps file.
%%% RPR 6/25/91 -- changed so that it defaults to user-supplied name if
%%% boundingbox info is specified, assuming graphic will be created by
%%% print time.
%%% TJD 10/19/91 -- added bbfile vs. file distinction, and @decmpr flag

\def\@p@@sfigure#1{\def\@p@sfile{null}\def\@p@sbbfile{null}
	        \openin1=#1.bb
		\ifeof1\closein1
	        	\openin1=\figurepath#1.bb
			\ifeof1\closein1
			        \openin1=#1
				\ifeof1\closein1%
				       \openin1=\figurepath#1
					\ifeof1
					   \ps@typeout{Error, File #1 not found}
						\if@bbllx\if@bblly
				   		\if@bburx\if@bbury
			      				\def\@p@sfile{#1}%
			      				\def\@p@sbbfile{#1}%
							\@decmprfalse
				  	   	\fi\fi\fi\fi
					\else\closein1
				    		\def\@p@sfile{\figurepath#1}%
				    		\def\@p@sbbfile{\figurepath#1}%
						\@decmprfalse
	                       		\fi%
			 	\else\closein1%
					\def\@p@sfile{#1}
					\def\@p@sbbfile{#1}
					\@decmprfalse
			 	\fi
			\else
				\def\@p@sfile{\figurepath#1}
				\def\@p@sbbfile{\figurepath#1.bb}
				\@decmprtrue
			\fi
		\else
			\def\@p@sfile{#1}
			\def\@p@sbbfile{#1.bb}
			\@decmprtrue
		\fi}

\def\@p@@sfile#1{\@p@@sfigure{#1}}

\def\@p@@sbbllx#1{
		%\ps@typeout{bbllx is #1}
		\@bbllxtrue
		\dimen100=#1
		\edef\@p@sbbllx{\number\dimen100}
}
\def\@p@@sbblly#1{
		%\ps@typeout{bblly is #1}
		\@bbllytrue
		\dimen100=#1
		\edef\@p@sbblly{\number\dimen100}
}
\def\@p@@sbburx#1{
		%\ps@typeout{bburx is #1}
		\@bburxtrue
		\dimen100=#1
		\edef\@p@sbburx{\number\dimen100}
}
\def\@p@@sbbury#1{
		%\ps@typeout{bbury is #1}
		\@bburytrue
		\dimen100=#1
		\edef\@p@sbbury{\number\dimen100}
}
\def\@p@@sheight#1{
		\@heighttrue
		\dimen100=#1
   		\edef\@p@sheight{\number\dimen100}
		%\ps@typeout{Height is \@p@sheight}
}
\def\@p@@swidth#1{
		%\ps@typeout{Width is #1}
		\@widthtrue
		\dimen100=#1
		\edef\@p@swidth{\number\dimen100}
}
\def\@p@@srheight#1{
		%\ps@typeout{Reserved height is #1}
		\@rheighttrue
		\dimen100=#1
		\edef\@p@srheight{\number\dimen100}
}
\def\@p@@srwidth#1{
		%\ps@typeout{Reserved width is #1}
		\@rwidthtrue
		\dimen100=#1
		\edef\@p@srwidth{\number\dimen100}
}
\def\@p@@sangle#1{
		%\ps@typeout{Rotation is #1}
		\@angletrue
%		\dimen100=#1
		\edef\@p@sangle{#1} %\number\dimen100}
}
\def\@p@@ssilent#1{ 
		\@verbosefalse
}
\def\@p@@sprolog#1{\@prologfiletrue\def\@prologfileval{#1}}
\def\@p@@spostlog#1{\@postlogfiletrue\def\@postlogfileval{#1}}
\def\@cs@name#1{\csname #1\endcsname}
\def\@setparms#1=#2,{\@cs@name{@p@@s#1}{#2}}
%
% initialize the defaults (size the size of the figure)
%
\def\ps@init@parms{
		\@bbllxfalse \@bbllyfalse
		\@bburxfalse \@bburyfalse
		\@heightfalse \@widthfalse
		\@rheightfalse \@rwidthfalse
		\def\@p@sbbllx{}\def\@p@sbblly{}
		\def\@p@sbburx{}\def\@p@sbbury{}
		\def\@p@sheight{}\def\@p@swidth{}
		\def\@p@srheight{}\def\@p@srwidth{}
		\def\@p@sangle{0}
		\def\@p@sfile{} \def\@p@sbbfile{}
		\def\@p@scost{10}
		\def\@sc{}
		\@prologfilefalse
		\@postlogfilefalse
		\@clipfalse
		\if@noisy
			\@verbosetrue
		\else
			\@verbosefalse
		\fi
}
%
% Go through the options setting things up.
%
\def\parse@ps@parms#1{
	 	\@psdo\@psfiga:=#1\do
		   {\expandafter\@setparms\@psfiga,}}
%
% Compute bb height and width
%
\newif\ifno@bb
\def\bb@missing{
	\if@verbose{
		\ps@typeout{psfig: searching \@p@sbbfile \space  for bounding box}
	}\fi
	\no@bbtrue
	\epsf@getbb{\@p@sbbfile}
        \ifno@bb \else \bb@cull\epsf@llx\epsf@lly\epsf@urx\epsf@ury\fi
}	
\def\bb@cull#1#2#3#4{
	\dimen100=#1 bp\edef\@p@sbbllx{\number\dimen100}
	\dimen100=#2 bp\edef\@p@sbblly{\number\dimen100}
	\dimen100=#3 bp\edef\@p@sbburx{\number\dimen100}
	\dimen100=#4 bp\edef\@p@sbbury{\number\dimen100}
	\no@bbfalse
}
% rotate point (#1,#2) about (0,0).
% The sine and cosine of the angle are already stored in \sine and
% \cosine.  The result is placed in (\p@intvaluex, \p@intvaluey).
\newdimen\p@intvaluex
\newdimen\p@intvaluey
\def\rotate@#1#2{{\dimen0=#1 sp\dimen1=#2 sp
%            	calculate x' = x \cos\theta - y \sin\theta
		  \global\p@intvaluex=\cosine\dimen0
		  \dimen3=\sine\dimen1
		  \global\advance\p@intvaluex by -\dimen3
% 		calculate y' = x \sin\theta + y \cos\theta
		  \global\p@intvaluey=\sine\dimen0
		  \dimen3=\cosine\dimen1
		  \global\advance\p@intvaluey by \dimen3
		  }}
\def\compute@bb{
		\no@bbfalse
		\if@bbllx \else \no@bbtrue \fi
		\if@bblly \else \no@bbtrue \fi
		\if@bburx \else \no@bbtrue \fi
		\if@bbury \else \no@bbtrue \fi
		\ifno@bb \bb@missing \fi
		\ifno@bb \ps@typeout{FATAL ERROR: no bb supplied or found}
			\no-bb-error
		\fi
		%
%\ps@typeout{BB: \@p@sbbllx, \@p@sbblly, \@p@sbburx, \@p@sbbury} 
%
% store height/width of original (unrotated) bounding box
		\count203=\@p@sbburx
		\count204=\@p@sbbury
		\advance\count203 by -\@p@sbbllx
		\advance\count204 by -\@p@sbblly
		\edef\ps@bbw{\number\count203}
		\edef\ps@bbh{\number\count204}
		%\ps@typeout{ psbbh = \ps@bbh, psbbw = \ps@bbw }
		\if@angle 
			\Sine{\@p@sangle}\Cosine{\@p@sangle}
	        	{\dimen100=\maxdimen\xdef\r@p@sbbllx{\number\dimen100}
					    \xdef\r@p@sbblly{\number\dimen100}
			                    \xdef\r@p@sbburx{-\number\dimen100}
					    \xdef\r@p@sbbury{-\number\dimen100}}
%
% Need to rotate all four points and take the X-Y extremes of the new
% points as the new bounding box.
                        \def\minmaxtest{
			   \ifnum\number\p@intvaluex<\r@p@sbbllx
			      \xdef\r@p@sbbllx{\number\p@intvaluex}\fi
			   \ifnum\number\p@intvaluex>\r@p@sbburx
			      \xdef\r@p@sbburx{\number\p@intvaluex}\fi
			   \ifnum\number\p@intvaluey<\r@p@sbblly
			      \xdef\r@p@sbblly{\number\p@intvaluey}\fi
			   \ifnum\number\p@intvaluey>\r@p@sbbury
			      \xdef\r@p@sbbury{\number\p@intvaluey}\fi
			   }
%			lower left
			\rotate@{\@p@sbbllx}{\@p@sbblly}
			\minmaxtest
%			upper left
			\rotate@{\@p@sbbllx}{\@p@sbbury}
			\minmaxtest
%			lower right
			\rotate@{\@p@sbburx}{\@p@sbblly}
			\minmaxtest
%			upper right
			\rotate@{\@p@sbburx}{\@p@sbbury}
			\minmaxtest
			\edef\@p@sbbllx{\r@p@sbbllx}\edef\@p@sbblly{\r@p@sbblly}
			\edef\@p@sbburx{\r@p@sbburx}\edef\@p@sbbury{\r@p@sbbury}
%\ps@typeout{rotated BB: \r@p@sbbllx, \r@p@sbblly, \r@p@sbburx, \r@p@sbbury}
		\fi
		\count203=\@p@sbburx
		\count204=\@p@sbbury
		\advance\count203 by -\@p@sbbllx
		\advance\count204 by -\@p@sbblly
		\edef\@bbw{\number\count203}
		\edef\@bbh{\number\count204}
		%\ps@typeout{ bbh = \@bbh, bbw = \@bbw }
}
%
% \in@hundreds performs #1 * (#2 / #3) correct to the hundreds,
%	then leaves the result in @result
%
\def\in@hundreds#1#2#3{\count240=#2 \count241=#3
		     \count100=\count240	% 100 is first digit #2/#3
		     \divide\count100 by \count241
		     \count101=\count100
		     \multiply\count101 by \count241
		     \advance\count240 by -\count101
		     \multiply\count240 by 10
		     \count101=\count240	%101 is second digit of #2/#3
		     \divide\count101 by \count241
		     \count102=\count101
		     \multiply\count102 by \count241
		     \advance\count240 by -\count102
		     \multiply\count240 by 10
		     \count102=\count240	% 102 is the third digit
		     \divide\count102 by \count241
		     \count200=#1\count205=0
		     \count201=\count200
			\multiply\count201 by \count100
		 	\advance\count205 by \count201
		     \count201=\count200
			\divide\count201 by 10
			\multiply\count201 by \count101
			\advance\count205 by \count201
			%
		     \count201=\count200
			\divide\count201 by 100
			\multiply\count201 by \count102
			\advance\count205 by \count201
			%
		     \edef\@result{\number\count205}
}
\def\compute@wfromh{
		% computing : width = height * (bbw / bbh)
		\in@hundreds{\@p@sheight}{\@bbw}{\@bbh}
		%\ps@typeout{ \@p@sheight * \@bbw / \@bbh, = \@result }
		\edef\@p@swidth{\@result}
		%\ps@typeout{w from h: width is \@p@swidth}
}
\def\compute@hfromw{
		% computing : height = width * (bbh / bbw)
	        \in@hundreds{\@p@swidth}{\@bbh}{\@bbw}
		%\ps@typeout{ \@p@swidth * \@bbh / \@bbw = \@result }
		\edef\@p@sheight{\@result}
		%\ps@typeout{h from w : height is \@p@sheight}
}
\def\compute@handw{
		\if@height 
			\if@width
			\else
				\compute@wfromh
			\fi
		\else 
			\if@width
				\compute@hfromw
			\else
				\edef\@p@sheight{\@bbh}
				\edef\@p@swidth{\@bbw}
			\fi
		\fi
}
\def\compute@resv{
		\if@rheight \else \edef\@p@srheight{\@p@sheight} \fi
		\if@rwidth \else \edef\@p@srwidth{\@p@swidth} \fi
		%\ps@typeout{rheight = \@p@srheight, rwidth = \@p@srwidth}
}
%		
% Compute any missing values
\def\compute@sizes{
	\compute@bb
	\if@scalefirst\if@angle
% at this point the bounding box has been adjsuted correctly for
% rotation.  PSFIG does all of its scaling using \@bbh and \@bbw.  If
% a width= or height= was specified along with \psscalefirst, then the
% width=/height= value needs to be adjusted to match the new (rotated)
% bounding box size (specifed in \@bbw and \@bbh).
%    \ps@bbw       width=
%    -------  =  ---------- 
%    \@bbw       new width=
% so `new width=' = (width= * \@bbw) / \ps@bbw; where \ps@bbw is the
% width of the original (unrotated) bounding box.
	\if@width
	   \in@hundreds{\@p@swidth}{\@bbw}{\ps@bbw}
	   \edef\@p@swidth{\@result}
	\fi
	\if@height
	   \in@hundreds{\@p@sheight}{\@bbh}{\ps@bbh}
	   \edef\@p@sheight{\@result}
	\fi
	\fi\fi
	\compute@handw
	\compute@resv}

%
% \psfig
% usage : \psfig{file=, height=, width=, bbllx=, bblly=, bburx=, bbury=,
%			rheight=, rwidth=, clip=}
%
% "clip=" is a switch and takes no value, but the `=' must be present.
\def\psfig#1{\vbox {
	% do a zero width hard space so that a single
	% \psfig in a centering enviornment will behave nicely
	%{\setbox0=\hbox{\ }\ \hskip-\wd0}
	%
	\ps@init@parms
	\parse@ps@parms{#1}
	\compute@sizes
	%
	\ifnum\@p@scost<\@psdraft{
		%
		\special{ps::[begin] 	\@p@swidth \space \@p@sheight \space
				\@p@sbbllx \space \@p@sbblly \space
				\@p@sbburx \space \@p@sbbury \space
				startTexFig \space }
		\if@angle
			\special {ps:: \@p@sangle \space rotate \space} 
		\fi
		\if@clip{
			\if@verbose{
				\ps@typeout{(clip)}
			}\fi
			\special{ps:: doclip \space }
		}\fi
		\if@prologfile
		    \special{ps: plotfile \@prologfileval \space } \fi
		\if@decmpr{
			\if@verbose{
				\ps@typeout{psfig: including \@p@sfile.Z \space }
			}\fi
			\special{ps: plotfile "`zcat \@p@sfile.Z" \space }
		}\else{
			\if@verbose{
				\ps@typeout{psfig: including \@p@sfile \space }
			}\fi
			\special{ps: plotfile \@p@sfile \space }
		}\fi
		\if@postlogfile
		    \special{ps: plotfile \@postlogfileval \space } \fi
		\special{ps::[end] endTexFig \space }
		% Create the vbox to reserve the space for the figure.
		\vbox to \@p@srheight sp{
		% 1/92 TJD Changed from "true sp" to "sp" for magnification.
			\hbox to \@p@srwidth sp{
				\hss
			}
		\vss
		}
	}\else{
		% draft figure, just reserve the space and print the
		% path name.
		\if@draftbox{		
			% Verbose draft: print file name in box
			\hbox{\frame{\vbox to \@p@srheight sp{
			\vss
			\hbox to \@p@srwidth sp{ \hss \@p@sfile \hss }
			\vss
			}}}
		}\else{
			% Non-verbose draft
			\vbox to \@p@srheight sp{
			\vss
			\hbox to \@p@srwidth sp{\hss}
			\vss
			}
		}\fi	



	}\fi
}}
\psfigRestoreAt
\let\@=\LaTeXAtSign

