FUNCTION
bell_numbers_list
Returns the Bell numbers of order 0 to n.
You're viewing an older version of this page (#276). View the current version.
Interface
#include <codecogs/maths/combinatorics/sequences/bell_numbers_list.h>
using namespace Maths::Combinatorics::Sequences;
The Bell number is defined as the number of partitions (of any size) of a set into n distinguishable objects.
It is also the number of restricted growth functions on . Note that the Stirling numbers of the second kind,
, count the number of partitions of n objects into m classes, and so it is true that
For example, there are 15 partitions of a set of 4 objects:
and so . The recurrence relation used with this function to calculate the Bell number of order i is as follows:
where i takes values from 0 to n.
References
SUBSET, a C++ library of combinatorial routines, http://www.csit.fsu.edu/~burkardt/cpp_src/subset/subset.html
Example 1
#include <codecogs/maths/combinatorics/sequences/bell_numbers_list.h>
#include <iostream>
int main() {
std::vector<int> result = Maths::Combinatorics::Sequences::bell_numbers_list(5);
std::cout << "Number of values: " << result.size() << std::endl;
for (int i = 0; i < result.size(); i++)
std::cout << result[i] << " ";
std::cout << std::endl;
return 0;
}Output
Number of values: 6
1 1 2 5 15 52