\hyphenation{op-tical net-works semi-conduc-tor}
+
+\usepackage{algorithm}
+\usepackage{algpseudocode}
+
+\algnewcommand\algorithmicinput{\textbf{Input:}}
+\algnewcommand\Input{\item[\algorithmicinput]}
+
+\algnewcommand\algorithmicoutput{\textbf{Output:}}
+\algnewcommand\Output{\item[\algorithmicoutput]}
+
+
+
\begin{document}
%
% paper title
%%%*********************************************************
%%%*********************************************************
\section{A Krylov two-stage algorithm}
+
+
+\begin{algorithm}[!h]
+\caption{A Krylov two-stage algorithm}
+\begin{algorithmic}[1]
+\Input $A$ (sparse matrix), $b$ (right-hand side)
+\Output $x$ (solution vector)\vspace{0.2cm}
+\State Set the initial guess $x^0$
+\For {$k=1,2,3,\ldots$ until convergence}
+\State Solve iteratively $Ax^k=b$
+\State Add vector $x^k$ to Krylov basis $S$
+\If {$k$ mod $s=0$ {\bf and} not convergence}
+\State Compute dense matrix $R=AS$
+\State Solve least-squares problem $\|b-R\alpha\|_2$
+\State Compute minimizer $x^k=S\alpha$
+\State Reinitialize Krylov basis $S$
+\EndIf
+\EndFor
+\end{algorithmic}
+\label{algo:01}
+\end{algorithm}
%%%*********************************************************
%%%*********************************************************