collatz


collatz, a MATLAB code 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.

Licensing:

The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.

Languages:

collatz is available in a MATLAB version.

Related Data and Programs:

collatz_test

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

polpak, a MATLAB code which includes the routine collatz_count for counting the length of a Collatz sequence.

sequence_streak_display, a MATLAB code which can display a "streak plot" of a van der Corput sequence.

Reference:

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

Source Code:


Last revised on 14 December 2018.