FLINT Arithmetic Functions¶
-
sage.libs.flint.arith.
bell_number
(n)¶ Returns the \(n\) th Bell number.
EXAMPLES:
sage: from sage.libs.flint.arith import bell_number sage: [bell_number(i) for i in range(10)] [1, 1, 2, 5, 15, 52, 203, 877, 4140, 21147] sage: bell_number(10) 115975 sage: bell_number(40) 157450588391204931289324344702531067 sage: bell_number(100) 47585391276764833658790768841387207826363669686825611466616334637559114497892442622672724044217756306953557882560751
-
sage.libs.flint.arith.
bernoulli_number
(n)¶ Return the \(n\)-th Bernoulli number.
EXAMPLES:
sage: from sage.libs.flint.arith import bernoulli_number sage: [bernoulli_number(i) for i in range(10)] [1, -1/2, 1/6, 0, -1/30, 0, 1/42, 0, -1/30, 0] sage: bernoulli_number(10) 5/66 sage: bernoulli_number(40) -261082718496449122051/13530 sage: bernoulli_number(100) -94598037819122125295227433069493721872702841533066936133385696204311395415197247711/33330
-
sage.libs.flint.arith.
dedekind_sum
(p, q)¶ Return the Dedekind sum \(s(p, q)\) where \(p\) and \(q\) are arbitrary integers.
EXAMPLES:
sage: from sage.libs.flint.arith import dedekind_sum sage: dedekind_sum(4, 5) -1/5
-
sage.libs.flint.arith.
euler_number
(n)¶ Return the Euler number of index \(n\).
EXAMPLES:
sage: from sage.libs.flint.arith import euler_number sage: [euler_number(i) for i in range(8)] [1, 0, -1, 0, 5, 0, -61, 0]
-
sage.libs.flint.arith.
harmonic_number
(n)¶ Returns the harmonic number
H_n
.EXAMPLES:
sage: from sage.libs.flint.arith import harmonic_number sage: n = 500 + randint(0,500) sage: bool( sum(1/k for k in range(1,n+1)) == harmonic_number(n) ) True
-
sage.libs.flint.arith.
number_of_partitions
(n)¶ Returns the number of partitions of the integer
n
.EXAMPLES:
sage: from sage.libs.flint.arith import number_of_partitions sage: number_of_partitions(3) 3 sage: number_of_partitions(10) 42 sage: number_of_partitions(40) 37338 sage: number_of_partitions(100) 190569292 sage: number_of_partitions(100000) 27493510569775696512677516320986352688173429315980054758203125984302147328114964173055050741660736621590157844774296248940493063070200461792764493033510116079342457190155718943509725312466108452006369558934464248716828789832182345009262853831404597021307130674510624419227311238999702284408609370935531629697851569569892196108480158600569421098519
TESTS:
sage: n = 500 + randint(0,500) sage: number_of_partitions( n - (n % 385) + 369) % 385 == 0 True sage: n = 1500 + randint(0,1500) sage: number_of_partitions( n - (n % 385) + 369) % 385 == 0 True sage: n = 1000000 + randint(0,1000000) sage: number_of_partitions( n - (n % 385) + 369) % 385 == 0 True sage: n = 1000000 + randint(0,1000000) sage: number_of_partitions( n - (n % 385) + 369) % 385 == 0 True sage: n = 1000000 + randint(0,1000000) sage: number_of_partitions( n - (n % 385) + 369) % 385 == 0 True sage: n = 1000000 + randint(0,1000000) sage: number_of_partitions( n - (n % 385) + 369) % 385 == 0 True sage: n = 1000000 + randint(0,1000000) sage: number_of_partitions( n - (n % 385) + 369) % 385 == 0 True sage: n = 1000000 + randint(0,1000000) sage: number_of_partitions( n - (n % 385) + 369) % 385 == 0 True sage: n = 100000000 + randint(0,100000000) sage: number_of_partitions( n - (n % 385) + 369) % 385 == 0 # long time True