A Hybrid Quantum Encoding Algorithm of Vector Quantization for Image Compression
Chao-Yang Pang$^{1,2}$
Many classical encoding algorithms of Vector Quantization (VQ) of image compression that can obtain global optimal solution have computational complexity $O(N)$. A pure quantum VQ encoding algorithm with probability of success near 100\% has been proposed , that performs operations $45\sqrt{N}$ times approximately. In this paper, a hybrid quantum VQ encoding algorithm between classical method and quantum algorithm is presented. The number of its operations is less than $\sqrt{N}$ for most images, and it is more efficient than the pure quantum algorithm.
2006Jun18.tex
%\input{tcilatex}
%\input{tcilatex}


\documentclass[preprint, onecolumn,preprintnumbers,tightenlines,floatfix, epsfig, showkeys]{revtex4}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{dcolumn}
\usepackage{bm}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage[ansinew]{inputenc}
\usepackage{graphicx}
\usepackage{color}
\usepackage[colorlinks]{hyperref}
\usepackage{eurosym}

\setcounter{MaxMatrixCols}{10}
%TCIDATA{OutputFilter=Latex.dll}
%TCIDATA{Version=5.00.0.2552}
%TCIDATA{<META NAME="SaveForMode" CONTENT="1">}
%TCIDATA{LastRevised=Monday, June 19, 2006 22:35:41}
%TCIDATA{<META NAME="GraphicsSave" CONTENT="32">}

\catcode`\=13
\def{$\bowtie$}
\DeclareInputText{128}{\euro} \DeclareInputText{165}{\yen}
\newtheorem{theorem}{Theorem}
\newtheorem{acknowledgement}[theorem]{Acknowledgement}
\newtheorem{algorithm}[theorem]{Algorithm}
\newtheorem{axiom}[theorem]{Axiom}
\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}
\newtheorem{proof}[theorem]{Proof}
\input{tcilatex}

\begin{document}

\title{A Hybrid Quantum Encoding Algorithm of Vector Quantization for Image
Compression}
\author{Chao-Yang Pang$^{1,2}$}
\email{cyp_900@hotmail.com}
\author{Zheng-Wei Zhou$^{1}$}
\email{zwzhou@ustc.edu.cn}
\author{Guang-Can Guo$^{1}$}
\email{gcguo@ustc.edu.cn}
\affiliation{Key Laboratory of Quantum Information, University of Science and Technology
of China, Chinese Academy of Sciences, Hefei, Anhui 230026, China$^{1}$\\
College of Mathematics and Software Science, Sichuan Normal University,
Chengdu, Sichuan 610066, People's Republic of China$^{2}$}

\begin{abstract}
Many classical encoding algorithms of Vector Quantization (VQ) of image
compression that can obtain global optimal solution have computational
complexity $O(N)$. A pure quantum VQ encoding algorithm with probability of
success near 100\% has been proposed , that performs operations $45\sqrt{N}$
times approximately. In this paper, a hybrid quantum VQ encoding algorithm
between classical method and quantum algorithm is presented. The number of
its operations is less than $\sqrt{N}$ for most images, and it is more
efficient than the pure quantum algorithm.
\end{abstract}

\keywords{Vector Quantization, Grover's Algorithm, Image Compression,
Quantum Algorithm}
\maketitle

\section{Introduction}

The two open research problem of vector quantization (VQ) are to design
real-time encoding algorithm and to design the codebook generation algorithm
that can generate approximately local optimal solution (finding global
optimal solution is NPC problem) \cite{1}. The property of local clustering
is revealed by Pang \cite{1} and it is used to design fast codebook
generation algorithm, that is faster than the famous LBG algorithm by a
factor of $4\symbol{126}13$ \cite{2}. But the other open problem, i.e., fast
encoding of VQ with global optimal solution has not been solved. The
encoding is described as \cite{1}:

Let codebook

\begin{equation*}
C=\{c[i]\mid \,0\leq i<N,c[i]\in R^{k},k\geq 1\}
\end{equation*}
\ \ 

For an arbitrary input vector $x\in R^{k}$ , we have to find the index $%
i_{0} $ such that distance $d(x,c[i_{0}])$ is minimum, where $R^{k}$ is $k-$
dimensional Euclidean Space. Vector $c[i]$ is called codevector.

Grover's algorithm \cite{3} is famous quantum search algorithm, and its
accuracy of rotation is improved recently \cite{4}. G.-L. Long proposes a
modified Grover's algorithm$\ $\cite{5}. Long's algorithm has the
probability of success 100\% even for the case that the size of database $N$
is very small. This property of Long's algorithm is suitable for quantum
image compression because $N$ is not a giant number in image compression in
general. Some hybrid search algorithms have also been proposed to improve
efficiency of algorithms \cite{6,7}, in which more physical resources are
used to commute the efficiency.\newline

Boyer, Brassard, H$\phi $yer and Tap propose an iteration algorithm named
BBHT algorithm in this paper, in which the Grover iteration is applied
repeatedly \cite{8}. BBHT algorithm (Boyer, Brassard, H$\phi $yer, Tap) \cite%
{8} is designed specially to solve the searching case that the number of
solutions is unknown.\newline

Quantum image compression is possible \cite{9,10,11}. Pang et.al., present a
Quantum Discrete Cosine Transformation (QDCT) for image compression \cite{9}%
. The method of QDCT can be applied to other transformation such as Fourier
transformation and classical output will be brought. Latorre presents a nice
and maybe hopeful quantum image compression method. Latorre's algorithm
requires that quantization method (scalar quantization or VQ) is
incorporated with it. Otherwise, it is not competitive with classical
methods \cite{10}. Pang, et.al., present a pure quantum VQ encoding
algorithm with probability of success near100\%, that performs operations $45%
\sqrt{N}$ times approximately \cite{11}.\newline
This paper presents a hybrid quantum VQ algorithm between classical method
and quantum algorithm to solve the \textit{open problem} of fast encoding of
VQ. And the number of its operations is less than $\sqrt{N}$ and its
probability of success is 100\% approximately.

\begin{notation}
$x$: \textit{input vector}
\end{notation}

\begin{notation}
$\delta _{0}=\min \{d(c[i],c[j])\mid \,i\neq j,0\leq i,j<N\}$
\end{notation}

\begin{notation}
$I$\textit{: whole encoding space}
\end{notation}

\begin{notation}
$S=\{x\,\mid \,d(x,c[i_{0}])<\frac{\delta _{0}}{2}\}$ and $T=\{x\,\mid
\,d(x,c[i_{0}])<\hat{\delta}\}$\textit{, where }$\hat{\delta}\geq \frac{%
\delta _{0}}{2}$.
\end{notation}

\begin{notation}
$\Omega (c[i])=\{c[j]\mid \,d(c[i],c[j])<2\hat{\delta},c[j]\in C\}$
\end{notation}

\begin{notation}
$Inf_{\Omega }=\min \{\mid \,\Omega \lbrack c[i]]\mid \mid \,0\leq i<N\}$
\end{notation}

All of the notations are diagrammatized in figure 2.\newline

Parameter $\delta _{0}$ can be calculated before encoding. The classical
data structure of $\Omega (c[i])$ can be constructed using classical method
before encoding (see figure 3).

\section{Quantum VQ Inequality Iteration and Quantum VQ Encoding}

Pang et.al., present a quantum representation of image to which database
technique is applied \cite{9}, and this quantum method is also used to
represent data of image in this paper.

\begin{definition}
Oracle $O_{d}$ :
\end{definition}

\begin{equation*}
\left\vert \delta \right\rangle \left\vert x\right\rangle \left\vert
i\right\rangle \left\vert c[i]\right\rangle \left\vert 0\right\rangle 
\overset{O_{d}}{\rightarrow }\left\vert \delta \right\rangle \left\vert
x\right\rangle \left\vert i\right\rangle \left\vert c[i]\right\rangle
\left\vert d(x,c[i])\right\rangle
\end{equation*}

$O_{d}$ is used to compute the distance $d(x,c[i])$ and $(O_{d})^{-1}$ is
the inverse transformation of it.

\begin{definition}
Oracle $O_{f}$ :
\end{definition}

\begin{equation*}
\left\vert \delta \right\rangle \left\vert x\right\rangle \left\vert
i\right\rangle \left\vert c[i]\right\rangle \left\vert
d(x,c[i])\right\rangle \overset{O_{f}}{\rightarrow }(-1)^{f(i)}\left\vert
\delta \right\rangle \left\vert x\right\rangle \left\vert i\right\rangle
\left\vert c[i]\right\rangle \left\vert d(x,c[i])\right\rangle
\end{equation*}%
, where function $f(i)$ is defined as

\begin{equation*}
f(i)=\left\{ 
\begin{tabular}{c}
\begin{tabular}{ccc}
$1$ & \ if & $d(x,c[i])<\delta $%
\end{tabular}
\\ 
\begin{tabular}{cc}
$0$ \ \ \ \ \ \ \ \  & otherwise%
\end{tabular}%
\end{tabular}%
\right.
\end{equation*}

\begin{definition}
quantum VQ inequality iteration $G_{inequality}$ :
\end{definition}

\begin{equation*}
G_{inequality}=(2\left\vert \xi \right\rangle \left\langle \xi \right\vert
-I)(U_{L})^{-1}(O_{d})^{-1}O_{f}O_{d}U_{L}
\end{equation*}%
, where $\left\vert \xi \right\rangle =\frac{1}{\sqrt{N}}\sum%
\limits_{i=0}^{N-1}\left\vert i\right\rangle $ and the unitary operation $%
U_{L}$ and $(U_{L})^{-1}$ is $LOAD$ operation that loads data into registers
from memory \cite{9}.

\begin{definition}
operation $U_{L}$:
\end{definition}

\begin{equation*}
\left\vert \delta \right\rangle \left\vert x\right\rangle \left\vert
i\right\rangle \left\vert 0\right\rangle \left\vert 0\right\rangle \overset{%
U_{L}}{\rightarrow }\left\vert \delta \right\rangle \left\vert
x\right\rangle \left\vert i\right\rangle \left\vert c[i]\right\rangle
\left\vert 0\right\rangle
\end{equation*}

\subsection{Sub-procedure 1: the Quantum VQ for $x\in S$}

\begin{algorithm}
Sub-procedure 1
\end{algorithm}

\begin{itemize}
\item[Step 1] Let $\delta =\frac{\delta _{0}}{2}$.

\item[Step 2] Generate the initial state$\mid \,\Psi _{0}>=\frac{1}{\sqrt{N}}%
\sum\limits_{i=0}^{N-1}(\left\vert \delta \right\rangle \left\vert
x\right\rangle \left\vert i\right\rangle \left\vert 0\right\rangle
\left\vert 0\right\rangle )$.

\item[Step 3] Perform the iteration $G_{inequality}$ $t=\left[ \frac{\pi }{4}%
\sqrt{N}\right] $ times:
\end{itemize}

\begin{equation*}
\mid \Psi _{t}>=(G_{inequality})^{t}\,\mid \,\psi _{0}>
\end{equation*}

\begin{itemize}
\item[Step 4] Observe the third register: let $i_{0}$ be the outcome.
Compute $d_{0}=d(x,c[i_{0}])$ classically.
\end{itemize}

\ \ If $d_{0}<\delta $ , the result is $i_{0}$ , otherwise go to
Sub-procedure 2.

\bigskip

If there exists a vector $c[i_{0}]\in C$ such that $d(x,c[i_{0}])<\frac{%
\delta _{0}}{2}$, the vector $c[i_{0}]$ is the closest codevector of $x\in S$
and it is the \textit{unique} closest codevector \cite{1}. And the iteration 
$G_{inequality}$ acts only on $N-$ dimensional subspace \cite{9,11}.
Therefore, by Grover's algorithm, sub-procedure 1 performs the operation $%
G_{inequality}$ $\left[ \frac{\pi }{4}\sqrt{N}\right] $ times approximately.
That is, sub-procedure 1 has time complexity $\left[ \frac{\pi }{4}\sqrt{N}%
\right] $.

\subsection{Sub-procedure 2: the Quantum VQ for $x\in (T-S)$ or $x\in (I-T)$}

\begin{algorithm}
Sub-Procedure 2
\end{algorithm}

\begin{itemize}
\item[Step 1] Initialize $m=1$ and $\lambda =\frac{6}{5}$.

\item[Step 2] We choose an experiential value $\hat{\delta}$ such that the
set $T$ can cover the whole encoding space $I$ approximately.

\item[Step 3] Choose $j$ uniformly at random among the nonnegative integers
not bigger than $m$.

\item[Step 4] Generate the initial state $\mid \Psi _{0}>=\frac{1}{\sqrt{N}}%
\sum\limits_{i=0}^{N-1}(\left\vert \delta \right\rangle \left\vert
x\right\rangle \left\vert i\right\rangle \left\vert 0\right\rangle
\left\vert 0\right\rangle )$

\item[Step 5] Apply $j$ iterations of the iteration $G_{inequality}$
starting from the state $\mid \Psi _{0}>$:
\end{itemize}

\begin{equation*}
\mid \Psi _{j}>=(G_{inequality})^{j}\,\mid \,\psi _{0}>
\end{equation*}

\begin{itemize}
\item[Step 6] Observe the third register: let $h$ be the outcome.

\item[Step 7] Perform classical computing $y_{0}=d(x,c[h])$.
\end{itemize}

\ \ If $y_{0}<\hat{\delta}$, classically full search the corresponding
neighborhood $\Omega (c[h])$ to obtain the closest codevector $c[i_{0}]$ ;
The result is $i_{0}$ and \textbf{exit}.

\begin{itemize}
\item[Step 8] Otherwise, set $m$ to $\min \{\lambda m,\sqrt{N}\}$ and go to
step 3.

\item[Step 9] \textbf{Encoding for} $I-T$ \textbf{:} If $y_{0}\geq \hat{%
\delta}$ or $i_{0}$ does not exist, apply classical method to encode.
\end{itemize}

\bigskip

We have conclusion that the closest codevector $c[i_{0}]$ of vector $x\in
T-S $ is included in the neighborhood $\Omega (c[h])$ of step 7 (see figure
1). The reason is that $d(x,c[j])\geq d(c[j],c[h])-d(c[h],x)>\hat{\delta}$
for an arbitrary $c[j]\notin \Omega (c[h])$.

The hybrid idea of sub-procedure 2 is that applying the iteration $%
G_{inequality}$ repeatedly to find a neighborhood $\Omega (c[h])$ which
comprises very few elements, then full search the neighborhood classically
to find the solution.

In addition, the set $I-T$ comprises very few vectors statistically and
classical method is applied to encode vector $x\in I-T$.

Figure 1 illustrates the hybrid idea of sub-procedure 2.

\bigskip

\bigskip 
\begin{tabular}{c}
{\LARGE Insert Figure 1 Here}%
\end{tabular}

\bigskip

The iteration $G_{inequality}$ is embedded in the BBHT algorithm in
sub-procedure 2. The case of no solution is handled by BBHT algorithm \cite%
{8}. The iteration $G_{inequality}$ acts only on $N-$ dimensional subspace 
\cite{9,11}. Thus, the number of performing the iteration $G_{inequality}$
in sub-procedure 2 is not bigger than $\frac{9}{4}\sqrt{\frac{N}{Inf_{\Omega
}}}$ when $Inf_{\Omega }\ll N$.

The four statistical properties of image for VQ are listed below (see figure
2):

\bigskip

\begin{itemize}
\item[Property 1] Almost feature vectors $x$ concentrate on themselves
centroids generally. That is, almost vectors $x\in I$ are included in set $S$%
. The solution is \textit{unique} for $x\in S$.

\item[Property 2] The set $T-S$ comprises the points of near edges of image
in practice. The solution is included in a small neighborhood $\Omega (c[h])$
for input vector $x\in T-S$.

\item[Property 3] The set $I-T$ comprises special points such as very detail
points or points at edges maybe.

\item[Property 4] Let $\mid S\mid :\mid T-S\mid :\mid I-T\mid =a:b:c$.
Statistically, we have (see figure 2)
\end{itemize}

\ \ \ \ \ $80\%\leq a\leq 99\%$, $1\%\leq b\leq 19\%$, and $c<1\%$

\bigskip

Therefore, the time complexity of the whole quantum encoding algorithm is
less than $\sqrt{N}$ statistically.

The phenomenon should be noticed, that the above properties are \textit{not}
powerful for classical methods to solve the open problem of the fast
encoding of VQ, by contrast, it \textit{is} powerful for quantum methods.%
\newline

Figure 2 shows these statistical properties of image.

\bigskip

\bigskip 
\begin{tabular}{c}
{\LARGE Insert Figure 2 Here}%
\end{tabular}

\bigskip

The hybrid algorithm is not only an image compression method, but also it
can be applied to image recognition \cite{12}.

\section{The Cost Physical Resource for Accessorial Data Structure}

The main accessorial resource is cost to save the classical data structure
of all neighborhoods $\Omega (c[i])$. And the data structure can be
constructed using adjacency list technique \cite{13} before encoding.
Adjacency list technique is a basic technique, and it is applied on image
compression usually \cite{1}$\ $. The adjacency list to save all $\Omega
(c[i])$ can be constructed by the following method \cite{13}:\newline

First, Allocate a single list to save all neighbors of each codevector $c[i]$%
, where $c[i]\in C$(i.e., centroid in figure 2) and $i=0,1,...,(N-1)$.

Second, All of the addresses of all single lists are saved in an array.

The structure of the adjacency list is diagrammatized in figure 3.\newline

It is easy to estimate the space complexity of the adjacency list$^{[13]}$.
The total number of the classical bits required to save the adjacency list
is approximately $\sum\limits_{i=0}^{N-1}(\mid \Omega (c[i])\mid +1)(\log
_{2}N+4\times 8)$ (bits). In general, $\mid \Omega (c[i])\mid $ is very
small (see figure 2).

Therefore, the space complexity is $O(N\log _{2}N)$ bits approximately and
it is very good.

It's very easy to realize the adjacency list for modern electronic computer 
\cite{13}. Therefore, it's a good tradeoff that costing $O(N\log _{2}N)$
classical bits to permute the running time by decreasing 45 factor than the
pure quantum algorithm presented in Ref.\cite{11}.

\bigskip

\bigskip 
\begin{tabular}{c}
{\LARGE Insert Figure 3 Here}%
\end{tabular}

\section{Conclusion}

VQ has high compression ratio and simple structure. However, the performance
comes at the cost of increased computational complexity. Fast encoding of VQ
is an open problem and is one of two key techniques of VQ. Many classical
encoding algorithms of VQ that can obtain global optimal solution have
computational complexity $O(N)$. In this paper, a hybrid quantum VQ encoding
algorithm between classical method and quantum algorithm is presented. The
number of its operations is less than $\sqrt{N}$ for most images. It's a
good tradeoff that costing $O(N\log _{2}N)$ classical bits to permute the
running time by decreasing 45 factor than the pure quantum algorithm in
Ref.[11].

\begin{acknowledgments}
The authors would like to thank prof.Valery Gorbachev for useful discussions
and comments, who is at St.-Petersburg State Uni. of AeroSpace
Instrumentation. The authors would like to very thank one of reviewers by
who the topic of section 3 of this paper is suggested. The authors thank
Prof. Z.-F. Han for his encouragement to us. The authors thank Y.-J. Han for
the very significant discussing with him especially. The authors thank Y-F
Huang, P.-X Chen, Y.-S. Zhang, J.-M. Cai and other colleagues for the
discussing with them. The authors thank Prof. J. Zhang and Prof. Z.-L. Pu,
of Sichuan Normal Univ. for his important support and help.
\end{acknowledgments}

\bigskip

\bigskip

\begin{thebibliography}{99}
\bibitem{1} Pang C Y 2002 Vector Quantization and Image Compression,
Doctoral Dissertation, (University of Electronic Science and Technology of
China, Chengdu.) (in Chinese)

\bibitem{2} Pang C Y, Sun S X, Pan Y, and Gong H Y 2002 Journal of
Electronics and Information Technology 24 pp.1282-1286

\bibitem{3} Grover L K 1996 Proc. 28th ACM symposium on Theory of
Computing(STOC) pp.212-218.

\bibitem{4} Li D F 2006 quant-ph/0603204

\bibitem{5} Long G L 2001 Phys. Rev. A 64 022307

\bibitem{6} Xiao L and Long G L, 2002, Phys. Rev. A 66 052320

\bibitem{7} Long G L and Xiao L, 2004, Phys. Rev. A 69 052303

\bibitem{8} Boyer M, Brassard G, H{�}yer P, and Tap A 1996 quant-ph/9605034 (%
\textbf{Journal-ref:} 1998 Fortsch. Phys. 46 pp493-506).

\bibitem{9} Pang C Y, Zhou Z W, and Guo G C 2006 quant-ph/0601043

\bibitem{10} Latorre J I 2005 quant-ph/0510031

\bibitem{11} Pang C Y, Zhou Z W, Chen P X, and Guo G C 2006 Chinese Physics
15 pp.618-623.

\bibitem{12} Ren H P, Ping Z L, Bo W R G, Sheng Y L, Chen S Z, Wu W K, 2003
Chinese Physics 12 pp.610-614.

\bibitem{13} Yan W M, Wu W M, 1992, Data Structure, Tsinghua Uni. Press.
\end{thebibliography}

\bigskip

\bigskip

\bigskip

\bigskip

\bigskip

\bigskip

\bigskip

\bigskip

\bigskip

\bigskip

\bigskip

\bigskip

\bigskip

\bigskip

\bigskip

\bigskip

\bigskip

\bigskip

\bigskip

\bigskip

\bigskip

\bigskip

\bigskip

\bigskip

\bigskip

\bigskip

\bigskip

\bigskip

\bigskip

\bigskip

\bigskip

\bigskip

\bigskip

\bigskip

\bigskip

\bigskip

\bigskip

\section{Figures}

\begin{figure}[h]
\begin{center}
\includegraphics[height=226pt,width=372pt]{Fig1}
\end{center}
\caption{The illustration of the hybrid idea of sub-procedure 2: \newline
{\protect\small 1. Embed the iteration }$G_{inequality}$ {\protect\small in
BBHT algorithm and apply the iteration repeatedly. This quantum method will
find a neighborhood }$\Omega (c[h])${\protect\small . \newline
2. The global optimal solution }$c[i_{0}]\in \Omega (c[h])${\protect\small ,
and there are very few elements in }$\Omega (c[h])${\protect\small .
Therefore, we can classically search }$\Omega (c[h])$ {\protect\small to
obtain solution.}}
\label{Fig1}
\end{figure}

\bigskip

\begin{figure}[tbp]
\begin{center}
\includegraphics[height=291pt,width=490pt]{Fig2}
\end{center}
\caption{The illustration of the properties of image that is applied to
design the hybrid algorithm:\newline
{\protect\small (Image Lena with size}$256\times 256${\protect\small \ is
divided into }$2\times 1${\protect\small \ image blocks to form vectors 
\protect\cite{1}.)}\newline
{\protect\small 1. Almost feature vectors }$x${\protect\small \ concentrate
on themselves centroids generally. And the solution is unique for }$x\in S$%
\newline
{\protect\small 2. The set }$T-S${\protect\small \ comprises the points of
near edges of image and it includes few points in practice. And the solution
is included in a small set }$\Omega (c[h])${\protect\small for }$x\in T-S$%
{\protect\small .} {\protect\small \newline
3. The set }$I-T${\protect\small \ comprises special points such as very
detail points or points at edges maybe. \newline
4. Statistically, }$\mid S\mid >>\mid T-S\mid >>>\mid I-T\mid $%
{\protect\small \newline
The above four statistical properties of image for VQ are applied to
accelerate the quantum algorithm: \newline
1. Sub-procedure 1 acts on the set }$S${\protect\small \ with time
complexity }$\left[ \frac{\protect\pi }{4}\protect\sqrt{N}\right] $%
{\protect\small \ approximately. \newline
2. Sub-procedure 2 acts on the set }$T-S${\protect\small \ with time
complexity less than }$\protect\sqrt{N}${\protect\small \ approximately. 
\newline
3. Classical full search algorithm acts on }$I-T${\protect\small . \newline
The phenomenon should be noticed, that these properties are not powerful for
classical methods to solve the open problem of the fast encoding of VQ, by
contrast, it is powerful for quantum methods.} }
\label{Fig2}
\end{figure}

\bigskip

\bigskip

\begin{figure}[tbp]
\begin{center}
\includegraphics[height=175pt,width=484pt]{Fig3}
\end{center}
\caption{Fig. 3 The illustration of the adjacency list to save all
neighborhoods $\Omega (c[i])$: \newline
Each single list saves all neighbors of $c[i]$. The space complexity of the
adjacency list is $O(N\log _{2}N)$ and it is very good. It's very easy to
realize the adjacency list for modern electronic computer. Therefore, it's a
good tradeoff that costing $O(N\log _{2}N)$ classical bits to permute the
running time by decreasing 45 factor than the pure quantum algorithm in Ref.%
\protect\cite{11}.}
\label{Fig3}
\end{figure}

\bigskip

\end{document}

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)}}
\def\@TCItagstar*#1{%
    \global\tag@true
    \global\def\@taggnum{#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)}}
 \def\@TCItagstar*#1{%
     \global\tag@true
     \global\def\@taggnum{#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

cs0605002.extracted_bib
\begin{thebibliography}{99}
\bibitem{1} Pang C Y 2002 Vector Quantization and Image Compression,
Doctoral Dissertation, (University of Electronic Science and Technology of
China, Chengdu.) (in Chinese)

\bibitem{2} Pang C Y, Sun S X, Pan Y, and Gong H Y 2002 Journal of
Electronics and Information Technology 24 pp.1282-1286

\bibitem{3} Grover L K 1996 Proc. 28th ACM symposium on Theory of
Computing(STOC) pp.212-218.

\bibitem{4} Li D F 2006 quant-ph/0603204

\bibitem{5} Long G L 2001 Phys. Rev. A 64 022307

\bibitem{6} Xiao L and Long G L, 2002, Phys. Rev. A 66 052320

\bibitem{7} Long G L and Xiao L, 2004, Phys. Rev. A 69 052303

\bibitem{8} Boyer M, Brassard G, H{�}yer P, and Tap A 1996 quant-ph/9605034 (%
\textbf{Journal-ref:} 1998 Fortsch. Phys. 46 pp493-506).

\bibitem{9} Pang C Y, Zhou Z W, and Guo G C 2006 quant-ph/0601043

\bibitem{10} Latorre J I 2005 quant-ph/0510031

\bibitem{11} Pang C Y, Zhou Z W, Chen P X, and Guo G C 2006 Chinese Physics
15 pp.618-623.

\bibitem{12} Ren H P, Ping Z L, Bo W R G, Sheng Y L, Chen S Z, Wu W K, 2003
Chinese Physics 12 pp.610-614.

\bibitem{13} Yan W M, Wu W M, 1992, Data Structure, Tsinghua Uni. Press.
\end{thebibliography}