# Number theory¶

This chapter describes functions that are of interest in number theory. These functions typically operate on integers. Some of these functions work quite slowly.

IsPrime(n)

test for a prime number

Param n

integer to test

IsComposite(n)

test for a composite number

Param n

positive integer

IsCoprime(m, n)

test if integers are coprime

Param m

positive integer

Param n

positive integer

Param list

list of positive integers

IsSquareFree(n)

test for a square-free number

Param n

positive integer

IsPrimePower(n)

test for a power of a prime number

Param n

integer to test

NextPrime(i)

generate a prime following a number

Param i

integer value

IsTwinPrime(n)

test for a twin prime

Param n

positive integer

IsIrregularPrime(n)

test for an irregular prime

Param n

positive integer

IsCarmichaelNumber(n)

test for a Carmichael number

Param n

positive integer

Factors(x)

factorization

Param x

integer or univariate polynomial

IsAmicablePair(m, n)

test for a pair of amicable numbers

Param m

positive integer

Param n

positive integer

Factor(x)

factorization, in pretty form

Param x

integer or univariate polynomial

Divisors(n)

number of divisors

Param n

positive integer

DivisorsSum(n)

the sum of divisors

Param n

positive integer

ProperDivisors(n)

the number of proper divisors

Param n

positive integer

ProperDivisorsSum(n)

the sum of proper divisors

Param n

positive integer

Moebius(n)

the Moebius function

Param n

positive integer

CatalanNumber(n)

return the n-th Catalan Number

Param n

positive integer

FermatNumber(n)

return the n-th Fermat Number

Param n

positive integer

HarmonicNumber(n)

return the n-th Harmonic Number

Param n

positive integer

Param r

positive integer

StirlingNumber1(n, m)

return the n,m-th Stirling Number of the first kind

Param n

positive integers

Param m

positive integers

StirlingNumber1(n, m)

return the n,m-th Stirling Number of the second kind

Param n

positive integer

Param m

positive integer

DivisorsList(n)

the list of divisors

Param n

positive integer

SquareFreeDivisorsList(n)

the list of square-free divisors

Param n

positive integer

MoebiusDivisorsList(n)

the list of divisors and Moebius values

Param n

positive integer

SumForDivisors(var, n, expr)

loop over divisors

Param var

atom, variable name

Param n

positive integer

Param expr

expression depending on var

RamanujanSum(k, n)

compute the Ramanujan’s sum

Param k

positive integer

Param n

positive integer

This function computes the Ramanujan’s sum, i.e. the sum of the n-th powers of the k-th primitive roots of the unit:

$\sum_{l=1}^k\frac{\exp(2ln\pi\imath)}{k}$

where $$l$$ runs thought the integers between 1 and k-1 that are coprime to $$l$$. The computation is done by using the formula in T. M. Apostol, <i>Introduction to Analytic Theory</i> (Springer-Verlag), Theorem 8.6.

Todo

check the definition

PAdicExpand(n, p)

Param n

number or polynomial to expand

Param p

base to expand in

IsQuadraticResidue(m, n)

functions related to finite groups

Param m

integer

Param n

odd positive integer

GaussianFactors(z)

factorization in Gaussian integers

Param z

Gaussian integer

GaussianNorm(z)

norm of a Gaussian integer

Param z

Gaussian integer

IsGaussianUnit(z)

test for a Gaussian unit

Param z

a Gaussian integer

IsGaussianPrime(z)

test for a Gaussian prime

Param z

a complex or real number

GaussianGcd(z, w)

greatest common divisor in Gaussian integers

Param z

Gaussian integer

Param w

Gaussian integer