# COLLATZ The Collatz Sequence

COLLATZ is a MATLAB library which computes the Collatz sequence.

The rules for generation of the Collatz sequence are recursive. If T is the current entry of the sequence, (T is assumed to be a positive integer), then the next entry, U is determined as follows:

1. if T is 1, terminate the sequence;
2. else if T is even, U = T/2.
3. else (if T is odd and not 1), U = 3*T+1;

Although the Collatz sequence seems to be finite for every starting point, this has not been proved. Over the range of starting values that have been examined, a great irregularity has been observed in the number of entries in the corresponding sequence.

The Collatz sequence is also known as the "hailstone" sequence or the "3n+1" sequence.

### Languages:

COLLATZ is available in a JAVA version and a MATHEMATICA version and a MATLAB version and a PERL version.

### Related Data and Programs:

COLLATZ_PARFOR, a MATLAB program which seeks the maximum Collatz sequence between 1 and N; it runs in parallel using MATLAB's "parfor" facility.

COLLATZ_RECURSIVE, a MATLAB library which demonstrates recursive programming by considering the simple Collatz 3n+1 problem.

POLPAK, a MATLAB library which includes the routine collatz_count for counting the length of a Collatz sequence.

SEQUENCE_STREAK_DISPLAY, a MATLAB program which can display a "streak plot" of a van der Corput sequence.

TABLE, a data format which is used for the file output by COLLATZ_WRITE.

### Reference:

1. Eric Weisstein,
"The Collatz Problem",
CRC Concise Encyclopedia of Mathematics,
CRC Press, 2002,
Second edition,
ISBN: 1584883472,
LC: QA5.W45.

### Source Code:

• collatz.m, computes the Collatz sequence for a given starting point;
• collatz_count.m, returns the number of entries in the Collatz sequence for a given starting point;
• collatz_max.m, returns the maximum entry in the Collatz sequence for a given starting point;
• collatz_write.m, writes a Collatz sequence to a file;
• timestamp.m, prints the current YMDHMS date as a timestamp;

### Examples and Tests:

You can go up one level to the MATLAB source codes.

Last revised on 22 May 2012.