## `nextprime` -- the next prime number

#### Introduction

`nextprime``(m)` returns the smallest prime number larger than or equal to `m`.

#### Call(s)

`nextprime(m)`

#### Parameters

`m` | - | an arithmetical expression

#### Returns

a prime number or a symbolic call to `nextprime`.

#### Related Functions

`ifactor`, `igcd`, `ilcm`, `isprime`, `ithprime`, `numlib::prevprime`

#### Details

- If the argument `m` is an integer, then `nextprime` returns the smallest prime number larger than or equal to `m`. A symbolic call of type `"nextprime"` is returned, if the argument is not of type `Type::Numeric`. An error occurs if the argument is a number that is not an integer.
- The first prime number is 2.
- `nextprime` is a function of the system kernel.

#### Example 1

The first prime number is computed:

    >> nextprime(-13)

                                         2

If the argument of `nextprime` is a prime number, this number is returned:

    >> nextprime(11)

                                        11

We compute a large prime:

    >> nextprime(56475767478567)

                                  56475767478601

Symbolic arguments lead to a symbolic call:

    >> nextprime(x)

                                   nextprime(x)

#### Background

- `nextprime` uses a fast probabilistic prime number test (Miller-Rabin test) to decide if the computed result is a prime number. The result returned by `nextprime` is either a prime number or a strong pseudo-prime for 10 randomly chosen bases.
- Reference: Michael O. Rabin, Probabilistic algorithms, in J. F. Traub, ed., Algorithms and Complexity, Academic Press, New York, 1976, pp. 21-39.

#### Changes

- no changes

Do you have questions or comments?
Copyright © SciFace Software GmbH & Co. KG 2000