Return a logical array which is true where the elements of x are prime numbers and false where they are not.
A prime number is conventionally defined as a positive integer greater than
1 (e.g., 2, 3, …) which is divisible only by itself and 1. Octave
extends this definition to include both negative integers and complex
values. A negative integer is prime if its positive counterpart is prime.
This is equivalent to isprime (abs (x))
.
If class (x)
is complex, then primality is tested in the domain
of Gaussian integers (http://en.wikipedia.org/wiki/Gaussian_integer).
Some non-complex integers are prime in the ordinary sense, but not in the
domain of Gaussian integers. For example, 5 = (1+2i)*(1-2i) shows
that 5 is not prime because it has a factor other than itself and 1.
Exercise caution when testing complex and real values together in the same
matrix.
Examples:
isprime (1:6) ⇒ [0, 1, 1, 0, 1, 0]
isprime ([i, 2, 3, 5]) ⇒ [0, 0, 1, 0]
Programming Note: isprime
is appropriate if the maximum value in
x is not too large (< 1e15). For larger values special purpose
factorization code should be used.
Compatibility Note: matlab does not extend the definition of prime numbers and will produce an error if given negative or complex inputs.
See also: primes, factor, gcd, lcm.
Package: octave