# Math-Linux.com

Knowledge base dedicated to Linux and applied mathematics.

Home > Latex > FAQ > Latex - FAQ > How to write algorithm and pseudocode in Latex ?\usepackagealgorithm,\usepackage

## How to write algorithm and pseudocode in Latex ?\usepackage{algorithm},\usepackage{algorithmic}

We must use the following packages

\usepackage{algorithm} \usepackage{algorithmic}

Here is an exemple:

\begin{algorithm} \caption{Calculate $y = x^n$} \begin{algorithmic} \REQUIRE $n \geq 0 \vee x \neq 0$ \ENSURE $y = x^n$ \STATE $y \leftarrow 1$ \IF{$n < 0$} \STATE $X \leftarrow 1 / x$ \STATE $N \leftarrow -n$ \ELSE \STATE $X \leftarrow x$ \STATE $N \leftarrow n$ \ENDIF \WHILE{$N \neq 0$} \IF{$N$ is even} \STATE $X \leftarrow X \times X$ \STATE $N \leftarrow N / 2$ \ELSE[$N$ is odd] \STATE $y \leftarrow y \times X$ \STATE $N \leftarrow N - 1$ \ENDIF \ENDWHILE \end{algorithmic} \end{algorithm}

Here are useful commands

### Single line statements

\STATE <text>

### If-statements

\IF{<condition>} <text> \ENDIF \IF{<condition>} <text> \ELSE <text> \ENDIF \IF{<condition>} <text> \ELSIF{<condition>} <text> \ELSE <text> \ENDIF

### For-loops

There are two forms

\FOR{<condition>} <text> \ENDFOR \FORALL{<condition>} <text> \ENDFOR

### While-loops

\WHILE{<condition>} <text> \ENDWHILE

### Repeat until condition

\REPEAT <text> \UNTIL{<condition>}

### Infinite loops

\LOOP <text> \ENDLOOP

### Precondition

\REQUIRE <text>

### Postcondition

\ENSURE <text>

### Returning variables

\RETURN <text>

### Printing variables

\PRINT <text>

Note: Due to a bug, the algorithmic package is not compatible with hyperref.