\documentclass[11pt]{article}

\usepackage{fullpage}
%\usepackage{epic}
%\usepackage{eepic}
\usepackage{psfig}

%\newcommand{\proof}[1]{
%{\noindent {\it Proof.} {#1} \rule{2mm}{2mm} \vskip \belowdisplayskip}
%}


%\newtheorem{lemma}{Lemma}[section]
%\newtheorem{theorem}[lemma]{Theorem}
%\newtheorem{claim}[lemma]{Claim}
%\newtheorem{definition}[lemma]{Definition}
%\newtheorem{corollary}[lemma]{Corollary}

%Theorems and likes
\newtheorem{assumption}{Assumption}[section]
\newtheorem{theorem}{Theorem}[section]
\newtheorem{fact}{Fact}[section]
\newtheorem{claim}{Claim}[section]
\newtheorem{lemma}{Lemma}[section]
\newtheorem{definition}{Definition}[section]
\newtheorem{corollary}{Corollary}[section]


\newcommand{\bproof}{\noindent{\it Proof}}
%\newcommand{\eproof}{\hspace*{\fill}$\Box$~~~~~\bigskip}
\newcommand{\eproof}{\hspace*{\fill}\rule{2mm}{2mm}~~~~~\bigskip}
\newenvironment{proof}{\bproof: }{\eproof}

% symbols and notation
\newcommand{\defeq}{\stackrel{\rm def}{=}}


\setlength{\oddsidemargin}{0in}
\setlength{\topmargin}{0in}
\setlength{\textwidth}{6in}
\setlength{\textheight}{8in}

\begin{document}

\setlength{\fboxrule}{.5mm}\setlength{\fboxsep}{1.2mm}
\newlength{\boxlength}\setlength{\boxlength}{\textwidth}
\addtolength{\boxlength}{-4mm}
\begin{center}\framebox{\parbox{\boxlength}{\bf
CS 681: Computational Number Theory and Algebra \hfill Lecture 29
\\
Lecturer: Manindra Agrawal \hfill
Notes by: Ashwini Aroskar
%\\
\begin{flushright}
%date
October 28, 2005.
\end{flushright}
}}\end{center} \vspace{5mm}
\textbf{Idea}: Given $v_1$, $v_2$,
..., $v_n$, compute $v_1^*$, $v_2^*$, ..., $v_n^*$ and sort $v_1$,
$v_2$, ..., $v_n$ in
increasing order of $\vert v_n^* \vert$\\
The reordered sequence $v_1'$, $v_2'$, ..., $v_n'$ is a reduced
basis, but as we cannot claim $v_1' = v_1'^*$, the proof of the
earlier lemma about a reduced basis does not go through. Hence, we
cannot get the shortest vector in this manner.

%\begin{fact}
%\label{first-fact}
%\end{fact}


\section*{First Algorithm proposed}
\textbf{Input}: $v_1$, $v_2$, ..., $v_n$\\
\\
\textbf{Step 1}: Compute $u_1$, $u_2$, ..., $u_n$ from $v_1$,
$v_2$, ..., $v_n$ using 'approximate orthogonalization' process\\
\textbf{Step 2}: Check if $u_1$, $u_2$, ..., $u_n$ is a reduced
basis\\
If not suppose the first violation occurs at index $i$.\\
\textbf{Step 3}: Swap $u_i$ and $u_{i+1}$, rename the sequence
$v_1$, $v_2$, ..., $v_n$ and goto Step 1\\
\\
This algorithm stops only if we have a reduced basis.
\section*{Analysis of the above algorithm}
$u_i^* = u_i - \sum_{j<i}\lceil \mu_{ij} \rfloor u_j$\\
\\
Denote the sequence as $\hat{u}_1, \hat{u}_2,...\hat{u}_n$ after
the swap.\\
But we want $\hat{u}_j^* = u_j^*$ for all $j<i$ and $j>i$\\
Therefore we modify the above algorithm.
\section*{Modified Algorithm}
\textbf{Input}: $v_1$, $v_2$, ..., $v_n$\\
\\
\textbf{Step 0}: Let $u_i = v_i$\\
\textbf{Step 1}: for$(i=1; i\leq n; )$ \{ \\
\textbf{Step 2}: \quad Compute $u_i = v_i - \sum_{j<i}\lceil
\mu_{ij} \rfloor u_j$\\
\& \quad \quad \quad \quad \quad \quad \quad \quad $u_i^* = v_i^* - \sum_{j<i}\lceil \mu_{ij} \rfloor u_j^*$\\
\textbf{Step 3}:\quad \quad \quad \quad \quad \quad Check if
$\vert u_{i+1}^* \vert \leq 2\vert u_i^*\vert ^2$\\
\textbf{Step 4}:\quad \quad \quad \quad \quad \quad If not, swap
$u_{i+1}$ and $u_i$ and let $ i=i-1$\\
\textbf{Step 5}:\quad \quad \quad \quad \quad \quad else let
$i=i+1$\\
\} \\
The analysis of the modified algorithm will follow in the
next class.

\end{document}
