It is not completely clear to me which algorithm typesetting package are you using, since you did not include the document preamble, and your code is a strange jumble of several different syntaxes, mostly looking like the old algorithms
package syntax, but not quite. Your tags seem to indicate that you are using the algorithmicx
bundle, so I assume that you use the algpseudocode
package. You need to correct some syntax, for example algpseudocode
does noy capitalize command, only first letter, so you should have \If ... \Else ... \EndIf
etc.
Also, command \For
and \If
take an argument, so you need
\If{something something}
The \If
does not use \Then
, you should leave that out.
Every line must have a command, so you should either define your own commands for things like "Given:", or just use \State
.
The following will hopefully do what you expect it to do:
\documentclass{article}
\usepackage{algpseudocode}
\usepackage{algorithm}
\begin{document}
\begin{algorithm}
\caption{Blah blah}
\begin{algorithmic}[1]
\State Given: User-Noun Matrix $X$
\For{$i = 1 \to n$}
\State Let $S_i$ = {$s{i,j}$ | $0\le j \le l_i$} be set of nodes which have links to $i$;
\If{$\left(l_i=0 \hbox{OR} l_i=1 \right)$}
\State $b_i=0$;
\Else
\State Compute the similarity score vectors $r_{s,1},r_{s,2},...,r_{s,l_i}$ for each $S_i=s_1,s_2,...s_{l_i}$; \\
\State Construct $l_i \times l_i$ matrix $R_i= \left[r_{s,1},r_{s,2},...,r_{s,l_i}\right]$;
\State Take the average of all non-diagonal elements in $R_i$ to obtain $\hat{r_s}$;
\State $b_i= 1/\hat{r_s}$;
\EndIf
\EndFor
\State \Return vector $b$ of bridging scores;
\end{algorithmic}
\end{algorithm}
\end{document}
The algorithmicx
bundle have pretty good documentation with a number of examples, I suggest you take a look at it.
Best Answer
algorithmic
is actually a list, so I'd suggest one of two options. First, use the functionality ofalgorithmicx
by setting your "stage headings" manually:You don't have to number the lines. I just used
\begin{algorithmic}[1]
to do so.Second, remove the
algorithmic
environment altogether:Note, not
algpseudocode
required in the second option.