where represents multiplication. This function is similar to the Maths/Combinatorics/Permutations/Inverse component, with the
benefit that it is more suited for permutations of larger size.
Example:
#include <codecogs/maths/combinatorics/permutations/inverse_large.h>#include <iostream>int main(){int sigma[5] = {3, 1, 2, 5, 4};
std::vector<int> result = Maths::Combinatorics::Permutations::inverse_large(5, sigma);
std::cout << "The inverse of the Sigma permutation is: ";
std::cout << std::endl;
for(int i = 0; i < 5; i++)
std::cout << result[i] << " ";
std::cout << std::endl;
return0;
}
Output:
The inverse of the Sigma permutation is:
23154
References:
SUBSET, a C++ library of combinatorial routines, http://www.csit.fsu.edu/~burkardt/cpp_src/subset/subset.html